アップデートグラムを使用することで、Amazon S3 をインサート、アップデート、デリートできます。ここでは、CData BizTalk Adapter for Amazon S3 を使用して、アップデートグラムスキーマとインスタンスを作成する方法を説明します。
この記事では、CData BizTalk Adapter for Amazon S3 で実行できるアップデートグラムを作成します。設計したスキーマは、インサート、アップデート、デリートのアップデートグラムを作成するためのテンプレートとして使用します。
プロジェクトにAmazon S3 用アダプターを追加する
[Add Adapter] ウィザードから、アダプターをVisual Studio のBizTalk サーバープロジェクトに追加します。アダプターを使って、修正したいテーブルに関するAmazon S3 のメタデータをクエリします。
- [Solution Explorer] の[project] で右クリックし、[Add] -> [Add Generated Items] と進みます。
- [resulting dialog box] の[Add Adapter Metadata] を選択します。
- 表示される[Add Adapter] ウィザードで、リストからCData BizTalk Adapter for Amazon S3 を選択します。
- [Port menu] では、選択を空白のままにします。もしくは、アダプターを使用するように構成されている受信場所や送信ポートを選択します。
- [Next]をクリックすると、[Schema]ウィザードが表示されます。

アップデートグラム用のスキーマを作成する
以下のステップに従って、Visual Studio のBizTalk サーバープロジェクトでスキーマを作成します。
- 未追加の場合は、Amazon S3 アダプターをプロジェクトに追加します。
- 送信ポートや受信場所で、認証資格情報やその他の接続プロパティが未構成の場合、[Add Adapter]ウィザードの[Connection String]ページから入力します。下は一般的な接続文字列です。
AccessKey=a123;SecretKey=s123;
Amazon S3 リクエストを認可するには、管理者アカウントまたはカスタム権限を持つIAM ユーザーの認証情報を入力します。AccessKey をアクセスキーID に設定します。SecretKey をシークレットアクセスキーに設定します。
Note: AWS アカウント管理者として接続できますが、AWS サービスにアクセスするにはIAM ユーザー認証情報を使用することをお勧めします。
アクセスキーの取得
IAM ユーザーの資格情報を取得するには:
- IAM コンソールにサインインします。
- ナビゲーションペインで[ユーザー]を選択します。
- ユーザーのアクセスキーを作成または管理するには、ユーザーを選択してから[セキュリティ認証情報]タブを選択します。
AWS ルートアカウントの資格情報を取得するには:
- ルートアカウントの資格情報を使用してAWS 管理コンソールにサインインします。
- アカウント名または番号を選択し、表示されたメニューで[My Security Credentials]を選択します。
- [Continue to Security Credentials]をクリックし、[Access Keys]セクションを展開して、ルートアカウントのアクセスキーを管理または作成します。
AWS ロールとして認証
多くの場合、認証にはAWS ルートユーザーのダイレクトなセキュリティ認証情報ではなく、IAM ロールを使用することをお勧めします。RoleARN を指定することでAWS ロールを代わりに使用できます。これにより、本製品は指定されたロールの資格情報を取得しようと試みます。
(すでにEC2 インスタンスなどで接続されているのではなく)AWS に接続している場合は、ロールを引き受けるIAM ユーザーのAccessKey とSecretKey を追加で指定する必要があります。AWS ルートユーザーのAccessKey および SecretKey を指定する場合、ロールは使用できません。
SSO 認証
SSO 認証を必要とするユーザーおよびロールには、RoleARN およびPrincipalArn 接続プロパティを指定してください。各Identity Provider に固有のSSOProperties を指定し、AccessKey とSecretKey を空のままにする必要があります。これにより、本製品は一時的な認証資格情報を取得するために、リクエストでSSO 認証情報を送信します。
接続プロパティの詳細は、ヘルプドキュメントの"BizTalk Configuration" チャプターを参照してください。
- [Schema Information]ページで、[General Options]セクションの[Send Port]をクリックします。[CommandType]メニューから[Updategram]を選択します。要請応答送信ポートのアダプターを使用している場合、[One-Way]オプションを無効にします。
- 次の[Statement Information]ページでは、アップデートグラムの形式(Insert、Update、Delete)を選択します。 スキーマに含ませたいテーブル名とカラムを選択します。アップデートまたはデリートを行う場合、ID カラムを選択します。
Noteアップデートグラムを作成する際、修正はスキーマに含ませたカラムに限定されます。
- [Next]をクリックしてスキーマの概要を確認してウィザードを終了し、スキーマを作成します。完成した.xsd ファイルがプロジェクトに追加されます。

インサート、アップデート、デリートのインスタンスメッセージを生成する
アップデートグラムスキーマの作成後、アップデートグラムを生成する.xsd ファイルを使用できます。.xsd ファイルを右クリックし、[Generate Instance]を選択します。このファイルは、アップデートグラムを手動で作成するテンプレートとして使用することもできます。以下は、インサート、アップデート、デリートそれぞれに生成されたアップデートグラムインスタンスの例です。
インサート
まず、インサートの一例です。このインスタンスでは、データの変化を指定するafter ブロックのみを扱います。
<ns0:parameters xmlns:ns0="http://www.cdata.com/jp/AmazonS3Provider">
<ns0:sync>
<ns0:before></ns0:before>
<ns0:after>
<ns0:ObjectsACL Name="Name_0" OwnerId="OwnerId_1" />
</ns0:after>
</ns0:sync>
</ns0:parameters>
アップデート
次に、アップデートの一例です。このインスタンスでは、before ブロック(テーブルに存在するデータ)と、after ブロック(データの変化)の両方を扱います。
<ns0:parameters xmlns:ns0="http://www.cdata.com/jp/AmazonS3Provider">
<ns0:sync>
<ns0:before>
<ns0:ObjectsACL Id=001d000000YBRseAAH></ns0:ObjectsACL>
</ns0:before>
<ns0:after>
<ns0:ObjectsACL Name="Name_0" OwnerId="OwnerId_1" ></ns0:ObjectsACL>
</ns0:after>
</ns0:sync>
</ns0:parameters>
デリート
最後に、デリートの一例です。after ブロックは空になり、アイテムを除去していることを示します。
<ns0:parameters xmlns:ns0="http://www.cdata.com/jp/AmazonS3Provider">
<ns0:sync>
<ns0:before>
<ns0:ObjectsACL Id=001d000000YBRseAAH></ns0:ObjectsACL>
</ns0:before>
<ns0:after></ns0:after>
</ns0:sync>
</ns0:parameters>
スキーマを処理する
Amazon S3 レコードのインサート、アップデート、デリートにアップデートグラムを使用するには、こちらのチュートリアルをご覧ください。