共用方式為


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 管理控制台中,以滑鼠右鍵按兩下 [ 接收埠>新增> ]One-Way 接收埠

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

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

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

  4. 設定 Azure 帳戶 屬性:

    小提示

    類似於傳送適配器,這是可選的。

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

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

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

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

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

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

    • Blob 元數據的命名空間:輸入配接器的命名空間,以從自定義 Blob 元數據建立內容屬性。

    • 提升元數據屬性:選擇是否提升自定義的 BLOB 元數據。

    備註

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

    完成後,您的屬性看起來如下所示:

    BizTalk Server 中 Azure Blob 儲存體接收介面的一般屬性

  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 儲存體接收配接器會在提交至 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 中的配接器