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

アップデートグラム用のスキーマを作成する
以下のステップに従って、Visual Studio のBizTalk サーバープロジェクトでスキーマを作成します。
- 未追加の場合は、Gmail アダプターをプロジェクトに追加します。
- 送信ポートや受信場所で、認証資格情報やその他の接続プロパティが未構成の場合、[Add Adapter]ウィザードの[Connection String]ページから入力します。下は一般的な接続文字列です。
User=username;Password=password;
Gmail に接続する方法は2つあります。ログインクレデンシャルかOAuth のいずれかを選択する前に、まずGmail のアカウント設定でIMAP アクセスを有効にしてください。詳しくは、ヘルプドキュメントの「はじめに」-「Gmail への接続」を参照してください。
Authentication セクションのUser とPassword プロパティに、有効なGmail ユーザー資格情報を設定します。
あるいは、Password を指定する代わりに、OAuth 認証標準を使います。 個々のユーザーに代わってGoogle API にアクセスするには、埋め込みクレデンシャルを使用するか、独自のOAuth アプリを登録することができます。
また、OAuth を利用することで、Google Apps ドメイン内のユーザーに代わってサービスアカウントを使用して接続することができます。サービスアカウントで認証するには、アプリケーションを登録してOAuth JWT 値を取得する必要があります。
OAuth 値に加え、User を指定する必要があります。詳しくは、ヘルプドキュメントの「はじめに」を参照してください。
接続プロパティの詳細は、ヘルプドキュメントの"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/GmailProvider">
<ns0:sync>
<ns0:before></ns0:before>
<ns0:after>
<ns0:Inbox Subject="Subject_0" Size="Size_1" />
</ns0:after>
</ns0:sync>
</ns0:parameters>
アップデート
次に、アップデートの一例です。このインスタンスでは、before ブロック(テーブルに存在するデータ)と、after ブロック(データの変化)の両方を扱います。
<ns0:parameters xmlns:ns0="http://www.cdata.com/jp/GmailProvider">
<ns0:sync>
<ns0:before>
<ns0:Inbox Id=001d000000YBRseAAH></ns0:Inbox>
</ns0:before>
<ns0:after>
<ns0:Inbox Subject="Subject_0" Size="Size_1" ></ns0:Inbox>
</ns0:after>
</ns0:sync>
</ns0:parameters>
デリート
最後に、デリートの一例です。after ブロックは空になり、アイテムを除去していることを示します。
<ns0:parameters xmlns:ns0="http://www.cdata.com/jp/GmailProvider">
<ns0:sync>
<ns0:before>
<ns0:Inbox Id=001d000000YBRseAAH></ns0:Inbox>
</ns0:before>
<ns0:after></ns0:after>
</ns0:sync>
</ns0:parameters>
スキーマを処理する
Gmail レコードのインサート、アップデート、デリートにアップデートグラムを使用するには、こちらのチュートリアルをご覧ください。