ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
CData BizTalk Adapter for AmazonAthena は、BizTalk のAmazon Athena でSQL コマンド、アップデートグラム、ストアドプロシージャを実行することを可能にします。ここでは、アップデートグラムを使用して、Amazon Athena を挿入するアプリケーションのウォークスルーについて説明します。
以下のセクションでは、サンプルアプリケーションの作成について説明します。
Visual Studio のウィザードを使用することで、スキーマとアップデートグラムインスタンスを生成することができます。
[Add Adapter]ウィザードを使用して、プロジェクトにアダプタを追加します。アダプタを使用して、挿入したいテーブルに関する[Customers]などのAmazon Athena メタデータをクエリします。
Amazon Athena データを挿入するアップデートグラムを作成するためのテンプレートとしてスキーマを使用します。スキーマは、XMLリクエストと応答を定義する.xsd ファイルです。例として、挿入アップデートグラムを生成する方法を説明します。以下の手順に従って、update とdelete のアップデートグラムを生成できます。
[Insert]オプションを選択し、挿入したいテーブルとカラムを選択します。このチュートリアルは、Name とTotalDue を使用しています。
Noteアップデートグラムを作成する際、挿入はスキーマに含ませたカラムに限定されます。
このステップでは、後のステップでアダプタに送られるXML メッセージを作成します。[Solution Explorer]にある.xsd ファイルを右クリックし、[Generate Instance]をクリックしてアップデートグラムを作成します。アップデートグラムが保存される場所は、[Output]タブに表示されます。
アップデートグラムは、Amazon Athena から求められる応答を定義するよう構成されています。アップデートグラムの例や詳細については、アダプタのヘルプドキュメントをご覧ください。
アプリケーションに受信場所を追加するには、まず受信ポートを追加する必要があります。受信ポートは複数の受信場所からのデータを受け取ることができます。
静的な一方向のファイル受信場所は、アップデートグラムを含むBizTalk メッセージを作成します。
コンフィギュレーションは、以下のステップで構成されています。
要請応答送信ポートを使用して、 アップデートグラムコマンドの結果を取得します。このチュートリアルでは、新しく挿入されたレコードのId がBizTalkで返されます。
[Adapter Transport Properties]ダイアログで、アダプタが実行するコマンドを定義します。
Amazon Athena への接続に必要な資格情報とその他のプロパティを設定します。
接続プロパティを入力してください。
下は一般的な接続文字列です。
AccessKey='a123';SecretKey='s123';Region='IRELAND';Database='sampledb';S3StagingDirectory='s3://bucket/staging/';
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 に設定されているデフォルトデータベースに接続します。
ファイル送信ポートは、インサートから返されるId をファイルに書き込みます。以下のステップに従って一方向送信ポートを構成し、受信メッセージをファイルに書きこみます。
以下のステップに従って、アプリケーションで次の関連を定義するフィルタルールを作成します。
要請応答送信ポートのプロパティで、[Filters]をクリックし、以下の値を設定します。
一方向送信ポートのプロパティで、[Filters]をクリックし、以下の値を設定します。
BizTalk アプリケーションを起動するときに以下の手順に従い、アップデートグラムが受信場所によって確実に取得されるようにします。
受信場所用に構成したフォルダに、アップデートグラムを複製することができます。
一方向送信ポート用に構成したフォルダを開きます。このフォルダは、XML file の新しいId を含みます。メッセージは次の例のようになります。
<table xmlns="http://www.cdata.com/AmazonAthenaProvider" AffectedRows="1">
<row>
<Id>0014000001XERBUAA5</Id>
</row>
</table>
アプリケーションログでエラーメッセージを表示することで、アプリケーションが正常に初期化されたことを素早く確認できます。ログを開くには、[Administration Console]のナビゲーションツリーで[Event Viewer (Local)]ノードを展開します。Windows ログを展開し、[Applications]を選択します。
発生したエラーのリストはここから入手可能です。ここには、システム上のすべてのアプリケーションのエラ-メッセージが含まれるため、エラーメッセージのソースを確認することが必要です。受信場所では、ソースが[CData BizTalk AmazonAthena Receive Adapter]である必要があります。エラーメッセージの詳細から、エラーの理由を知ることができます。
エラー解消のガイダンスについては、support@cdata.com/jp にお問い合わせください。