Hızlı başlangıç: Azure CLı ve Event Grid ile Azure Event Hubs özel olayları yönlendirmeQuickstart: Route custom events to Azure Event Hubs with Azure CLI and Event Grid
Azure Event Grid, bulut için bir olay oluşturma hizmetidir.Azure Event Grid is an eventing service for the cloud. Azure Event Hubs, desteklenen olay işleyicilerinden biridir.Azure Event Hubs is one of the supported event handlers. Bu makalede Azure CLI ile özel bir konu oluşturacak, bu özel konuya abone olacak ve olayı tetikleyerek sonucu görüntüleyeceksiniz.In this article, you use the Azure CLI to create a custom topic, subscribe to the custom topic, and trigger the event to view the result. Bir Event Hub’a olaylar gönderirsiniz.You send the events to an event hub.
Kaynak grubu oluşturmaCreate a resource group
Event Grid konuları Azure kaynaklarıdır ve bir Azure kaynak grubuna yerleştirilmelidir.Event Grid topics are Azure resources, and must be placed in an Azure resource group. Kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal koleksiyondur.The resource group is a logical collection into which Azure resources are deployed and managed.
Aşağıdaki örnek westus2 konumunda gridResourceGroup adlı bir kaynak grubu oluşturur.The following example creates a resource group named gridResourceGroup in the westus2 location.
az group create --name gridResourceGroup --location westus2
Event Grid kaynak sağlayıcısını etkinleştirmeEnable Event Grid resource provider
Azure aboneliğinizde daha önce Event Grid kullanmadıysanız Event Grid kaynak sağlayıcısına kaydolmanız gerekebilir.If you haven't previously used Event Grid in your Azure subscription, you may need to register the Event Grid resource provider. Sağlayıcıyı kaydetmek için şu komutu çalıştırın:Run the following command to register the provider:
az provider register --namespace Microsoft.EventGrid
Kayıt işleminin tamamlanması biraz sürebilir.It may take a moment for the registration to finish. Durumu denetlemek için şunu çalıştırın:To check the status, run:
az provider show --namespace Microsoft.EventGrid --query "registrationState"
registrationState
Registered olduğu zaman devam edebilirsiniz.When
registrationState is
Registered, you're ready to continue.
Özel Konu OluşturmaCreate a Custom Topic
Event grid konusu, olaylarınızı göndereceğiniz kullanıcı tanımlı bir uç nokta sağlar.An event grid topic provides a user-defined endpoint that you post your events to. Aşağıdaki örnekte özel konu, kaynak grubunuzda oluşturulur.The following example creates the custom topic in your resource group.
<your-topic-name> değerini özel konunuz için benzersiz bir adla değiştirin.Replace
<your-topic-name> with a unique name for your custom topic. DNS girdisi ile temsil edildiğinden özel konu adı benzersiz olmalıdır.The custom topic name must be unique because it's represented by a DNS entry.
topicname=<your-topic-name> az eventgrid topic create --name $topicname -l westus2 -g gridResourceGroup
Olay hub'ı oluşturmaCreate event hub
Özel konuya abone olmadan önce, olay iletisi için uç noktayı oluşturalım.Before subscribing to the custom topic, let's create the endpoint for the event message. Olayları toplamak için bir event hub oluşturun.You create an event hub for collecting the events.
namespace=<unique-namespace-name> hubname=demohub az eventhubs namespace create --name $namespace --resource-group gridResourceGroup az eventhubs eventhub create --name $hubname --namespace-name $namespace --resource-group gridResourceGroup
Özel konuya abone olmaSubscribe to a custom topic
İzlemek istediğiniz olayları Event Grid söylemek için bir Event Grid konusuna abone olursunuz. Aşağıdaki örnek, oluşturduğunuz özel konuya abone olur ve uç nokta için Olay Hub 'ının kaynak KIMLIĞINI geçirir.You subscribe to an event grid topic to tell Event Grid which events you want to track. The following example subscribes to the custom topic you created, and passes the resource ID of the event hub for the endpoint. Uç nokta şu biçimdedir:The endpoint is in the format:
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.EventHub/namespaces/<namespace-name>/eventhubs/<hub-name>
Aşağıdaki betik, event hub için kaynak kimliğini alır ve bir event grid konusuna abone olur.The following script gets the resource ID for the event hub, and subscribes to an event grid topic. Uç nokta türünü
eventhub olarak ayarlar ve uç nokta için event hub kimliğini kullanır.It sets the endpoint type to
eventhub and uses the event hub ID for the endpoint.
hubid=$(az eventhubs eventhub show --name $hubname --namespace-name $namespace --resource-group gridResourceGroup --query id --output tsv) az eventgrid event-subscription create \ --topic-name $topicname \ -g gridResourceGroup \ --name subtoeventhub \ --endpoint-type eventhub \ --endpoint $hubid
Olay aboneliğini oluşturan hesabın olay hub'ında yazma erişimine sahip olması gerekir.The account that creates the event subscription must have write access to the event hub.
Özel konunuza olay göndermeSend an event to your custom topic
Event Grid’in iletiyi uç noktanıza nasıl dağıttığını görmek için bir olay tetikleyelim.Let's trigger an event to see how Event Grid distributes the message to your endpoint. İlk olarak özel konunun URL’sini ve anahtarını alalım.First, let's get the URL and key for the custom topic.
endpoint=$(az eventgrid topic show --name $topicname -g gridResourceGroup --query "endpoint" --output tsv) key=$(az eventgrid topic key list --name $topicname -g gridResourceGroup --query "key1" --output tsv)
Bu makaleyi kolaylaştırmak için özel konuya göndereceğiniz örnek olay verileri sağlanmıştır.To simplify this article, you use sample event data to send to the custom topic. Normalde olay verilerini bir uygulama veya Azure hizmeti gönderir.Typically, an application or Azure service would send the event data. CURL, HTTP istekleri gönderen bir yardımcı programdır.CURL is a utility that sends HTTP requests. Bu makalede, özel konuya bir olay göndermek için CURL kullanın.In this article, use CURL to send the event to the custom topic. Aşağıdaki örnek, event grid konusuna üç olay gönderir:The following example sends three events to the event grid topic:
for i in 1 2 3 do event='[ {"id": "'"$RANDOM"'", "eventType": "recordInserted", "subject": "myapp/vehicles/motorcycles", "eventTime": "'`date +%Y-%m-%dT%H:%M:%S%z`'", "data":{ "make": "Ducati", "model": "Monster"},"dataVersion": "1.0"} ]' curl -X POST -H "aeg-sas-key: $key" -d "$event" $endpoint done
Portalda event hub’a gidin ve Event Grid’in bu üç olayı event hub’a gönderdiğine dikkat edin.Navigate to the event hub in the portal, and notice that Event Grid sent those three events to the event hub.
Genellikle, event hub’dan olayları alan bir uygulama oluşturursunuz.Typically, you create an application that retrieves the events from the event hub. Event hub’dan iletileri alan bir uygulama oluşturmak için bkz:To create an application that gets messages from an event hub, see:
- .NET Standard’da Olay İşlemcisi Ana Bilgisayarı ile iletiler almaya başlamaGet started receiving messages with the Event Processor Host in .NET Standard
- Java kullanarak Azure Event Hubs’dan olayları almaReceive events from Azure Event Hubs using Java
- Apache Storm kullanarak Event Hubs’dan olayları almaReceive events from Event Hubs using Apache Storm
Kaynakları temizlemeClean up resources
Bu olayla çalışmaya devam etmeyi planlıyorsanız bu makalede oluşturulan kaynakları temizlemeyin.If you plan to continue working with this event, don't clean up the resources created in this article. Aksi takdirde, bu makalede oluşturduğunuz kaynakları silmek için aşağıdaki komutu kullanın.Otherwise, use the following command to delete the resources you created in this article.
az group delete --name gridResourceGroup
Sonraki adımlarNext steps
Artık konu oluşturma ve olay aboneliklerini öğrendiğinize göre, Event Grid’in size nasıl yardımcı olabileceği konusunda daha fazla bilgi edinebilirsiniz:Now that you know how to create topics and event subscriptions, learn more about what Event Grid can help you do:
- Event Grid HakkındaAbout Event Grid
- Blob depolama olaylarını bir özel web uç noktasına yönlendirmeRoute Blob storage events to a custom web endpoint
- Azure Event Grid ve Logic Apps ile sanal makine değişikliklerini izlemeMonitor virtual machine changes with Azure Event Grid and Logic Apps
- Veri ambarına büyük veri akışı yapmaStream big data into a data warehouse
Geri Bildirim
Geri bildirim yükleniyor...