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 コネクションの各ターゲットプレースホルダーフィールドにマップします。