第2章 Amazon Web Services への接続

Fuse Online インテグレーションは以下の Amazon Web サービスに接続できます。

  • DynamoDB
  • Simple Notification Service (SNS)
  • Simple Queue Service (SQS)
  • Simple Storage Service (S3)

Amazon Web サービスへのコネクションを作成するには、AWS クレデンシャルを取得する必要があります。詳細は以下を参照してください。

2.1. Amazon サービスへのコネクションを作成するための AWS クレデンシャルの作成

Amazon サービスへのコネクションを作成するには、AWS アカウントに関連するアクセスキーが必要です。これは、Fuse Online コネクションがアクセスするリソースを作成したまたはこれから作成する AWS アカウントが該当します。リソースは S3 バケット、SNS トピック、または SQS キューになります。

AWS アクセスキーは、2 つの部分で構成されます。

  • Amazon アクセスキー ID
  • Amazon シークレットアクセスキー

AWS はアクセスキーを使用して、Fuse Online コネクションからのリクエストを認証します。アクセスキーの作成や管理に関する AWS ドキュメントは多くあります。すでに AWS IAM (Identitiy and Access Management) ユーザーを作成し、そのユーザーに関連するアクセスキーをキャプチャーした場合、これらの値を指定し、S3、SNS、または SQS への Fuse Online コネクションを作成することができます。

アクセスキーを取得する必要がある場合は、以下の手順で取得できます。

前提条件

  • コネクションがアクセスするリソースを作成した、AWS アカウントのログインクレデンシャルが必要です。
  • または、新しいリソースを作成するためにコネクションが使用する AWS アカウントのログインクレデンシャルが必要です。

手順

  1. https://aws.amazon.com/ にアクセスし、コンソールにログインします。
  2. コンソール右上のユーザー名の横にある下矢印をクリックし、セキュリティ認証情報 をクリックします。
  3. ポップアップダイアログの Get Started with IAM Users をクリックします。

    このボタンのあるポップアップが表示されない場合は、左側の ユーザー をクリックします。

  4. ユーザーを追加します。

    1. ユーザーを追加 をクリックします。
    2. ユーザー名を入力し、プログラムによるアクセス を選択します。
    3. 次のステップ: アクセス権限 をクリックします。
    4. 新規ユーザーをグループに追加するプロンプトに応答します。
    5. 次のステップ: タグ をクリックします。
    6. タグの追加は行わず、次のステップ: 確認 をクリックします。
    7. ユーザーの追加 をクリックします。
  5. .csv のダウンロード をクリックして、アクセスキーのローカルコピーを取得します。ダウンロードしたファイルには、Amazon サービスへのコネクションの作成に指定する必要がある、アクセスキー ID とシークレットアクセスキーが含まれます。
  6. Close をクリックします。

2.2. Amazon DynamoDB への接続

インテグレーションは、Amazon DynamoDB テーブルからデータを取得したり、DynamoDB テーブルへデータを追加したりでき、DynamoDB テーブルからデータを削除することもできます。これには、Amazon DynamoDB コネクションを作成し、そのコネクションをインテグレーションフローに追加します。

詳細は以下を参照してください。

2.2.1. Amazon DynamoDB コネクションの作成

インテグレーションの Amazon DynamoDB へ接続する前に、Amazon DynamoDB コネクションを作成する必要があります。

前提条件

  • AWS アクセスキーが必要です。「Amazon サービスへのコネクションを作成するための AWS クレデンシャルの作成」を参照してください。
  • コネクションがアクセスする DynamoDB テーブルが含まれる AWS リージョンを知っている必要があります。
  • コネクションがアクセスする DynamoDB テーブルの名前を知っている必要があります。このテーブルは、インテグレーションが DynamoDB に接続するときに存在している必要があります。

手順

  1. Fuse Online の左パネルで Connections をクリックし、利用可能なコネクションを表示します。
  2. Create Connection をクリックし、Fuse Online コネクターを表示します。
  3. Amazon DynamoDB コネクターをクリックします。
  4. Access Key フィールドに、Amazon アクセスキー ID を入力します。これは、コネクションがアクセスする DynamoDB テーブルを管理する AWS アカウントのユーザーアクセスキーの一部です。
  5. Secret Key フィールドに、指定した Amazon アクセスキー ID の Amazon シークレットアクセスキーを入力します。
  6. Region フィールドで、DynamoDB テーブルが存在する AWS リージョンを選択します。
  7. Table Name フィールドに、このコネクションがアクセスする DynamoDB テーブルの名前を入力します。
  8. Validate をクリックします。Fuse Online は即座にコネクションの検証を試み、検証の成功または失敗を示すメッセージを表示します。検証に失敗した場合は、必要に応じて設定の詳細を修正し、再度検証を行います。
  9. 検証に成功したら Next をクリックします。
  10. Name フィールドに、このコネクションを別のコネクションと区別するために使用する名前を入力します。たとえば、DynamoDB West を入力します。
  11. Description は任意のフィールドで、このコネクションに関する便利な情報を入力します。たとえば、Sample DynamoDB connection that accesses sales data in the western region. を入力します。
  12. Save をクリックし、作成したコネクションが利用可能になったことを確認します。上記の例の名前を入力した場合は、インテグレーションに追加できるコネクションとして DynamoDB West が表示されます。

結果

Fuse Online がインテグレーションの追加を要求すると、直前に作成された DynamoDB コネクションが表示されます。このコネクションは、常にコネクションの作成時に指定した DynamoDB テーブルのみにアクセスします。

2.2.2. Amazon DynamoDB テーブルからデータを取得

インテグレーションフローで、Amazon DynamoDB テーブルからアイテムを取得するには、Amazon DynamoDB コネクションをフローの途中に追加します。

DynamoDB コネクションは、シンプルなインテグレーションを開始できません。DynamoDB テーブルから定期的にデータを取得する場合は、タイマーを使ってシンプルなインテグレーションを開始した後、テーブルをクエリーする DynamoDB コネクションを開始します。

前提条件

  • Amazon DynamoDB コネクションが作成済みである必要があります。
  • フローを作成または編集することになり、Fuse Online でインテグレーションに追加するよう要求されます。

手順

  1. フロービジュアライゼーションで、Amazon DynamoDB コネクションを追加する場所のプラス記号をクリックします。
  2. Choose a connection ページで、データの取得元となるテーブルにアクセスするよう設定された Amazon DynamoDB コネクションをクリックします。
  3. Choose an action ページで Query アクションを選択します。
  4. Filter フィールドで、コネクションが返すアイテムのキー属性を識別する JSON 表記を指定します。:# を使って入力パラメーターを指定できます。たとえば、2 つのキー属性があるアイテムを取得する場合、以下のように指定することが可能です。

    {"key1":":#PARAM1", "key2":":#PARAM2"}
  5. 任意手順:Attributes to query フィールドに、コネクションが返すデータを含む属性名のコンマ区切りリストを入力します。以下に例を示します。

    key1,key2,attribute3,attribute4,attribute5

    属性を指定しないと、クエリーはキー属性を返します。

  6. Next をクリックします。

結果

これで、インテグレーションにデータを取得する DynamoDB コネクションが含まれます。起動時に、コネクションはクエリーの結果が含まれる JSON インスタンスドキュメントを返します。

次のステップ

Filter フィールドにプレースホルダーパラメーターを指定した場合、このコネクションの前にデータマッパーステップを追加します。このデータマッパーステップで、ソースフィールドを DynamoDB コネクションのターゲットプレースホルダーフィールドにマップします。

2.2.3. Amazon DynamoDB テーブルへのデータの追加

DynamoDB コネクションは、フローの途中でアイテムを DynamoDB テーブルに追加したり、シンプルなインテグレーションを終了するためにアイテムを DynamoDB テーブルに追加したりすることができます。これには、DynamoDB コネクションをフローの途中に追加するか、シンプルなインテグレーションの最後のコネクションとして追加します。

注記

本リリースでは、DynamoDB コネクションは DynamoDB テーブルのアイテムを更新できません。これは今後のリリースで変更される予定です。

前提条件

  • Amazon DynamoDB コネクションが作成済みである必要があります。
  • シンプルなインテグレーションを作成または編集することになり、Fuse Online はインテグレーションへの追加または最後のコネクションの選択を要求します。

手順

  1. Choose a connection ページで、追加先となるテーブルにアクセスするよう設定された Amazon DynamoDB コネクションをクリックします。
  2. Choose an action ページで Put Item を選択します。
  3. JSON definition of the element フィールドで、追加されるテーブルアイテムを定義する JSON 表記を入力します。アイテムのキー属性を指定する必要があります。:# で始まる入力パラメータープレースホルダーが許可されます。保存するすべての属性と値を指定してください。以下の例では、userID キーになります。

    {"userID":"aslan","attr1":"some-value","attr2":"another-value"}
  4. Next をクリックします。

結果

コネクションは、インテグレーションビジュアライゼーションで追加した場所に表示されます。実行中、コネクションがアクセスするように設定された DynamoDB テーブルに、定義された JSON アイテムを追加します。

次のステップ

アイテムの JSON 定義にプレースホルダーパラメーターを指定した場合、このコネクションの前にデータマッパーステップを追加します。このデータマッパーステップで、ソースフィールドを DynamoDB コネクションのターゲットプレースホルダーフィールドにマップします。

2.2.4. Amazon DynamoDB テーブルからデータを削除

DynamoDB コネクションは、フローの途中でアイテムを DynamoDB テーブルから削除したり、シンプルなインテグレーションを終了するためにアイテムを DynamoDB テーブルに追加したりすることができます。これには、DynamoDB コネクションをフローの途中に追加するか、シンプルなインテグレーションの最後のコネクションとして追加します。

前提条件

  • Amazon DynamoDB コネクションが作成済みである必要があります。
  • シンプルなインテグレーションを作成または編集することになり、Fuse Online はインテグレーションへの追加または最後のコネクションの選択を要求します。

手順

  1. Choose a connection ページで、削除するアイテムが含まれるテーブルにアクセスするよう設定された Amazon DynamoDB コネクションをクリックします。
  2. Choose an action ページで Remove Item を選択します。
  3. JSON definition of the element フィールドで、削除するアイテムを定義する JSON 表記を入力します。アイテムのキー属性を指定する必要があります。:# で始まる入力パラメーターが許可されます。以下の例では、userID キーになります。

    {"userID":"aslan"}
  4. Next をクリックします。

結果

フロービジュアライゼーションで追加した場所にコネクションが表示されます。

次のステップ

JSON filter of the element フィールドにプレースホルダーパラメーターを指定した場合、このコネクションの前にデータマッパーステップを追加します。このデータマッパーステップで、ソースフィールドを DynamoDB コネクションの各ターゲットプレースホルダーフィールドにマップします。

2.3. Amazon Simple Notification Service (SNS) への接続

インテグレーションはメッセージを AWS SNS (Simple Notification Service) トピックへ送信できます。AWS SNS コネクションを作成し、そのコネクションをインテグレーションフローに追加するか、シンプルなインテグレーションの最後のコネクションとして追加します。詳細は以下を参照してください。

2.3.1. Amazon SNS コネクションの作成

Amazon SNS コネクションをインテグレーションに追加するには、Amazon SNS コネクションを作成する必要があります。

前提条件

手順

  1. Fuse Online の左パネルで Connections をクリックし、利用可能なコネクションを表示します。
  2. Create Connection をクリックし、Fuse Online コネクターを表示します。
  3. Amazon SNS コネクターをクリックします。
  4. Access Key フィールドに、Amazon アクセスキー ID を入力します。これは、コネクションのメッセージ送信先となるトピックを管理する、AWS アカウントのユーザーアクセスキーの一部です。

    コネクションがアクセスするトピックが存在しない場合は、Fuse Online がインテグレーションの実行を開始しようとするときに、そのアクセスキーに関連する AWS アカウントを使用してトピックを作成します。しかし、他の AWS アカウントにトピックが存在する場合は、コネクションはトピックを作成できず、インテグレーションを開始できません。

  5. Secret Key フィールドに、指定した Amazon アクセスキー ID の Amazon シークレットアクセスキーを入力します。
  6. Region フィールドに、トピックが存在する AWS リージョンを選択します。コネクションがトピックを作成する場合は、選択したリージョンにトピックが作成されます。
  7. Validate をクリックします。Fuse Online は即座にコネクションの検証を試み、検証の成功または失敗を示すメッセージを表示します。検証に失敗した場合は、必要に応じて設定の詳細を修正し、再度検証を行います。
  8. 検証に成功したら Next をクリックします。
  9. Name フィールドに、このコネクションを別のコネクションと区別するために使用する名前を入力します。たとえば、SNS North を入力します。
  10. Description は任意のフィールドで、このコネクションに関する便利な情報を入力します。たとえば、Sample SNS connection that sends messages to our north region topic. を入力します。
  11. Save をクリックし、作成したコネクションが利用可能になったことを確認します。上記の例の名前を入力した場合は、インテグレーションに追加できるコネクションとして SNS North が表示されます。

2.3.2. Amazon SNS へのメッセージの送信

Amazon SNS トピックへメッセージを送信するには、Amazon SNS コネクションをフローの途中に追加するか、シンプルなインテグレーションの最後のコネクションとして追加します。

前提条件

  • Amazon SNS コネクションが作成済みである必要があります。
  • Fuse Online はインテグレーションの追加を要求したり、最後のコネクションをシンプルなインテグレーションへ追加するよう要求します。

手順

  1. Add to Integration ページで、コネクションの追加先のプラス記号をクリックします。Fuse Online が最後のコネクションを選択するよう要求する場合は、このステップをスキップします。
  2. メッセージの送信に使用する Amazon SNS コネクションをクリックします。
  3. Send Object アクションをクリックします。
  4. Topic Name or Amazon Resource Name フィールドに、メッセージを送信する SNS トピックの名前またはトピックの Amazon Resource Name (ARN) を入力します。

    SNS トピックが、コネクションのアクセスが許可される AWS アカウントに存在しなかったり、他の AWS アカウントに存在しない場合は、コネクションによるアクセスが設定されている AWS アカウントにトピックを作成します。

  5. Next をクリックしてコネクションをインテグレーションに追加します。

結果

インテグレーションフローで追加した場所にコネクションが表示されます。

2.4. Amazon Simple Queue Service (SQS) への接続

インテグレーションは、 Amazon SQS キューからメッセージを取得したり、Amazon SQS キューにメッセージを送信したりすることができます。これには、Amazon SQS コネクションを作成し、そのコネクションをインテグレーションフローに追加します。詳細は以下を参照してください。

2.4.1. Amazon SQS コネクションの作成

Amazon SQS コネクションをインテグレーションに追加するには、Amazon SQS コネクションを作成する必要があります。

前提条件

手順

  1. Fuse Online の左パネルで Connections をクリックし、利用可能なコネクションを表示します。
  2. Create Connection をクリックし、Fuse Online コネクターを表示します。
  3. Amazon SQS コネクターをクリックします。
  4. Access Key フィールドに、Amazon アクセスキー ID を入力します。これは、コネクションがアクセスするキューを管理する AWS アカウントのユーザーアクセスキーの一部です。

    コネクションがアクセスするキューが存在しない場合は、Fuse Online がインテグレーションの実行を開始しようとするときに、そのアクセスキーに関連する AWS アカウントを使用してキューを作成します。しかし、他の AWS アカウントにキューが存在する場合は、コネクションはキューを作成できず、インテグレーションを開始できません。

  5. Secret Key フィールドに、指定した Amazon アクセスキー ID の Amazon シークレットアクセスキーを入力します。
  6. Region フィールドに、キューが存在する AWS リージョンを選択します。コネクションがキューを作成する場合は、作成したリージョンにキューが作成されます。
  7. Validate をクリックします。Fuse Online は即座にコネクションの検証を試み、検証の成功または失敗を示すメッセージを表示します。検証に失敗した場合は、必要に応じて設定の詳細を修正し、再度検証を行います。
  8. 検証に成功したら Next をクリックします。
  9. Name フィールドに、このコネクションを別のコネクションと区別するために使用する名前を入力します。たとえば、SQS South を入力します。
  10. Description は任意のフィールドで、このコネクションに関する便利な情報を入力します。たとえば、Sample SQS connection that sends messages to our southern region queue. を入力します。
  11. Save をクリックし、作成したコネクションが利用可能になったことを確認します。上記の例の名前を入力した場合は、インテグレーションに追加できるコネクションとして SQS South が表示されます。

2.4.2. Amazon SQS からメッセージを取得してインテグレーションの実行をトリガー

Amazon SQS キューからメッセージを取得してインテグレーションを開始するには、Amazon SQS コネクションをシンプルなインテグレーションの最初のコネクションとして追加します。

前提条件

  • メッセージの取得元のキューにアクセスするよう設定されている Amazon SQS コネクションが作成済みである必要があります。
  • コネクションがメッセージを取得する SQS キューの名前を知っている必要があります。

手順

  1. Fuse Online パネルの左側にある Integrations をクリックします。
  2. Create Integration をクリックします。
  3. Choose a connection ページで、インテグレーションを開始するために使用する Amazon SQS コネクションをクリックします。
  4. Choose an action ページで、Poll an Amazon SQS Queue を選択し、SQS キューからメッセージを定期的に取得します。
  5. このアクションを設定するには以下を行います。

    1. Delay フィールドで、デフォルトの 500 ミリ秒をポーリング間の経過時間として受け入れます。別のポーリング間隔を指定する場合は、数値を入力し、時間の単位を選択します。
    2. Maximum Objects to Retrieve フィールドに、1 回のポーリング操作で取得可能なメッセージの最大数を入力します。デフォルトは 10 です。

      取得するメッセージの数を無制限にするには、0 または負の整数を指定します。Maximum Objects to Retrieve が無制限の場合、ポーリングはSQS キューのすべてのメッセージを取得します。

    3. Queue Name or Amazon Resource Name フィールドに、メッセージを取得する SQS キューの名前またはキューの ARN を指定します。この名前を持つキューが存在しない場合は、コネクションがこの名前でキューを作成します。必須のフィールドはこのフィールドのみです。
    4. Obtain messages and then delete them from the queue (メッセージを取得した後にキューから削除) を指定するかどうかを示します。メッセージを取得した後にキューから削除するのはデフォルトの動作です。メッセージを取得し、キューにそのメッセージを残す場合のみ、このオプションの選択を解除します。キューに取得済みのメッセージを残すと、再度取得することになります。
    5. Obtain messages and delete the message if it does make it through a Camel filter (メッセージを取得し、Camel フィルターを通過した場合はメッセージを削除) を指定するかどうかを示します。このオプションはデフォルトで選択されます。取得したメッセージをフィルターに通し、キューから削除するかどうかを判断する場合はデフォルトのままにします。Obtain messages and then delete from the queue の選択を解除する必要はありません。Obtain messages and delete the message if it does make it through a Camel filter を選択すると、Fuse Online によって正しい動作が実行されます。
  6. Next をクリックします。

結果

インテグレーションフローの最初にコネクションが表示されます。

次のステップ

Obtain messages and delete the message if it does make it through a Camel filter を選択した場合、この SQS コネクションの後にフィルターステップを追加する必要があります。このフィルターステップは SQS コネクションの直後に追加する必要はありません。すべてのコネクションをインテグレーションに追加した後、フィルターステップを追加します。実行中にフィルターを通過したメッセージがあると、Fuse Online は同じコネクションである SQS の最初のコネクションを使用して、これらのメッセージをキューから削除します。

2.4.3. Amason SQS キューへのメッセージの送信

フローの途中でメッセージを Amazon SQS キューに送信したり、メッセージを Amazon SQS キューに送信してシンプルなインテグレーションを終了することができます。

前提条件

  • メッセージの送信先のキューにアクセスするよう設定されている Amazon SQS コネクションが作成済みである必要があります。
  • コネクションがメッセージを送信する SQS キューの名前を知っている必要があります。
  • Fuse Online はインテグレーションの追加を要求したり、シンプルなインテグレーションの最後のコネクションを選択するよう要求します。

手順

  1. Add to Integration ページで、コネクションの追加先のプラス記号をクリックします。Fuse Online が最後のコネクションを選択するよう要求する場合は、このステップをスキップします。
  2. メッセージの送信に使用する Amazon SQS コネクションをクリックします。
  3. コネクションが実行するアクションを選択します。

    • Send Object を選択すると、1 つのメッセージをキューに送信します。
    • Send Batch Object を選択すると、メッセージのバッチをキューに送信します。
  4. FIFO (先入れ先出し) キューの場合は、Message group ID strategy フィールドで ConstantMessageGroupIdStrategy を使用するか、フィールドをクリックして別のストラテジーを選択します。

    シンプルなキューでは、このパラメーターを設定しても影響はありません。メッセージグループ ID は、メッセージが属するグループを識別します。同じメッセージグループに属するメッセージは、常にメッセージグループの厳密な順序で 1 つずつ処理されます。メッセージグループ ID ストラテジーは、コネクションがグループ ID をメッセージに割り当てる方法を判断します。オプションは次のとおりです。

    • ConstantMessageGroupIdStrategy: コネクションは定数を使用してメッセージをグループ化します。
    • ExchangeIdMessageGroupIdStrategy: コネクションは、各メッセージのエクスチェンジ ID を使用してメッセージをグループ化します。
    • PropertyValueMessageGroupIdStrategy: コネクションは内部プロパティーの値を使用してメッセージをグループ化します。

    FIFO キューは、メッセージが送受信される順番が厳密に保持され、各メッセージが 1 度だけ処理されるように設計されています。FIFO キューの名前には、.fifo が接尾辞として付きます。

  5. Message deduplication ID strategy フィールドの FIFO キューに NullMessageDeduplicationIdStrategy を使用するか、フィールドをクリックして ExchangeIdMessageDeduplicationIdStrategy を選択します。

    シンプルなキューでは、このパラメーターを設定しても影響はありません。FIFO キューでは、コネクションは選択したストラテジーを使用して、重複したメッセージをキューに送信しないようにします。

    • NullMessageDeduplicationIdStrategy はメッセージのボディー部を重複排除要素として使用します。つまり、コネクションはメッセージのボディー部を比較して、重複メッセージを特定します。
    • ExchangeIdMessageDeduplicationIdStrategy はメッセージのエクスチェンジ ID を重複排除要素として使用します。つまり、コネクションはエクスチェンジ ID を比較して重複メッセージを特定します。
  6. Queue Name or Amazon Resource Name フィールドに、メッセージを送信するキューの名前を入力します。キューが存在しない場合は、コネクションが作成します。
  7. Delay フィールドで、0 (遅延なし) のデフォルトを使用するか、数字を指定して遅延を追加します。または、遅延を追加するには数字を指定します。インテグレーションは、この秒数後、メッセージを送信します。これは、メッセージコンシューマーがコネクションが送信するメッセージにすぐに対応できない場合に便利です。
  8. Next をクリックします。

結果

インテグレーションフローで追加した場所にコネクションが表示されます。

2.5. Amazon Simple Storage Service (S3) への接続

インテグレーションは Amazon S3 バケットからデータを取得したり、Amazon S3 バケットへデータをコピーしたりすることができます。これには、Amazon S3 コネクションを作成し、そのコネクションをインテグレーションフローに追加します。詳細は以下を参照してください。

2.5.1. Amazon S3 コネクションの作成

Amazon S3 コネクションをインテグレーションに追加する前に Amazon S3 コネクションを作成する必要があります。

前提条件

手順

  1. Fuse Online の左パネルで Connections をクリックし、利用可能なコネクションを表示します。
  2. Create Connection をクリックし、Fuse Online コネクターを表示します。
  3. Amazon S3 コネクターをクリックします。
  4. Access Key フィールドに、Amazon アクセスキー ID を入力します。これは、コネクションがアクセスするバケットを管理する AWS アカウントのユーザーアクセスキーの一部です。

    コネクションがアクセスするバケットが存在しない場合は、Fuse Online がインテグレーションの実行を開始しようとするときに、そのアクセスキーに関連する AWS アカウントを使用してバケットを作成します。しかし、他の AWS アカウントにバケットが存在する場合は、コネクションはバケットを作成できず、インテグレーションを開始できません。

  5. Secret Key フィールドに、指定した Amazon アクセスキー ID の Amazon シークレットアクセスキーを入力します。
  6. Region フィールドではバケットが存在する AWS リージョンを選択します。コネクションがバケットを作成する場合にここで選択されたリージョンに作成されます。
  7. Bucket Name or Amazon Resource Name フィールドに、このコネクションがアクセスするバケットの名前またはバケットの ARN を入力します。

    指定したバケットが存在しない場合、コネクションは指定した名前でバケットを作成しようとします。S3 では、バケットをパブリックにアクセスできる URL として使用することが可能であるため、指定するバケット名はグローバルで一意である必要があります。さらに、S3 バケットの命名要件 に準拠する必要があります。

  8. Validate をクリックします。Fuse Online は即座にコネクションの検証を試み、検証の成功または失敗を示すメッセージを表示します。検証に失敗した場合は、必要に応じて設定の詳細を修正し、再度検証を行います。
  9. 検証に成功したら Next をクリックします。
  10. Name フィールドに、このコネクションを別のコネクションと区別するために使用する名前を入力します。たとえば、Obtain S3 Data を入力します。
  11. Description は任意のフィールドで、このコネクションに関する便利な情報を入力します。たとえば、Sample S3 connection that obtains data from a northeast bucket. を入力します。
  12. Save をクリックし、作成したコネクションが利用可能になったことを確認します。上記の例の名前を入力した場合は、インテグレーションに追加できるコネクションとして Obtain S3 Data が表示されます。

2.5.2. Amazon S3 からデータを取得してインテグレーションの実行をトリガー

Amazon S3 バケットからデータを取得してインテグレーションを開始するには、Amazon S3 コネクションをシンプルなインテグレーションの最初のコネクションとして追加します。

前提条件

Amazon S3 コネクションが作成済みである必要があります。

手順

  1. Fuse Online パネルの左側にある Integrations をクリックします。
  2. Create Integration をクリックします。
  3. Choose a connection ページで、インテグレーションを開始するために使用する Amazon S3 コネクションをクリックします。
  4. Choose an action ページで、コネクションが実行するアクションを選択します。

    • Get Object は、コネクションがアクセスするバケットからファイルを取得します。File Name フィールドでは、取得するファイルの名前を入力します。指定したファイルがバケットにない場合は、ランタイムエラーが発生します。
    • Poll an Amazon S3 Bucket は、コネクションがアクセスするバケットからファイルを定期的に取得します。このアクションを設定するには、以下を行います。

      1. Delay フィールドで、デフォルトの 500 ミリ秒をポーリング間の経過時間として受け入れます。別のポーリング間隔を指定する場合は、数値を入力し、時間の単位を選択します。
      2. Maximum Objects to Retrieve フィールドに、1 回のポーリング操作で取得可能なファイルの最大数を入力します。デフォルトは 10 です。

        取得するファイルの数を無制限にするには、0 または負の整数を指定します。Maximum Objects to Retrieve が無制限の場合、ポーリングはバケットのすべてのファイルを取得します。

        バケットに指定された最大数を超える数のファイルが含まれている場合、編集または作成日時が最も新しいファイルから取得します。

      3. Prefix フィールドには、文字列を評価する正規表現を任意で指定します。接頭辞を指定した場合、名前がこの文字列で始まるファイルのみを取得します。
      4. Obtain files and then delete them from the bucket (ファイルを取得し、取得済みのファイルをバケットから削除) を行うかどうかを示します。
  5. アクションの設定後、Next をクリックしてアクションの出力タイプを指定します。
  6. データタイプの認識が必要がない場合は、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 です。
  7. Definition 入力ボックスに、選択したスキーマタイプに準拠する定義を貼り付けます。たとえば、JSON schema を選択した場合は、メディアタイプが application/schema+json の JSON スキーマファイルの内容を貼り付けます。
  8. Data Type Name フィールドにはデータタイプに選択した名前を入力します。たとえば、ベンダーの JSON スキーマを指定する場合は、Vendor をデータタイプ名として指定することができます。

    このタイプを指定するコネクションを使用するインテグレーションを作成または編集するときにこのデータタイプ名が表示されます。Fuse Online では、インテグレーションビジュアライゼーションとデータマッパーにタイプ名が表示されます。

  9. Data Type Description フィールドには、このタイプを区別するのに便利な情報を提供します。データマッパーでこのタイプを処理するステップにカーソルを合わせると、この説明が表示されます。
  10. Next をクリックします。

結果

インテグレーションに最初のコネクションが追加され、Fuse Online は最後のコネクションを選択するよう要求します。

2.5.3. Amazon S3 にデータを追加してインテグレーションを終了

データを Amazon S3 にコピーしてインテグレーションを終了するには、Amazon S3 コネクションをシンプルなインテグレーションの最後のコネクションとして追加します。

前提条件

  • Amazon S3 コネクションが作成済みである必要があります。
  • シンプルなインテグレーションを作成または編集することになります。Fuse Online は最後のコネクションを選択するよう要求します。

手順

  1. Choose a connection ページで、インテグレーションの終了に使用する Amazon S3 コネクションをクリックします。
  2. コネクションが実行するアクションを選択します。

    • Copy Object は 1 つ以上のオブジェクトをバケットに追加します。

      1 つのファイルをバケットに追加するには、その名前を File Name フィールドに入力します。

      複数のファイルをバケットに追加する場合はファイル名を指定しません。この場合、アクションによって以前のインテグレーションステップから取得されるすべてのオブジェクトが追加されます。

      ポーリングを使用して複数のファイルを取得し、ファイル名を指定する場合、Copy Object アクションはポーリングで受け取った最後のファイルのみを追加します。

    • Delete Object はバケットからオブジェクトを削除します。File Name フィールドに削除するオブジェクトの名前を指定します。指定したファイルがバケットにない場合、エラーは発生せず、インテグレーションが継続されます。
  3. 指定したアクションの設定後、Next をクリックしてアクションの入力タイプを指定します。
  4. データタイプの認識が必要がない場合は、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 です。
  5. Definition 入力ボックスに、選択したスキーマタイプに準拠する定義を貼り付けます。たとえば、JSON schema を選択した場合は、メディアタイプが application/schema+json の JSON スキーマファイルの内容を貼り付けます。
  6. Data Type Name フィールドにはデータタイプに選択した名前を入力します。たとえば、ベンダーの JSON スキーマを指定する場合は、Vendor をデータタイプ名として指定することができます。

    このタイプを指定するコネクションを使用するインテグレーションを作成または編集するときにこのデータタイプ名が表示されます。Fuse Online では、インテグレーションビジュアライゼーションとデータマッパーにタイプ名が表示されます。

  7. Data Type Description フィールドには、このタイプを区別するのに便利な情報を提供します。データマッパーでこのタイプを処理するステップにカーソルを合わせると、この説明が表示されます。
  8. Next をクリックします。

結果

インテグレーションビジュアライゼーションの最後にコネクションが表示されます。

2.5.4. インテグレーションの途中で Amazon S3 にデータを追加

インテグレーションの途中で Amazon S3 にデータを追加するには、Amazon S3 コネクションをフローの途中に追加します。

前提条件

  • Amazon S3 コネクションが作成済みである必要があります。
  • フローを作成または編集することになり、Fuse Online でインテグレーションに追加するよう要求されます。

手順

  1. フロービジュアライゼーションで、Amazon S3 コネクションを追加する場所のプラス記号をクリックします。
  2. フローの途中に使用する Amazon S3 コネクションをクリックします。
  3. コネクションが実行するアクションを選択します。

    • Copy Object は 1 つ以上のオブジェクトをバケットに追加します。

      1 つのファイルをバケットに追加するには、その名前を File Name フィールドに入力します。

      複数のファイルをバケットに追加する場合はファイル名を指定しません。この場合、アクションによって以前のインテグレーションステップから取得されるすべてのオブジェクトが追加されます。

      ポーリングを使用して複数のファイルを取得し、ファイル名を指定する場合、Copy Object アクションはポーリングで受け取った最後のファイルのみを追加します。

    • Delete Object はバケットからオブジェクトを削除します。File Name フィールドに削除するオブジェクトの名前を指定します。指定したファイルがバケットにない場合、エラーは発生せず、インテグレーションが継続されます。
  4. 指定したアクションの設定後、Next をクリックしてアクションの入力タイプを指定します。
  5. データタイプの認識が必要がない場合は、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 です。
  6. Definition 入力ボックスに、選択したスキーマタイプに準拠する定義を貼り付けます。たとえば、JSON schema を選択した場合は、メディアタイプが application/schema+json の JSON スキーマファイルの内容を貼り付けます。
  7. Data Type Name フィールドにはデータタイプに選択した名前を入力します。たとえば、ベンダーの JSON スキーマを指定する場合は、Vendor をデータタイプ名として指定することができます。

    このタイプを指定するコネクションを使用するインテグレーションを作成または編集するときにこのデータタイプ名が表示されます。Fuse Online では、インテグレーションビジュアライゼーションとデータマッパーにタイプ名が表示されます。

  8. Data Type Description フィールドには、このタイプを区別するのに便利な情報を提供します。データマッパーでこのタイプを処理するステップにカーソルを合わせると、この説明が表示されます。
  9. Next をクリックします。

結果

フロービジュアライゼーションで追加した場所にコネクションが表示されます。