[英]Connecting to Azure Event Grid and Service Bus using Java/Spring
我有一個場景,只要 Azure 服務總線的隊列/主題中有消息,Azure ServiceBus就會將事件發送到事件網格。 那么如何在 Java/Spring 中與 Event Grid 建立連接以接收事件以及與 Service Bus 建立連接以提取消息。 在 Java/Spring 中要進行哪些配置才能與 Event Grid 和 Azure 服務總線建立連接? 此外,必須在應用程序端(application.yml 或屬性文件)進行哪些配置才能包含連接字符串等內容?
您的要求可以通過 azure function 應用程序輕松實現。
將服務總線隊列/主題設置為您的 function 的觸發器以接收消息。
並使用 Azure SDK 為 Java 發送事件到事件網格:
https://docs.microsoft.com/en-us/java/api/overview/azure/eventgrid/client?view=azure-java-stable
Azure 服務總線到事件網格集成
服務總線現在可以在隊列中有消息時向事件網格發出事件,或者在沒有接收者的情況下訂閱。 您可以為服務總線命名空間創建事件網格訂閱,偵聽這些事件,然后通過啟動接收器對事件做出反應。
要啟用該功能,您需要以下項目:
查看此Microsoft 文檔以獲取更多信息。
選中此項以使用 Azure Function 連接兩者。
檢查此文檔以使用Logic App連接兩者。
Azure CLI:
namespaceid=$(az resource show --namespace Microsoft.ServiceBus --resource-type namespaces --name "<service bus namespace>" --resource-group "<resource group that contains the service bus namespace>" --query id --output tsv
az eventgrid event-subscription create --resource-id $namespaceid --name "<YOUR EVENT GRID SUBSCRIPTION NAME>" --endpoint "<your_endpoint_url>" --subject-ends-with "<YOUR SERVICE BUS SUBSCRIPTION NAME>"
Powershell:
$namespaceID = (Get-AzServiceBusNamespace -ResourceGroupName "<YOUR RESOURCE GROUP NAME>" -NamespaceName "<YOUR NAMESPACE NAME>").Id
New-AzEVentGridSubscription -EventSubscriptionName "<YOUR EVENT GRID SUBSCRIPTION NAME>" -ResourceId $namespaceID -Endpoint "<YOUR ENDPOINT URL>” -SubjectEndsWith "<YOUR SERVICE BUS SUBSCRIPTION NAME>"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.