Asteria WarpフローデザイナーとAWSのDynamoDBの連携

はじめに

AWSとの接続に使用するコネクションを作成し、DynamoDBGet、DynamoDBPut、DynamoDBDeleteコンポーネントを使用して、AWS DynamoDBとのアイテムのやり取りを行います。これから、コネクション作成からコンポーネント設定までの詳細を説明します。

AWSコネクションの作成

「コネクションの作成」から接続種別が「AWS」のコネクションを作成します。

作成したAWSコネクションのプロパティでは以下の項目を設定します。

  • アクセスキー:AWSで作成したアクセスキーの値を入力します。
  • シークレットキー:AWSで作成したシークレットアクセスキーの値を入力します。
  • リージョン:接続したいデータベースの存在するAWSのリージョンを選択します。

※アクセスキーとシークレットキーは以下の手順で作成できます。

  1. AWSをブラウザで開いて、「コンソールのホーム」画面から「IAM」画面に遷移します。
  2. 「IAM」画面で左端に表示されるメニューからアクセス管理の中にある「ユーザー」をクリックします。
  3. ユーザー一覧からアクセスキーとシークレットキーを作成したいユーザーをクリックします。
  4. 選択したユーザーについての画面が表示されるので、「セキュリティ認証情報」タブをクリックします。
  5. アクセスキーの項目が存在するので、ここからアクセスキーを作成します。アクセスキーを作成する際に、シークレットキーも作成されます。(AWS上では「シークレットアクセスキー」として表示されます。)
コネクションのプロパティ設定

作成後に接続テストを行い、成功すればコネクションの作成完了です。

接続テストが成功した場合

今回使用するDynamoDBのアイテム(レコード)構成

使用するテーブルで行を構成する列は、IDとDataの2つだけです。データ型などは以下の通りです。

  • ID:数値型(パーティションキー)
  • Data:文字列型

コネクションを使用したDynamoDBとの連携(アイテムの取得・追加・削除)

以下では、DynamoDBとの連携を行うために作成した3つの確認用フロー(取得、登録、削除)での設定手順を説明します。

①DynamoDBGet(アイテムの取得)

DynamoDBGetコンポーネントを使用してDynamoDBかアイテムを取得します。

プロパティに以下の項目を設定してください。

  • コネクションを使用:はい
  • コネクション名:使用するコネクションの名前(今回は先ほど作成した「AWS_Test」)
  • テーブル名:アイテムを取得したいテーブルの名前
  • 検索方法:Get・Scan・Queryの中から任意で1つ選択(今回はGetを選択)
  • ハッシュ属性名:パーティションキーの列名(例:ID)
  • ハッシュ属性型:パーティションキーのデータ型
  • ハッシュ属性名:取得したいアイテム(レコード)のパーティションキーの値

上記以外の設定はデフォルトのままです。
また、取得するアイテムの列構成にストリームの構成を合わせます。

DynamoDBGet確認用フローの全体図とプロパティ・ストリームの構成

上記設定でフローを実行することで、指定したIDのアイテムがDynamoDBから取得されます。
(上記の設定ではIDの値が1のアイテムが取得できます。)

②DynamoDBPut(アイテムの追加)

DynamoDBPutコンポーネントを使用してDynamoDBにアイテムを追加します。

プロパティに以下の項目を設定してください。

  • コネクションを使用:はい
  • コネクション名:使用するコネクションの名前(今回は先ほど作成した「AWS_Test」)
  • テーブル名:アイテムを追加したいテーブルの名前

上記以外の設定はデフォルトのままです。
DynamoDBGetの際と同様に、FileGetとDynamoDBPutにおけるストリームの構成を追加先のテーブルに合わせます。

DynamoDBPut確認用フローの全体図とプロパティ・ストリームの構成

上記設定でフローを実行することで、csvファイルから取得した値を設定したアイテムをDynamoDBのテーブルに追加できます。
(今回読み込んだcsvファイルの中身は「4,AddData」なので、IDの値が4、Dataの値がAddDataのアイテムがDynamoDBに追加されます。)

③DynamoDBDelete 

DynamoDBDeleteコンポーネントを使用してDynamoDBからアイテムを削除します。

プロパティに以下の項目を設定してください。

  • コネクションを使用:はい
  • コネクション名:使用するコネクションの名前(今回は先ほど作成した「AWS_Test」)
  • テーブル名:アイテムを削除したいテーブルの名前
  • 検索方法:Get・Scan・Queryの中から任意で1つ選択(今回はGetを選択)
  • ハッシュ属性名:パーティションキーの列名(例:ID)
  • ハッシュ属性型:パーティションキーのデータ型
  • ハッシュ属性名:削除したいアイテム(レコード)のパーティションキーの値

上記以外の設定はデフォルトのままです。
DynamoDBGetの際と同様に、DynamoDBDeleteにおけるストリームの構成を削除先のテーブルに合わせます。

DynamoDBDelete確認用フローの全体図とプロパティ・ストリームの構成

上記設定でフローを実行することで、指定したIDのアイテムがDynamoDBから削除されます。
(上記の設定では「②DynamoDBPut」で追加した、IDの値が4のアイテムが削除されます。)