SB-Messaging 配接器
服務匯流排 (SB-Messaging) 配接器可用來接收和傳送服務匯流排實體,例如佇列、主題和轉送。 您可以使用SB-Messaging 配接器將內部部署BizTalk Server連線至 Azure。
從 BizTalk Server 2016 Feature Pack 2 開始,支援服務匯流排進階版。 使用此配接器設定傳送埠時,您可以將訊息傳送至分割的佇列和主題。
重要
BizTalk SB-Messaging 配接器會使用 SBMP 通訊協定,其支援最多 1mb 大小的訊息。 BizTalk 配接器不支援可以處理較大訊息的 AMQP 通訊協定。
使用服務匯流排進行驗證
服務匯流排提供兩種方法來驗證:
- 存取控制服務 (ACS)
- 共用存取簽章 (SAS)
建議您使用共用存取簽章 (SAS) 向服務匯流排進行驗證。 共用存取金鑰值列在Azure 入口網站中。
當您建立服務匯流排命名空間時,不會自動建立存取控制 (ACS) 命名空間。 若要使用存取控制,您需要此命名空間的簽發者名稱和簽發者金鑰值。 當您使用 Windows PowerShell 建立新的 ACS 命名空間時,可以使用這些值。 這些值不會列在Azure 入口網站中。
若要使用 ACS 進行驗證,並取得簽發者名稱和簽發者金鑰值,整體步驟包括:
新增您的 Azure 帳戶:
Add-AzureAccount
傳回您的訂用帳戶名稱:
get-azuresubscription
選取您的訂用帳戶:
select-azuresubscription <name of your subscription>
建立新的命名空間:
new-azuresbnamespace <name for the service bus> "Location" -CreateACSNamespace $true -NamespaceType Messaging
範例:
new-azuresbnamespace biztalksbnamespace "South Central US" -CreateACSNamespace $true -NamespaceType Messaging
建立新的 ACS 命名空間 (可能需要幾分鐘的時間) ,IssuerName 和 IssuerKey 值會列在連接字串:
Name : biztalksbnamespace Region : South Central US DefaultKey : abcdefghijklmnopqrstuvwxyz Status : Active CreatedAt : 10/18/2016 9:36:30 PM AcsManagementEndpoint : https://biztalksbnamespace-sb.accesscontrol.windows.net/ ServiceBusEndpoint : https://biztalksbnamespace.servicebus.windows.net/ ConnectionString : Endpoint=sb://biztalksbnamespace.servicebus.windows.net/;SharedSecretIssuer=owner;SharedSecretValue=abcdefghijklmnopqrstuvwxyz NamespaceType : Messaging
如需指引 ,請參閱 New-AzureSBNamespace 。
從服務匯流排接收訊息
在BizTalk Server管理主控台中,依序展開[BizTalk 群組]、[應用程式] 和 [應用程式]。
以滑鼠右鍵按一下 [接收埠],選取 [ 新增],然後選取 [單向接收埠]。
為它命名,然後選取 [接收位置]。
選取 [新增],為它指定 名稱。 在 [傳輸]區段中,從 [類型] 下拉式清單中選取[SB-Messaging],然後選取 [設定]。
設定 [一般 ] 屬性:
使用 作法 佇列或訂閱 URL 指定已部署服務匯流排佇列的 URL。 URL 通常會使用下列格式:
sb://<namespace>.servicebus.windows.net/<queue_name>
開啟逾時 指定時間值,表示可供完成通道開啟作業的時間。
預設值: 1 分鐘關閉逾時 指定時間值,表示可供完成通道關閉作業的時間。
預設值: 1 分鐘接收逾時 指定時間值,表示可供完成接收作業的時間。
預設值: 10 分鐘預先擷取計數 指定同時從服務匯流排佇列或主題接收的訊息數目。 預先擷取可讓佇列或訂用帳戶用戶端在執行接收作業時從服務載入額外的訊息。 用戶端會將這些訊息儲存在本機快取中。 快取大小是由您在此指定的 [預先擷取計數] 屬性值所決定。
如需詳細資訊,請參閱一節 https://azure.microsoft.com/documentation/articles/service-bus-performance-improvements/
預設值: -1使用工作階段 選取此核取方塊以使用服務匯流排工作階段從佇列或訂閱接收訊息。 設定 驗證 屬性:
使用 作法 存取控制服務 選取此項目以使用 ACS 進行驗證並提供下列值:
- 輸入服務匯流排存取控制服務 STS URI。 URI 通常會使用下列格式:
https://<namespace>-sb.accesscontrol.windows.net/
- 輸入服務匯流排命名空間的簽發者名稱。
- 輸入服務匯流排命名空間的簽發者金鑰。從 BizTalk Server 2013 R2) 開始, (新的共用存取簽章 選取此項目以使用共用存取簽章 (SAS) 以進行驗證,並提供 SAS 金鑰和金鑰值。 在 [屬性] 索引標籤的 [訊息屬性]的 [命名空間] 中,輸入配接器用來將訊息屬性寫入代理訊息屬性的命名空間,作為BizTalk Server所接收之訊息上的訊息內容屬性。 如果您想要升級代理訊息屬性,請選取 [ 升級代理訊息屬性 ] 核取方塊。
選取 [確定]。
選取您的 接收處理常式和 [接收管線]。 選取 [ 確定 ] 以儲存變更。 建立接收位置 提供一些指引。
將訊息傳送至服務匯流排
在 BizTalk Server 管理主控台中,以滑鼠右鍵按一下 [傳送埠],選取 [新增],然後選取 [靜態單向傳送埠]。
建立傳送埠 提供一些指引。
輸入 [名稱] 。 在 [傳輸] 中,將 [類型 ] 設定為 SB-Messaging,然後選取 [ 設定]。
設定 [一般 ] 屬性:
使用 作法 目的地 URL 輸入部署服務匯流排佇列的 URL。 URL 通常會使用下列格式:
sb://<namespace>.servicebus.windows.net/<queue_name>
批次排清間隔 指定時間值,表示將傳送至佇列或主題的訊息批次排清的間隔。 預設值是 20 毫秒。
如需有關服務匯流排佇列和主題的批次處理詳細資訊,請參閱 的用戶端批次處理 一 https://azure.microsoft.com/documentation/articles/service-bus-performance-improvements 節。開啟逾時 指定時間值,表示可供完成通道開啟作業的時間。
預設值: 1 分鐘傳送逾時 指定時間值,表示可供完成傳送作業的時間。
預設值: 1 分鐘關閉逾時 指定時間值,表示可供完成通道關閉作業的時間。
預設值: 1 分鐘設定 驗證 屬性:
使用 作法 存取控制服務 選取此項目以使用 ACS 進行驗證並提供下列值:
- 輸入服務匯流排存取控制服務 STS URI。 URI 通常會使用下列格式:
https://<namespace>-sb.accesscontrol.windows.net/
- 輸入服務匯流排命名空間的簽發者名稱。
- 輸入服務匯流排命名空間的簽發者金鑰。從 BizTalk Server 2013 R2) 開始, (新的共用存取簽章 選取此項目以使用共用存取簽章 (SAS) 以進行驗證,並提供 SAS 金鑰和金鑰值。 在 [ 屬性] 索引 標籤 中,輸入使用者定義 Brokered Message Properties 的命名空間 ,其中包含您想要在傳出訊息上寫入至服務匯流排的 BizTalk 訊息內容屬性。 所有命名空間屬性都會以使用者定義的 Brokered Message 屬性的形式寫入訊息。 配接器將屬性寫入為仲介訊息屬性時,會忽略此命名空間。 它僅使用命名空間來確定要寫入的屬性。
您也可以輸入 BrokeredMessage 屬性的值。 這些屬性會在 BrokeredMessage 屬性中描述,包括 分割區索引鍵。
選取 [ 確定 ] 以儲存變更。