各製品の資料を入手。
詳細はこちら →こんにちは!プロダクトスペシャリストの浦邉です。
生産スケジューラ「Asprova」はODBC によるデータベース接続をサポートしているため、これを通してAmazon Athenaとのデータ連携を行うことが可能です。 通常、Amazon AthenaなどのSaaS として提供されるアプリケーションにはWeb API でアクセスしますが、CData Amazon Athena ODBC Driver によって、RDB にアクセスするのと同じ感覚で、Amazon Athena のデータを扱うことができます。 本記事ではAmazon AthenaからAsprovaへの「品目」データ取り込みの例を通してデータ連携手順を示します。
CData ODBC ドライバは、以下のような特徴を持った製品です。
CData ODBC ドライバでは、1.データソースとしてAmazon Athena の接続を設定、2.Asprova 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
まずは、本記事右側のサイドバーからAmazonAthena ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
インストールが完了したら、DSN 設定画面が開くので、必要な接続プロパティを入力してAmazon Athena への接続を行います。
Amazon Athena リクエストの認証には、アカウントの管理のクレデンシャルか、IAM ユーザーのカスタムPermission を設定します。 AccessKey にAccess Key Id、SecretKey にはSecret Access Key を設定します。
AWS アカウントアドミニストレータとしてアクセスできる場合でも、AWS サービスへの接続にはIAM ユーザークレデンシャルを使用することが推奨されます。
IAM ユーザーのクレデンシャル取得は以下のとおり:
AWS ルートアカウントのクレデンシャル取得は以下のとおり:
EC2 インスタンスからCData 製品を使用していて、そのインスタンスにIAM ロールが割り当てられている場合は、認証にIAM ロールを使用できます。 これを行うには、UseEC2Roles をtrue に設定しAccessKey とSecretKey を空のままにします。 CData 製品は自動的にIAM ロールの認証情報を取得し、それらを使って認証します。
多くの場合、認証にはAWS ルートユーザーのダイレクトなセキュリティ認証情報ではなく、IAM ロールを使用することをお勧めします。 代わりにRoleARN を指定してAWS ロールを使用できます。これにより、CData 製品は指定されたロールの資格情報を取得しようと試みます。 (すでにEC2 インスタンスなどで接続されているのではなく)AWS に接続している場合は、役割を担うIAM ユーザーのAccessKeyと SecretKey を追加で指定する必要があります。AWS ルートユーザーのAccessKey およびSecretKey を指定する場合、 ロールは使用できません。
多要素認証を必要とするユーザーおよびロールには、MFASerialNumber およびMFAToken 接続プロパティを指定してください。 これにより、CData 製品は一時的な認証資格情報を取得するために、リクエストでMFA 認証情報を送信します。一時的な認証情報の有効期間 (デフォルトは3600秒)は、TemporaryTokenDuration プロパティを介して制御できます。
AccessKey とSecretKey プロパティに加え、Database、S3StagingDirectory、Region を設定します。Region をAmazon Athena データがホストされているリージョンに設定します。S3StagingDirectory をクエリの結果を格納したいS3内のフォルダに設定します。
接続にDatabase が設定されていない場合は、CData 製品はAmazon Athena に設定されているデフォルトデータベースに接続します。
メニューの「ファイル」から「データ入出力」を選択し、「データ入出力」ダイアログを開きます。
「品目」行のヘッダをダブルクリックし、「データ入出力の編集」ダイアログを開きます。
「RDBトランザクション」を「いいえ」に変更し、「OK」を押下します。
「品目」の「データソースの種類」を「OLE DB」に変更します。
「接続文字列/フォルダ」列のボタンを押下し、「データ リンク プロパティ」ダイアログを開きます。 「プロバイダー」タブで「Microsoft OLE DB Provider for ODBC Drivers」を選択し「次へ」を押下します。
「接続」タブで「データソース名を使用する」が選択されていることを確認し、コンボボックスで「CData Amazon Athena Source」を選択します。
「接続のテスト」を押下し「接続のテストに成功しました」というメッセージが表示されればドライバの設定に成功です。
「外部テーブル名」列のボタンを押下し、「テーブル一覧」ダイアログを開きます。 ここでAmazon Athenaのテーブル一覧が表示されることを確認してください。
出力先テーブル(Asprovaの品目)、入力元テーブルの項目の対応付けを行います。「フィールドマッピング」列のボタンを押下し、「品目-フィールドマッピング」画面を開きます。
画面の二つのテーブルの間で右クリックし、コンテキストメニューの「全削除」を選択します。すべてのマッピングが削除されたことを確認し、項目同士をドラッグアンドドロップでつなぎ上記のマッピングを設定します。
これでデータ取り込みの設定は終了です。メニューの「ファイル」から「インポート」をクリックします。画面下のメッセージでエラーが出なければインポートは完了です。
メニューの「テーブル表示」から「品目」を選択します。下図のように、Amazon Athenaから取り込んだ商品データが表示されれば成功です。