Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu hızlı başlangıçta, olayları yayımlamak, almak ve onaylamak için bash kabuk komutunu kullanarak curl çekme teslimi yaparsınız. Azure Event Grid kaynakları oluşturmak için Azure CLI komutlarını kullanın. Bu makale, çekme teslimi işlevselliğinin hızlı bir testi için uygundur.
Veri düzlemi SDK'larını kullanan örnek kod için şu kaynaklara bakın:
- .NET: Azure Event Grid ad alanı konusundan (.NET) ileti gönderme ve alma
- Java: Java kullanarak olayları ad alanı konularına yayımlama
- Java: Java ile çekme yöntemiyle olayları alma
Çekme teslim modeli hakkında daha fazla bilgi için bkz. Azure Event Grid ad alanı kavramları ve HTTP ile çekme teslimi makaleleri.
Azure hesabınız yoksa, başlamadan önce ücretsiz hesap oluşturun.
Önkoşullar
Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz. Azure Cloud Shell'i kullanmaya başlama.
CLI referans komutlarını yerel olarak çalıştırmayı tercih ediyorsanız, Azure CLI'yi yükleyin. Windows veya macOS üzerinde çalışıyorsanız, Azure CLI'yi bir Docker konteynerinde çalıştırmayı düşünün. Daha fazla bilgi için Azure CLI'nin bir Docker konteynerında nasıl çalıştırılacağını inceleyin.
Yerel bir kurulum kullanıyorsanız, az login komutunu kullanarak Azure CLI'ye giriş yapın. Kimlik doğrulama işlemini tamamlamak için, terminalinizde görüntülenen adımları takip edin. Diğer oturum açma seçenekleri için bkz. Azure CLI kullanarak Azure'da kimlik doğrulaması.
İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma ve yönetme.
Yüklü olan sürümü ve bağımlı kütüphaneleri bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.
- Bu makale, Azure CLI'nın 2.0.70 veya sonraki bir sürümünü gerektirir. Azure Cloud Shell kullanıyorsanız en son sürüm zaten yüklüdür.
Bir kaynak grubu oluşturun
az group create komutuyla bir Azure kaynak grubu oluşturun. Bu makalede oluşturduğunuz tüm kaynakları içerecek şekilde bu kaynak grubunu kullanın.
Komutları çalıştırmak için Cloud Shell'i kullanmanın genel adımları şunlardır:
- Sağ bölmede bir Azure Cloud Shell penceresi görmek için Cloud Shell'u Aç seçeneğini seçin.
- komutunu kopyalayın ve Azure Cloud Shell penceresine yapıştırın.
- Komutu çalıştırmak için ENTER tuşuna basın.
Bir Azure kaynak grubunun adını tutmak için bir değişken bildirin.
<your-resource-group-name>yerine kendi değerinizi yazarak kaynak grubu için bir ad belirtin.resource_group="<your-resource-group-name>"Bir kaynak grubu oluşturun. Konumu herhangi bir Azure konumuyla değiştirebilirsiniz.
az group create --name $resource_group --location eastus
Event Grid kaynak sağlayıcısını etkinleştirme
Azure aboneliğinizde Event Grid'i ilk kez kullanıyorsanız Event Grid kaynak sağlayıcısını kaydetmeniz gerekebilir. Sağlayıcıyı kaydetmek için şu komutu çalıştırın:
az provider register --namespace Microsoft.EventGridKaydın tamamlanması biraz zaman alabilir. Durumu denetlemek için aşağıdaki komutu çalıştırın:
az provider show --namespace Microsoft.EventGrid --query "registrationState"registrationStateRegisteredolduğunda, devam etmeye hazırsınız.
Ad alanı oluşturma
Event Grid ad alanı, olaylarınızı gönderdiğiniz kullanıcı tanımlı bir uç nokta sağlar. Aşağıdaki örnek, Azure Cloud Shell'de Bash kullanarak kaynak grubunuzda bir ad alanı oluşturur. Ad alanı adı bir Etki Alanı Adı Sistemi (DNS) girdisinin parçası olduğundan benzersiz olmalıdır. Ad alanı adı aşağıdaki kuralları karşılamalıdır:
- 3-50 karakter arasında olmalıdır.
- Bölgesel olarak benzersiz olmalıdır.
- Yalnızca izin verilen karakterler şunlardır: a-z, A-Z, 0-9 ve -
-
Microsoft,SystemveyaEventGridgibi ayrılmış anahtar sözcük ön ekleriyle başlamamalıdır.
Event Grid ad alanınızın adını tutmak için bir değişken bildirin. değerini değerinizle değiştirerek
<your-namespace-name>ad alanı için bir ad belirtin.namespace="<your-namespace-name>"Ad alanı oluşturun. Dağıttığınız konumu değiştirmek isteyebilirsiniz.
az eventgrid namespace create --resource-group $resource_group --name $namespace --location eastus
Ad alanı konusu oluşturma
Ad alanı uç noktasında yayımlanan tüm olayları barındıran bir konu oluşturun.
Ad alanı konunuzun adını tutmak için bir değişken bildirin.
<your-topic-name>ifadesini değeriniz ile değiştirerek ad alanı konusu için bir ad belirtin.topic="<your-topic-name>"Ad alanı konunuzu oluşturun:
az eventgrid namespace topic create --resource-group $resource_group --name $topic --namespace-name $namespace
Olay aboneliği oluşturma
Çekme teslimini destekleyen bir kuyruk teslimat modunu ayarlayarak bir etkinlik aboneliği oluşturun. Tüm yapılandırma seçenekleri hakkında daha fazla bilgi için bkz. Azure Event Grid REST API.
Ad alanınızdaki konu için bir olay aboneliğinin adını tutacak bir değişken bildirin.
<your-event-subscription-name>değerini değerinizle değiştirerek olay aboneliği için bir ad belirtin.event_subscription="<your-event-subscription-name>"Ad alanı konusuna bir olay aboneliği oluşturun:
az eventgrid namespace topic event-subscription create --resource-group $resource_group --topic-name $topic --name $event_subscription --namespace-name $namespace --delivery-configuration "{deliveryMode:Queue,queue:{receiveLockDurationInSeconds:300,maxDeliveryCount:4,eventTimeToLive:P1D}}"
Konunuza olay gönderme
Ad alanı konusuna örnek bir olay göndermek için bu bölümdeki adımları izleyin.
Ad alanı erişim anahtarlarını listeleme
Oluşturduğunuz ad alanıyla ilişkili erişim anahtarlarını alın. Olayları yayımlarken kimlik doğrulaması yapmak için bunlardan birine ihtiyacınız vardır. Anahtarlarınızı listelemek için tam ad alanı kaynak kimliğini alın. Aşağıdaki komutu çalıştırın:
namespace_resource_id=$(az eventgrid namespace show --resource-group $resource_group --name $namespace --query "id" --output tsv)Ad alanından ilk anahtarı alın:
key=$(az eventgrid namespace list-key --resource-group $resource_group --namespace-name $namespace --query "key1" --output tsv)
Olay yayımlama
İsim alanının ana bilgisayar adını alın. Olayların gönderildiği ad alanı HTTP uç noktasını oluşturmak için bunu kullanırsınız. Aşağıdaki işlemler ilk olarak API sürümüyle
2023-06-01-previewkullanılabilir.publish_operation_uri="https://"$(az eventgrid namespace show -g $resource_group -n $namespace --query "topicsConfiguration.hostname" --output tsv)"/topics/"$topic:publish?api-version=2023-06-01-previewCloudEvents uyumlu örnek bir olay oluşturun:
event=' { "specversion": "1.0", "id": "'"$RANDOM"'", "type": "com.yourcompany.order.ordercreatedV2", "source" : "/mycontext", "subject": "orders/O-234595", "time": "'`date +%Y-%m-%dT%H:%M:%SZ`'", "datacontenttype" : "application/json", "data":{ "orderId": "O-234595", "url": "https://yourcompany.com/orders/o-234595"}} 'dataöğesi, olayınızın yüküdür. Bu alana doğru oluşturulmuş herhangi bir JSON gelebilir. Bir olaya girebilen özellikler bağlam öznitelikleri olarak da bilinir. Daha fazla bilgi için bkz. CloudEvents.Olayı konuya göndermek için CURL kullanın. CURL, HTTP istekleri gönderen bir yardımcı programdır.
curl -X POST -H "Content-Type: application/cloudevents+json" -H "Authorization:SharedAccessKey $key" -d "$event" $publish_operation_uri
Etkinliği al.
Event Grid'den olayları almak için, bir olay aboneliğine işaret eden bir uç nokta kullanın.
Aşağıdaki komutu çalıştırarak uç noktayı oluşturma:
receive_operation_uri="https://"$(az eventgrid namespace show --resource-group $resource_group --name $namespace --query "topicsConfiguration.hostname" --output tsv)"/topics/"$topic/eventsubscriptions/$event_subscription:receive?api-version=2023-06-01-previewEtkinliği değerlendirmek için bir istek gönderin.
curl -X POST -H "Content-Type: application/json" -H "Authorization:SharedAccessKey $key" $receive_operation_uri
Olayı onaylama
Bir olay aldıktan sonra, bu olayı işleme için uygulamanıza geçirirsiniz. Etkinliğinizi başarıyla işledikten sonra, bu olayın artık olay aboneliğinizde olması gerekmez. Event Grid'e olayı silmesini bildirmek için, alma işleminin yanıtında aldığınız kilit belirtecini kullanarak bunu onaylarsınız.
Önceki bölümde,
brokerPropertiesözelliği olan birlockTokennesnesi içeren bir yanıt aldınız. Kilit belirteci değerini kopyalayın ve bir ortam değişkeninde ayarlayın:lockToken="<paste-the-lock-token-here>"Onaylamak istediğiniz olayın kilit belirtecini belirten onay işlemi yükünü oluşturun.
acknowledge_request_payload=' { "lockTokens": ["'$lockToken'"]} 'Onay işlemi URI dizesini oluşturun:
acknowledge_operation_uri="https://"$(az eventgrid namespace show -g $resource_group -n $namespace --query "topicsConfiguration.hostname" --output tsv)"/topics/"$topic/eventsubscriptions/$event_subscription:acknowledge?api-version=2023-06-01-previewSon olarak, alınan olayı onaylamak için bir istek gönderin:
curl -X POST -H "Content-Type: application/json" -H "Authorization:SharedAccessKey $key" -d "$acknowledge_request_payload" $acknowledge_operation_uriKilit belirtecinin süresi dolmadan önce onay işlemi tamamlanırsa (olay aboneliğini oluştururken belirtildiği gibi 300 saniye), aşağıdaki örneğe benzer bir yanıt görmeniz gerekir:
{"succeededLockTokens":["CiYKJDQ4NjY5MDEyLTk1OTAtNDdENS1BODdCLUYyMDczNTYxNjcyMxISChDZae43pMpE8J8ovYMSQBZS"],"failedLockTokens":[]}