次の方法で共有


BizTalk Server の Azure Blob Storage アダプター

BizTalk Server 2020 以降では、BizTalk Server と Azure Blob Storage の間でメッセージを送受信できます。

Azure Blob Storage は、大量の非構造化データを格納するために最適化された、クラウド用の Microsoft のオブジェクト ストレージ ソリューションです。 詳細については、「 Azure Blob Storage とは」を参照してください。

[前提条件]

コンテナーを使用して Azure BLOB ストレージ アカウント を作成します。

Azure Blob Storage にメッセージを送信する

  1. BizTalk Server 管理コンソールで、[送信ポート]>New>Static 一方向送信ポートを右クリックします。

    送信ポートを作成すると、 いくつかのガイダンスが提供されます。

  2. 名前を入力します。 トランスポートで、種類AzureBlobStorage に設定し、[構成] を選択します

  3. Azure アカウントのプロパティを構成します。

    ヒント

    アダプター構成ウィンドウでは、Azure サブスクリプションにサインインした後、Azure リソースを自動的に設定できます。 これにより、構成が簡単になります。 Azure サブスクリプションへのサインインは任意です。

    • サインイン: Azure アカウントにサインインします。
    • サブスクリプション: Azure ストレージ アカウントを持つサブスクリプションを選択します。
    • リソース グループ: Azure ストレージ アカウントを持つリソース グループを選択します。
  4. [全般] プロパティを構成します。

    • ストレージ認証: 認証方法を選択します。

      • Shared Access Signature は既定で選択されています。 [ 接続文字列] フィールド に Shared Access Signature 接続文字列を入力する必要があります。
      • アクセス キーを使用する場合は、[アカウント] ドロップダウン リストにストレージ アカウントのコレクションが設定されます。 ストレージ アカウントを選択すると、[ 接続文字列 ] フィールドにプライマリ アクセス キー ( key1 とも呼ばれます) が自動的に入力されます。

      次のリンクは、シナリオに適した認証方法を決定するのに役立つ適切なリソースです。

    • BLOB コンテナー名: ドロップダウン リストから BLOB コンテナーの名前を選択します。 接続文字列を入力すると、一覧が自動的に入力されます

    • BLOB 名: アダプターで使用する BLOB の名前を入力します。 マクロは BLOB 名で使用できます。 使用可能なマクロについては、 ファイル名でのマクロの使用を参照してください。

    • BLOB メタデータの名前空間: フィルターとして名前空間を入力します。 プロパティの名前空間がこのフィールドと一致する場合、メッセージのコンテキスト プロパティは BLOB メタデータに書き込まれます。

    完了すると、プロパティはこのような見た目になります。

    BizTalk Server の Azure Blob Storage 送信アダプターの全般プロパティ

  5. 詳細プロパティを構成します。

    • BLOB の種類: 使用する BLOB の種類 を入力します。 詳細については、「 BLOB の種類」を参照してください
    • 書き込みモード: 指定された BLOB 名 が既に存在する場合のアダプターの動作を指定するには、この設定を使用します。
      • 新規作成: アダプターは常に新しい BLOB の作成を試みます。 同じ名前の BLOB が既に存在する場合、BizTalk メッセージは中断されます。
      • 上書き: BLOB 名が既に存在する場合、アダプターは上書きします。 メタデータも上書きされます。
      • 追加: BLOB が既に存在する場合、アダプターはメッセージ本文を既存の BLOB に追加します。 メタデータは変更されません。
  6. [OK] を選択して変更を保存します。

送信ポートをテストする

単純なファイル受信ポートと場所を使用して、Azure Blob Storage にメッセージを送信できます。

  1. ファイル アダプターを使用して、 FileReceivePort という名前の受信ポートを作成します。 受信場所内で、[ 受信] フォルダー を [ C:\Temp\In\\] に設定し、ファイル マスクを \*.xml に設定します。

  2. Azure Blob Storage の送信ポートのプロパティで、[ フィルター] を [ BTS.ReceivePortName == FileReceivePortに設定します。

  3. 次をテキスト エディターに貼り付け、ファイルを AzureBlobStorageMessage.xmlとして保存します。 このファイルはサンプル メッセージです。

    <Data>
      <DataID>DataID_0</DataID>
      <DataDetails>DataDetails_0</DataDetails>
    </Data>
    
  4. ファイルの受信場所と Azure BLOB ストレージの送信ポートを開始します。

  5. C:\Temp\In\など、AzureBlobStorageMessage.xml サンプル メッセージを受信フォルダーにコピーします。 送信ポートは、XML ファイルを Azure BLOB ストレージに送信します。 確認するには、Azure ストレージ コンテナーを調べて、新しく作成または更新されたファイルを表示します。

Azure Blob Storage からメッセージを受信する

  1. BizTalk Server 管理コンソールで、 受信ポート>New>One-Way 受信ポートを右クリックします。

    受信ポートを作成すると、 いくつかのガイダンスが提供されます。

  2. 名前を入力し、[ 受信場所] を選択します。

  3. [ 新規] を選択し、受信場所に 名前を付 けます。 [トランスポート] で、[種類] ドロップダウン リストから AzureBlobStorage を選択します。 設定を選択します。

  4. Azure アカウントのプロパティを構成します。

    ヒント

    送信アダプターと同じで、これは省略可能です。

    • サインイン: Azure アカウントにサインインします。
    • サブスクリプション: Azure ストレージ アカウントを持つサブスクリプションを選択します。
    • リソース グループ: Azure ストレージ アカウントを持つリソース グループを選択します。
  5. [全般] プロパティを構成します。

    • ストレージ認証: 認証方法を選択します。

      • Shared Access Signature は既定で選択されています。 [ 接続文字列] フィールド に Shared Access Signature 接続文字列を入力する必要があります。
      • アクセス キーを使用する場合は、[アカウント] ドロップダウン リストにストレージ アカウントのコレクションが設定されます。 ストレージ アカウントを選択すると、[ 接続文字列 ] フィールドにプライマリ アクセス キー ( key1 とも呼ばれます) が自動的に入力されます。

      次のリンクは、シナリオに適したリソースを決定するのに役立ちます。

    • BLOB コンテナー名: ドロップダウン リストから BLOB コンテナーの名前を選択します。 接続文字列を入力すると、一覧が自動的に入力されます

    • BLOB 名のプレフィックス: 必要に応じてプレフィックスを入力します。 たとえば、 BLOB 名プレフィックスに "order/" が使用されている場合、受信場所は "order" フォルダー内のファイルのみを取得します。

    • BLOB メタデータの名前空間: カスタム BLOB メタデータからコンテキスト プロパティを作成するためのアダプターの名前空間を入力します。

    • メタデータ プロパティの昇格: カスタム BLOB メタデータを昇格するかどうかを選択します。

    既定では、BLOB URI、名前、BlobType などのすべての標準 BLOB プロパティは、 http://schemas.microsoft.com/BizTalk/Adapter/AzureStorage-properties 名前空間を持つ BizTalk メッセージのコンテキスト プロパティとして設定されます。

    完了すると、プロパティはこのような見た目になります。

    Azure BLOB ストレージは、BizTalk Server のアダプターの全般プロパティを受け取ります

  6. 詳細プロパティを構成します。

    • ポーリング間隔: ポーリング間隔を入力します。
    • バッチあたりの最大メッセージ数: BizTalk への送信時にアダプターバッチに含まれるメッセージの数を入力します。
    • 並列ダウンロード: 並列でダウンロードできる BLOB の最大数を入力します。
    • エラーしきい値: エラーしきい値を入力します。 受信場所がこの数のエラーに達すると、受信場所は無効になります。
  7. [OK] を選択して変更を保存します。

受信設定をテストする

単純なファイル送信ポートを使用して、Azure Blob Storage からメッセージを受信できます。

  1. ファイル アダプターを使用して送信ポートを作成します。 送信ポートのプロパティ内で、[ 宛先] フォルダー を [ C:\Temp\Out\\] に設定し、[ ファイル名 ] を [ %MessageID%.xmlに設定します。
  2. ファイル送信ポートのプロパティで、[ フィルター] を [ BTS.ReceivePortName == BlobReceivePort] に設定します。
  3. BlobReceivePort という名前の受信ポートを作成し、Azure Blob Storage の受信場所を作成します。 起動します。
  4. Azure portal で BLOB コンテナーにファイルをアップロードします。 アダプターで構成した一致するプレフィックスに注意してください。 宛先フォルダー (c:\temp\out) 内のメッセージを探します。

Von Bedeutung

Azure Blob Storage 受信アダプターは、BizTalk MessageBox データベースに送信された BLOB を削除します。

Azure Blob Storage アダプターの高可用性

Azure Blob Storage 受信アダプターでは、高可用性がサポートされています。 同じ Azure Blob Storage アダプター受信ハンドラーに複数のホスト インスタンスを追加して、同じ BLOB コンテナーから同時に受信できます。 BLOB リースは、同じ BLOB が複数のホスト インスタンスによって受信されないようにするためのロックとして使用されます。 だから:

  • 他のプロセスによってリースされた BLOB は、Azure Blob Storage アダプターによって受信されません。
  • Azure Blob Storage アダプターによって受信されている BLOB は、リース状態の間は更新できません。

Azure BLOB リースの詳細については、 BLOB のペシミスティック コンカレンシーに関するページを参照してください。

Azure Blob Storage 送信アダプターは、ほとんどの送信アダプターと同様に、同じ送信ホストに複数のホスト インスタンスを含めることで、送信ホストの高可用性を提供します。

次のステップ

BizTalk Server のアダプター