2.5. Amazon Simple Storage Service (S3) への接続
インテグレーションは Amazon S3 バケットからデータを取得したり、Amazon S3 バケットへデータをコピーしたりすることができます。これには、Amazon S3 コネクションを作成し、そのコネクションをインテグレーションフローに追加します。詳細については、以下を参照してください。
2.5.1. Amazon S3 コネクションの作成
Amazon S3 コネクションをインテグレーションに追加する前に Amazon S3 コネクションを作成する必要があります。
前提条件
- AWS アクセスキーが必要です。AWS クレデンシャルの取得 を参照してください。
コネクションがアクセスするバケットがすでに存在する場合、以下を知っている必要があります。
- バケットのあるリージョン。
- バケットの名前または Amazon Resource Name (ARN)。
手順
- Fuse Online の左パネルで Connections をクリックし、利用可能なコネクションを表示します。
- Create Connection をクリックし、Fuse Online コネクターを表示します。
- Amazon S3 コネクターをクリックします。
Access Key フィールドに、Amazon アクセスキー ID を入力します。これは、コネクションがアクセスするバケットを管理する AWS アカウントのユーザーアクセスキーの一部です。
コネクションがアクセスするバケットが存在しない場合は、Fuse Online がインテグレーションの実行を開始しようとするときに、そのアクセスキーに関連する AWS アカウントを使用してバケットを作成します。しかし、他の AWS アカウントにバケットが存在する場合は、コネクションはバケットを作成できず、インテグレーションを開始できません。
- Secret Key フィールドに、指定した Amazon アクセスキー ID の Amazon シークレットアクセスキーを入力します。
- Region フィールドではバケットが存在する AWS リージョンを選択します。コネクションがバケットを作成する場合にここで選択されたリージョンに作成されます。
Bucket Name or Amazon Resource Name フィールドに、このコネクションがアクセスするバケットの名前またはバケットの ARN を入力します。
指定したバケットが存在しない場合、コネクションは指定した名前でバケットを作成しようとします。S3 では、バケットをパブリックにアクセスできる URL として使用することが可能であるため、指定するバケット名はグローバルで一意である必要があります。さらに、S3 バケットの命名要件 に準拠する必要があります。
- Validate をクリックします。Fuse Online は即座にコネクションの検証を試み、検証の成功または失敗を示すメッセージを表示します。検証に失敗した場合は、必要に応じて設定の詳細を修正し、再度検証を行います。
- 検証に成功したら Next をクリックします。
-
Name フィールドに、このコネクションを別のコネクションと区別するために使用する名前を入力します。たとえば、
Obtain S3 Data
を入力します。 -
Description は任意のフィールドで、このコネクションに関する便利な情報を入力します。たとえば、
Sample S3 connection that obtains data from a northeast bucket.
を入力します。 - Save をクリックし、作成したコネクションが利用可能になったことを確認します。上記の例の名前を入力した場合は、インテグレーションに追加できるコネクションとして Obtain S3 Data が表示されます。
2.5.2. Amazon S3 からデータを取得してインテグレーションの実行をトリガー
Amazon S3 バケットからデータを取得してインテグレーションを開始するには、Amazon S3 コネクションをシンプルなインテグレーションの最初のコネクションとして追加します。
前提条件
Amazon S3 コネクションが作成済みである必要があります。
手順
- Fuse Online パネルの左側にある Integrations をクリックします。
- Create Integration をクリックします。
- Choose a connection ページで、インテグレーションを開始するために使用する Amazon S3 コネクションをクリックします。
Choose an action ページで、コネクションが実行するアクションを選択します。
- Get Object は、コネクションがアクセスするバケットからファイルを取得します。File Name フィールドでは、取得するファイルの名前を入力します。指定したファイルがバケットにない場合は、ランタイムエラーが発生します。
Poll an Amazon S3 Bucket は、コネクションがアクセスするバケットからファイルを定期的に取得します。このアクションを設定するには、以下を行います。
- Delay フィールドで、デフォルトの 500 ミリ秒をポーリング間の経過時間として受け入れます。別のポーリング間隔を指定する場合は、数値を入力し、時間の単位を選択します。
Maximum Objects to Retrieve フィールドに、1 回のポーリング操作で取得可能なファイルの最大数を入力します。デフォルトは 10 です。
取得するファイルの数を無制限にするには、
0
または負の整数を指定します。Maximum Objects to Retrieve が無制限の場合、ポーリングはバケットのすべてのファイルを取得します。バケットに指定された最大数を超える数のファイルが含まれている場合、編集または作成日時が最も新しいファイルから取得します。
- Prefix フィールドには、文字列を評価する正規表現を任意で指定します。接頭辞を指定した場合、名前がこの文字列で始まるファイルのみを取得します。
- Obtain files and then delete them from the bucket (ファイルを取得し、取得済みのファイルをバケットから削除) を行うかどうかを示します。
- アクションの設定後、Next をクリックしてアクションの出力タイプを指定します。
データタイプの認識が必要がない場合は、Select Type フィールドに Type specification not required を使用し、Next をクリックします。残りの手順を行う必要はありません。
ただし、構造化データタイプが推奨されます。たとえば、コネクション出力をデータマッパーステップでマップする場合、データタイプを指定する必要があります。データマッパーは、非構造化データのフィールドを表示できません。
データタイプを指定するには、Select Type フィールドをクリックし、以下の 1 つをスキーマタイプとして選択します。
-
JSON schema は JSON データの構造を記述するドキュメントです。ドキュメントのメディアタイプは
application/schema+json
です。 -
JSON instance は JSON データが含まれるドキュメントです。ドキュメントのメディアタイプは
application/json
です。 -
XML schema は XML データの構造を記述するドキュメントです。ドキュメントのファイル拡張子は
.xsd
です。 -
XML instance は XML データが含まれるドキュメントです。このドキュメントのファイル拡張子は
.xml
です。
-
JSON schema は JSON データの構造を記述するドキュメントです。ドキュメントのメディアタイプは
-
Definition 入力ボックスに、選択したスキーマタイプに準拠する定義を貼り付けます。たとえば、JSON schema を選択した場合は、メディアタイプが
application/schema+json
の JSON スキーマファイルの内容を貼り付けます。 Data Type Name フィールドにはデータタイプに選択した名前を入力します。たとえば、ベンダーの JSON スキーマを指定する場合は、
Vendor
をデータタイプ名として指定することができます。このタイプを指定するコネクションを使用するインテグレーションを作成または編集するときにこのデータタイプ名が表示されます。Fuse Online では、インテグレーションビジュアライゼーションとデータマッパーにタイプ名が表示されます。
- Data Type Description フィールドには、このタイプを区別するのに便利な情報を提供します。データマッパーでこのタイプを処理するステップにカーソルを合わせると、この説明が表示されます。
- Next をクリックします。
結果
インテグレーションに最初のコネクションが追加され、Fuse Online は最後のコネクションを選択するよう要求します。
2.5.3. Amazon S3 にデータを追加してインテグレーションを終了
データを Amazon S3 にコピーしてインテグレーションを終了するには、Amazon S3 コネクションをシンプルなインテグレーションの最後のコネクションとして追加します。
前提条件
- Amazon S3 コネクションが作成済みである必要があります。
- シンプルなインテグレーションを作成または編集することになります。Fuse Online は最後のコネクションを選択するよう要求します。
手順
- Choose a connection ページで、インテグレーションの終了に使用する Amazon S3 コネクションをクリックします。
コネクションが実行するアクションを選択します。
Copy Object は 1 つ以上のオブジェクトをバケットに追加します。
1 つのファイルをバケットに追加するには、その名前を File Name フィールドに入力します。
複数のファイルをバケットに追加する場合はファイル名を指定しません。この場合、アクションによって以前のインテグレーションステップから取得されるすべてのオブジェクトが追加されます。
ポーリングを使用して複数のファイルを取得し、ファイル名を指定する場合、Copy Object アクションはポーリングで受け取った最後のファイルのみを追加します。
- Delete Object はバケットからオブジェクトを削除します。File Name フィールドに削除するオブジェクトの名前を指定します。指定したファイルがバケットにない場合、エラーは発生せず、インテグレーションが継続されます。
- 指定したアクションの設定後、Next をクリックしてアクションの入力タイプを指定します。
データタイプの認識が必要がない場合は、Select Type フィールドに Type specification not required を使用し、Next をクリックします。残りの手順を行う必要はありません。
ただし、構造化データタイプが推奨されます。たとえば、コネクション入力をデータマッパーステップでマップする場合、データタイプを指定する必要があります。データマッパーは、非構造化データのフィールドを表示できません。
データタイプを指定するには、Select Type フィールドをクリックし、以下の 1 つをスキーマタイプとして選択します。
-
JSON schema は JSON データの構造を記述するドキュメントです。ドキュメントのメディアタイプは
application/schema+json
です。 -
JSON instance は JSON データが含まれるドキュメントです。ドキュメントのメディアタイプは
application/json
です。 -
XML schema は XML データの構造を記述するドキュメントです。ドキュメントのファイル拡張子は
.xsd
です。 -
XML instance は XML データが含まれるドキュメントです。このドキュメントのファイル拡張子は
.xml
です。
-
JSON schema は JSON データの構造を記述するドキュメントです。ドキュメントのメディアタイプは
-
Definition 入力ボックスに、選択したスキーマタイプに準拠する定義を貼り付けます。たとえば、JSON schema を選択した場合は、メディアタイプが
application/schema+json
の JSON スキーマファイルの内容を貼り付けます。 Data Type Name フィールドにはデータタイプに選択した名前を入力します。たとえば、ベンダーの JSON スキーマを指定する場合は、
Vendor
をデータタイプ名として指定することができます。このタイプを指定するコネクションを使用するインテグレーションを作成または編集するときにこのデータタイプ名が表示されます。Fuse Online では、インテグレーションビジュアライゼーションとデータマッパーにタイプ名が表示されます。
- Data Type Description フィールドには、このタイプを区別するのに便利な情報を提供します。データマッパーでこのタイプを処理するステップにカーソルを合わせると、この説明が表示されます。
- Next をクリックします。
結果
インテグレーションビジュアライゼーションの最後にコネクションが表示されます。
2.5.4. インテグレーションの途中で Amazon S3 にデータを追加
インテグレーションの途中で Amazon S3 にデータを追加するには、Amazon S3 コネクションをフローの途中に追加します。
前提条件
- Amazon S3 コネクションが作成済みである必要があります。
- フローを作成または編集することになり、Fuse Online でインテグレーションに追加するよう要求されます。
手順
- フロービジュアライゼーションで、Amazon S3 コネクションを追加する場所のプラス記号をクリックします。
- フローの途中に使用する Amazon S3 コネクションをクリックします。
コネクションが実行するアクションを選択します。
Copy Object は 1 つ以上のオブジェクトをバケットに追加します。
1 つのファイルをバケットに追加するには、その名前を File Name フィールドに入力します。
複数のファイルをバケットに追加する場合はファイル名を指定しません。この場合、アクションによって以前のインテグレーションステップから取得されるすべてのオブジェクトが追加されます。
ポーリングを使用して複数のファイルを取得し、ファイル名を指定する場合、Copy Object アクションはポーリングで受け取った最後のファイルのみを追加します。
- Delete Object はバケットからオブジェクトを削除します。File Name フィールドに削除するオブジェクトの名前を指定します。指定したファイルがバケットにない場合、エラーは発生せず、インテグレーションが継続されます。
- 指定したアクションの設定後、Next をクリックしてアクションの入力タイプを指定します。
データタイプの認識が必要がない場合は、Select Type フィールドに Type specification not required を使用し、Next をクリックします。残りの手順を行う必要はありません。
ただし、構造化データタイプが推奨されます。たとえば、コネクション入力をデータマッパーステップでマップする場合、データタイプを指定する必要があります。データマッパーは、非構造化データのフィールドを表示できません。
データタイプを指定するには、Select Type フィールドをクリックし、以下の 1 つをスキーマタイプとして選択します。
-
JSON schema は JSON データの構造を記述するドキュメントです。ドキュメントのメディアタイプは
application/schema+json
です。 -
JSON instance は JSON データが含まれるドキュメントです。ドキュメントのメディアタイプは
application/json
です。 -
XML schema は XML データの構造を記述するドキュメントです。ドキュメントのファイル拡張子は
.xsd
です。 -
XML instance は XML データが含まれるドキュメントです。このドキュメントのファイル拡張子は
.xml
です。
-
JSON schema は JSON データの構造を記述するドキュメントです。ドキュメントのメディアタイプは
-
Definition 入力ボックスに、選択したスキーマタイプに準拠する定義を貼り付けます。たとえば、JSON schema を選択した場合は、メディアタイプが
application/schema+json
の JSON スキーマファイルの内容を貼り付けます。 Data Type Name フィールドにはデータタイプに選択した名前を入力します。たとえば、ベンダーの JSON スキーマを指定する場合は、
Vendor
をデータタイプ名として指定することができます。このタイプを指定するコネクションを使用するインテグレーションを作成または編集するときにこのデータタイプ名が表示されます。Fuse Online では、インテグレーションビジュアライゼーションとデータマッパーにタイプ名が表示されます。
- Data Type Description フィールドには、このタイプを区別するのに便利な情報を提供します。データマッパーでこのタイプを処理するステップにカーソルを合わせると、この説明が表示されます。
- Next をクリックします。
結果
フロービジュアライゼーションで追加した場所にコネクションが表示されます。