共用方式為


BizTalk Server中的 Azure Blob 儲存體配接器

從 BizTalk Server 2020 和更新版本開始,您可以在BizTalk Server與 Azure Blob 儲存體之間傳送和接收訊息。

Azure Blob 儲存體是 Microsoft 的雲端物件儲存體解決方案,其已針對儲存大量非結構化資料進行優化。 如需詳細資訊,請參閱 什麼是 Azure Blob 儲存體?

必要條件

使用容器建立 Azure Blob 儲存體帳戶

將訊息傳送至 Azure Blob 儲存體

  1. 在 BizTalk Server 管理主控台中,以滑鼠右鍵按一下 [傳送埠>] [新增>靜態單向傳送埠]。

    建立傳送埠 提供一些指引。

  2. 輸入 [名稱] 。 在 [傳輸] 中,將 [類型 ] 設定為 [AzureBlobStorage],然後選取 [ 設定]。

  3. 設定 Azure 帳戶 屬性。

    提示

    配接器組態視窗可以在登入 Azure 訂用帳戶之後自動填入您的 Azure 資源。 這可讓設定更容易。 登入 Azure 訂用帳戶是選擇的。

    • 登入:登入您的 Azure 帳戶。
    • 用帳戶:選取具有 Azure 儲存體帳戶的訂用帳戶。
    • 資源群組:選取具有 Azure 儲存體帳戶的資源群組。
  4. 設定 [一般 ] 屬性:

    • 儲存體驗證:選取驗證方法:

      • 預設會選取共用存取簽章。 您必須在 [連接字串] 欄位中輸入共用存取簽章連接字串。
      • 如果您使用 存取金鑰,則會在 [ 帳戶 ] 下拉式清單中填入儲存體帳戶的集合。 選取儲存體帳戶之後, [連接字串 ] 欄位會自動填入主要存取金鑰,也稱為 key1

      下列連結是良好的資源,可協助您決定哪一種驗證方法適合您的案例:

    • Blob 容器名稱:從下拉式清單中選取 Blob 容器的名稱。 輸入 連接字串 之後,就會自動填入清單。

    • Blob 名稱:輸入配接器要使用的 Blob 名稱。 宏可用於 Blob 名稱。 如需可用的宏,請參閱 在檔案名中使用宏

    • Blob 中繼資料的命名空間:輸入命名空間作為篩選準則。 如果屬性的命名空間符合此欄位,訊息的內容屬性就會寫入 Blob 中繼資料。

    完成後,您的屬性看起來會類似下列內容:

    Azure Blob 儲存體傳送配接器 BizTalk Server 中的一般屬性

  5. 設定 進階 屬性:

    • Blob 類型:輸入要使用的 Blob 類型 。 如需詳細資訊,請參閱 Blob 類型
    • 寫入模式:當指定的 Blob 名稱 已經存在時,請使用此設定來指定配接器行為。
      • 新建:配接器一律會嘗試建立新的 Blob。 如果已有相同名稱的 Blob,BizTalk 訊息就會暫停。
      • 覆寫:如果 Blob 名稱已經存在,配接器就會覆寫。 也會覆寫中繼資料。
      • 附加:如果 Blob 已經存在,配接器會將訊息本文附加至現有的 Blob。 中繼資料不會變更。
  6. 選取 [ 確定 ] 以儲存變更。

測試傳送埠

您可以使用簡單的檔案接收埠和位置,將訊息傳送至 Azure Blob 儲存體。

  1. 使用檔案配接器,建立名為 FileReceivePort的接收埠。 在您的接收位置內,將 [接收] 資料夾 設定為 C:\Temp\In\\ ,並將檔案遮罩設定為 \*.xml

  2. 在 Azure Blob 儲存體傳送埠屬性中,將 [篩選 ] 設定為 BTS.ReceivePortName == FileReceivePort

  3. 將下列內容貼到文字編輯器中,並將檔案儲存為 AzureBlobStorageMessage.xml。 此檔案是您範例訊息。

    <Data>
      <DataID>DataID_0</DataID>
      <DataDetails>DataDetails_0</DataDetails>
    </Data>
    
  4. 啟動檔案接收位置和 Azure Blob 儲存體傳送埠。

  5. AzureBlobStorageMessage.xml 範例訊息複製到接收資料夾中,例如 C:\Temp\In\ 。 傳送埠會將 XML 檔案傳送至 Azure Blob 儲存體。 查看您的 Azure 儲存體容器,並檢視新建立或更新的檔案來確認。

從 Azure Blob 儲存體接收訊息

  1. 在 BizTalk Server 管理主控台中,以滑鼠右鍵按一下[接收埠>] [新增>單向接收埠]。

    建立接收埠 提供一些指引。

  2. 輸入名稱,然後選取 [接收位置]。

  3. 選取 [新增],然後 命名 接收位置。 在[傳輸] 中,從 [類型] 下拉式清單中選取[AzureBlobStorage]。 選取 [設定]

  4. 設定 Azure 帳戶 屬性:

    提示

    對傳送配接器進行簡化,這是選擇性的。

    • 登入:登入您的 Azure 帳戶。
    • 用帳戶:選取具有 Azure 儲存體帳戶的訂用帳戶。
    • 資源群組:選取具有 Azure 儲存體帳戶的資源群組。
  5. 設定 [一般 ] 屬性:

    • 儲存體驗證:選取驗證方法:

      • 預設會選取共用存取簽章。 您必須在 [連接字串] 欄位中輸入共用存取簽章連接字串。
      • 如果您使用 存取金鑰,則會在 [ 帳戶 ] 下拉式清單中填入儲存體帳戶的集合。 選取儲存體帳戶之後, [連接字串 ] 欄位會自動填入主要存取金鑰,也稱為 key1

      下列連結是良好的資源,可協助您決定適合您的案例:

    • Blob 容器名稱:從下拉式清單中選取 Blob 容器的名稱。 輸入 連接字串 之後,就會自動填入清單。

    • Blob 名稱前置詞:輸入適用位置的前置詞。 例如,如果 「order/」 用於 Blob 名稱前置詞,則接收位置只會挑選 「order」 資料夾中的檔案。

    • Blob 中繼資料的命名空間:輸入介面卡的命名空間,以從自訂 Blob 中繼資料建立內容屬性。

    • 升級中繼資料屬性:選擇是否升級自訂 Blob 中繼資料。

    注意

    根據預設,所有標準 Blob 屬性,例如 Blob Uri、名稱和 BlobType,都會設定為具有命名空間之 BizTalk 訊息 http://schemas.microsoft.com/BizTalk/Adapter/AzureStorage-properties 的內容屬性。

    完成後,您的屬性看起來會類似下列內容:

    Azure Blob 儲存體接收配接器 BizTalk Server 中的一般屬性

  6. 設定 進階 屬性:

    • 輪詢間隔:輸入輪詢間隔。
    • 每個批次的訊息數目上限:輸入提交至 BizTalk 時配接器批次的訊息數目。
    • 平行下載:輸入允許平行下載的 Blob 數目上限。
    • 錯誤臨界值:輸入錯誤臨界值。 當接收位置達到這個錯誤數目時,就會停用接收位置。
  7. 選取 [ 確定 ] 以儲存變更。

測試您的接收設定

您可以使用簡單的檔案傳送埠,從 Azure Blob 儲存體接收訊息。

  1. 使用檔案配接器建立傳送埠。 在傳送埠屬性中,將 [目的地] 資料夾 設定為 C:\Temp\Out\\ ,並將 和 [檔案名 ] 設定為 %MessageID%.xml
  2. 在 [檔案傳送埠屬性] 中,將 [篩選 ] 設定為 BTS.ReceivePortName == BlobReceivePort
  3. 建立名為 BlobReceivePort的接收埠,並建立 Azure Blob 儲存體接收位置。 啟動它。
  4. 將檔案上傳至 Azure 入口網站 中的 Blob 容器。 請注意您在配接器中設定的相符前置詞。 尋找目的地資料夾中的訊息, (c:\temp\out) 。

重要

Azure Blob 儲存體接收配接器會在 Blob 提交至 BizTalk MessageBox 資料庫之後刪除該 Blob。

Azure Blob 儲存體配接器的高可用性

Azure Blob 儲存體接收配接器支援高可用性。 您可以在相同的 Azure Blob 儲存體配接器接收處理常式中新增多個主機實例,以同時從相同的 Blob 容器接收。 Blob 租用是用來作為鎖定,以避免多個主機實例收到相同的 Blob。 因此:

  • Azure Blob 儲存體配接器不會收到其他進程租用的 Blob。
  • Azure Blob 儲存體配接器所接收的 Blob 在處於租用狀態時無法更新。

如需 Azure Blob 租用的詳細資訊,請參閱 Blob 的封閉式並行存取。

Azure Blob 儲存體傳送配接器就像大部分的傳送配接器一樣,藉由在同一個傳送主機中擁有多個主機實例,為傳送主機提供高可用性。

下一步

BizTalk Server 中的配接器