製品をチェック

製品の情報と30日間無償トライアル

Amazon Athena 連携ソリューション 相談したい

BizTalk でAmazon Athena にストアドプロシージャを実行する

CData BizTalk Adapter が提供するストアドプロシージャを使用して、BizTalk のAmazon Athena を自動化できます。ストアドプロシージャは、基盤となるAPI で使用できるアクションを実装しています。

加藤龍彦
デジタルマーケティング

最終更新日:2021-07-17

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

ストアドプロシージャは、SELECT 、INSERT 、UPDATE 、DELETE としては表すことができないAmazon Athena アクションを実装します。この記事では、ストアドプロシージャ用のスキーマを作成する方法を説明します。このスキーマを使用して、送信ポートからストアドプロシージャを実行できます。

プロジェクトにアダプターを追加する

[Add Adapter] ウィザードから、アダプターをVisual Studio のBizTalk サーバープロジェクトに追加します。このアダプターは、ストアドプロシージャへの入力とその結果に関するメタデータを返します。このメタデータを使用してスキーマを作成します。

  1. [Solution Explorer] の[project] で右クリックし、[Add] -> [Add Generated Items] と進みます。
  2. [resulting dialog box] の[Add Adapter Metadata] を選択します。
  3. 表示される[Add Adapter] ウィザードで、リストからアダプターを選択します。
  4. [Port menu] では、選択を空白のままにします。もしくは、Amazon Athena アダプターを使用するように構成されている受信場所や送信ポートを選択します。
  5. CData Adapters in the Select Adapter wizard.(Salesforce is shown.)
  6. 送信ポートまたは受信場所に、認証資格情報と他の接続プロパティが構成されていない場合、[Connection String] ページで、それらを入力します。下は一般的な接続文字列です。

    AccessKey='a123';SecretKey='s123';Region='IRELAND';Database='sampledb';S3StagingDirectory='s3://bucket/staging/';

    Amazon Athena 接続プロパティの取得・設定方法

    Amazon Athena リクエストの認証には、アカウントの管理のクレデンシャルか、IAM ユーザーのカスタムPermission を設定します。 AccessKey にAccess Key Id、SecretKey にはSecret Access Key を設定します。

    AWS アカウントアドミニストレータとしてアクセスできる場合でも、AWS サービスへの接続にはIAM ユーザークレデンシャルを使用することが推奨されます。

    IAM ユーザーのクレデンシャル取得は以下のとおり:

    1. IAM コンソールにログイン。
    2. Navigation ペインで「ユーザー」を選択。
    3. ユーザーのアクセスキーを作成または管理するには、ユーザーを選択してから「セキュリティ認証情報」タブを選択。

    AWS ルートアカウントのクレデンシャル取得は以下のとおり:

    1. ルートアカウントの資格情報を使用してAWS 管理コンソールにサインイン。
    2. アカウント名または番号を選択し、表示されたメニューで「My Security Credentials」を選択。
    3. 「Continue to Security Credentials」をクリックし、「Access Keys」セクションを展開して、ルートアカウントのアクセスキーを管理または作成。

    EC2 インスタンスからの認証

    EC2 インスタンスからCData 製品を使用していて、そのインスタンスにIAM ロールが割り当てられている場合は、認証にIAM ロールを使用できます。 これを行うには、UseEC2Roles をtrue に設定しAccessKeySecretKey を空のままにします。 CData 製品は自動的にIAM ロールの認証情報を取得し、それらを使って認証します。

    AWS ロールとして認証

    多くの場合、認証にはAWS ルートユーザーのダイレクトなセキュリティ認証情報ではなく、IAM ロールを使用することをお勧めします。 代わりにRoleARN を指定してAWS ロールを使用できます。これにより、CData 製品は指定されたロールの資格情報を取得しようと試みます。 (すでにEC2 インスタンスなどで接続されているのではなく)AWS に接続している場合は、役割を担うIAM ユーザーのAccessKeySecretKey を追加で指定する必要があります。AWS ルートユーザーのAccessKey およびSecretKey を指定する場合、 ロールは使用できません。

    MFA での認証

    多要素認証を必要とするユーザーおよびロールには、MFASerialNumber およびMFAToken 接続プロパティを指定してください。 これにより、CData 製品は一時的な認証資格情報を取得するために、リクエストでMFA 認証情報を送信します。一時的な認証情報の有効期間 (デフォルトは3600秒)は、TemporaryTokenDuration プロパティを介して制御できます。

    Amazon Athena への接続

    AccessKeySecretKey プロパティに加え、DatabaseS3StagingDirectoryRegion を設定します。Region をAmazon Athena データがホストされているリージョンに設定します。S3StagingDirectory をクエリの結果を格納したいS3内のフォルダに設定します。

    接続にDatabase が設定されていない場合は、CData 製品はAmazon Athena に設定されているデフォルトデータベースに接続します。

  7. The connection string properties used by the Amazon Athena Adapter.(Salesforce is shown.)

スキーマを作成する

[Add Adapter] ウィザードで接続プロパティを入力すると、[Schema] ウィザードが表示されます。

  1. 次の[Schema Information] のページでは、Amazon Athena アダプターを使用するために構成した送信ポートを選択します。
  2. CData Amazon Athena アダプターが要請応答送信ポートで構成されている場合、[One-Way] オプションを無効にします。
  3. [Command Type] メニューで、ストアドプロシージャを選択します。 Schema options for a stored procedure.(Salesforce is shown.)
  4. メニューからストアドプロシージャを選択し、インプットパラメータの値を入力します。 Input parameters and values.(Salesforce is shown.)
  5. ウィザードで表示される概要の設定を確認して[Finish] をクリックし、schema.xsd ファイルを作成します。

スキーマを処理する

BizTalk アプリでスキーマを使用する際は、こちらのチュートリアルをご覧ください。

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。