クラウド・ストレージの受信アダプタ
受信アダプタにより、ビジネス・サービスはクラウドからデータを取得し、相互運用プロダクション内で処理することができます。このアダプタは、クラウド・ストレージからデータを取得し、InboundInputOpens in a new tab オブジェクトに配置します。これは、ビジネス・サービスがデータを処理するために使用するオブジェクトです。
受信アダプタのクラス名は EnsLib.CloudStorage.InboundAdapterOpens in a new tab です。
クラウド・ストレージに接続するために使用されるプロパティに加え、受信アダプタには、取得する BLOB や、アダプタによって取得された後でクラウド BLOB を削除するかどうかを決定するプロパティも含まれます。
BLOB の取得
受信アダプタには、クラウド・ストレージから取得する BLOB を決定する 2 つのプロパティ、Blob Name Prefix および Blob Name Pattern が含まれています。これらのプロパティがどのように連携するのかを理解するには、例を確認するのが最も簡単です。次の BLOB を含む AWS S3 バケットについて考えます。
foo/bar/baz foo/bar/bash foo/bar/bang foo/boo
AWS では BLOB 名に / を使用して仮想階層を作成します。これはファイル・システムがファイルをディレクトリに編成する方法に似ています。このスキーム内で、Blob Name Prefix はディレクトリ名のように機能します。例えば、foo/ ではすべての BLOB が選択され、foo/bar/ では最初の 3 つの BLOB が選択されます。これらの選択は、AWS サーバ側で行われます。
クライアントがサーバから BLOB のリストを取得すると、そのリストをさらにフィルタ処理するために Blob Name Pattern が使用されます。例えば、BlobNamePrefix="/foo/bar/" かつ BlobNamePattern="*ba?" の場合、アダプタは最初の BLOB のみを取得します。このフィルタ処理は、クライアント側で行われます。Blob Name Pattern プロパティは * と ? のワイルドカードをサポートしています。
Blob Name Prefix と Blob Name Pattern によって設定された条件に合う BLOB が複数存在する場合、アダプタは各 BLOB をそれぞれビジネス・サービスの別の InboundInput オブジェクトに転送します。
ビジネス・サービスの作成
受信アダプタを使用するためのカスタム・ビジネス・サービスを開発する際、ユーザは、最初の引数として EnsLib.CloudStorage.InboundInputOpens in a new tab オブジェクトを受け入れるように onProcessInput オブジェクトを定義する必要があります。受信アダプタは、クラウド・ストレージのデータをこのオブジェクト・タイプに配置します。ビジネス・サービスで InboundInput オブジェクトを操作する際には、その 3 つのプロパティ、Name (クラウド・ストレージ BLOB の名前)、Meta (クラウド・ストレージ BLOB に関連付けられたメタデータ)、および Content (クラウド・ストレージからのデータを含むストリーム) にアクセスできます。
カスタムのビジネス・サービスの開発に不慣れな場合、詳細は "ビジネス・サービスの定義" を参照してください。