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.
Azure Event Grid , bulut için bir olay yönlendirme hizmetidir. Azure İşlevleri desteklenen olay işleyicilerinden biridir.
Bu hızlı başlangıçta Azure portalını kullanarak özel bir konu oluşturacak, özel konuya abone olacak ve sonucu görüntülemek için olayı tetikleyeceksiniz. Olayları bir Azure işlevine gönderirsiniz.
Azure hesabınız yoksa, başlamadan önce ücretsiz hesap oluşturun.
Önkoşullar
Visual Studio Code kullanarak Event Grid tetikleyicisi ile işlev oluşturma
Bu bölümde, Visual Studio Code kullanarak Event Grid tetikleyicisi ile işlev oluşturacaksınız.
İşlev oluşturma
Visual Studio Code'u açın.
Sol çubukta Azure'ı seçin.
Sol bölmedeki ÇALIŞMA ALANI bölümünde, komut çubuğunda Azure İşlevleri'ni seçin. Ardından İşlev Oluştur'u seçin.
İşlev kodunu kaydetmek istediğiniz klasörü seçin.
Yeni proje oluştur komutu için Dil için C# öğesini seçin. Gir'i seçin.
.NET çalışma zamanı için .NET 8.0 Yalıtılmış LTS'yi ve ardından Enter'ı seçin.
İşlevin Şablonu içinAzure Event Grid tetikleyicisi'ni seçin. Gir'i seçin.
İşlev adı için işleviniz için bir ad girin. Gir'i seçin.
Ad Alanı alanına işlevin ad alanı için bir ad girin. Gir'i seçin.
Projeyi geçerli pencerede veya yeni bir pencerede açın veya bir çalışma alanına ekleyin.
İşlevin oluşturulmasını bekleyin. İşlev oluşturma durumu sağ alt köşede görünür.
YourFunctionName.cs dosyasındaki kodu, özellikle
Runyöntemini görüntüleyin. Günlükçü kullanarak bilgileri yazdırır.[Function(nameof(MyEventGridTriggerFunc))] public void Run([EventGridTrigger] CloudEvent cloudEvent) { _logger.LogInformation("Event type: {type}, Event subject: {subject}", cloudEvent.Type, cloudEvent.Subject); }
İşlevi Azure’a dağıtma
Azure bölmesi henüz açık değilse sol çubukta Azure düğmesini seçin.
Projenizin üzerine gelin ve Azure'a Dağıt düğmesini seçin.
Komut paletinin açılan listesinde + Yeni işlev uygulaması oluştur'u ve ardından Enter'ı seçin.
Ad alanına yeni işlev uygulaması için genel olarak benzersiz bir ad girin. Gir'i seçin.
Çalışma zamanı yığını için .NET 8 Yalıtılmış'ı seçin.
Azure kaynaklarınızın Konumu için size yakın bir bölge seçin.
İşlev uygulaması oluşturma durumu, alt bölmenin AZURE sekmesinde görünür. İşlev uygulaması oluşturulduktan sonra, yerel olarak oluşturduğunuz işlevi işlev uygulamasına dağıtma durumunu görürsünüz.
Dağıtım başarılı olduktan sonra İşlev Uygulaması Oluştur başarılı iletisini genişletin. Kaynağı görüntülemek için Tıklayın'ı seçin. sol bölmedeki KAYNAKLAR bölümünde işlevinizin seçili olduğunu onaylayın.
İşlevinize sağ tıklayın ve portalda aç'ı seçin.
Gerekirse Azure'da oturum açın ve işleviniz için İşlev Uygulaması sayfasının göründüğünü onaylayın.
Alt bölmede işlevinizi seçin.
Günlükler sekmesine geçin. Bu sekmeyi açık tutarak bu makalenin devamında bir Event Grid konusuna olay gönderdiğinizde günlüğe kaydedilen iletileri görebilirsiniz.
Özel konu oluşturma
Event Grid konusu, olaylarınızı gönderdiğiniz kullanıcı tanımlı bir uç nokta sağlar.
Web tarayıcısı penceresinin yeni bir sekmesinde Azure portalında oturum açın.
Konu başlığındaki arama çubuğunda Event Grid Konuları'nı arayın ve Event Grid Konuları'nı seçin.
Konular sayfasında, komut çubuğunda + Oluştur'u seçin.
Konu Oluştur bölmesinde şu adımları izleyin:
Abonelik için Azure aboneliğinizi seçin.
Kaynak grubu için önceki adımlardan aynı kaynak grubunu seçin.
Ad için özel konu için benzersiz bir ad sağlayın. Bir Etki Alanı Adı Sistemi (DNS) girdisi bunu temsil ettiğinden konu adı benzersiz olmalıdır.
Örnek görüntüde gösterilen adı kullanmayın. Bunun yerine, kendi adınızı oluşturun. 3-50 karakter uzunluğunda olmalı ve yalnızca a-z, A-Z, 0-9 ve kısa çizgi (
-) değerlerini içermelidir.Bölge için Event Grid konusu için bir konum seçin.
Gözden geçir ve oluştur’u seçin.
Gözden Geçir + oluştur sekmesinde ayarları gözden geçirin ve oluştur'u seçin.
Özel konu oluşturulduktan sonra Kaynağa git butonunu seçerek o konunun Event Grid Konusu sayfasını açın.
Özel konuya abone olma
Event Grid konusuna abone olarak Event Grid'e hangi olayları izlemek istediğinizi ve olayların nereye gönderileceği açıklanır.
Özel konunuzun Event Grid Konu sayfasında araç çubuğunda + Olay Aboneliği'ni seçin.
Olay Aboneliği Oluştur bölmesinde şu adımları izleyin:
Ad alanına olay aboneliği için bir ad girin.
Olay Şeması için Bulut Olay Şeması v1.0'ı seçin.
Uç Nokta Türü için Azure İşlevi'ne tıklayın.
Uç nokta yapılandır'ı seçin.
Azure İşlevi Seç bölmesinde şu adımları izleyin:
Abonelik için işlevi olan Azure aboneliğini seçin.
Kaynak grubu için işlevi olan kaynak grubunu seçin.
İşlev uygulaması için işlev uygulamanızı seçin.
İşlev için işlev uygulamasında işlevi seçin.
Seçimi Onayla'yı seçin.
Bu adım isteğe bağlıdır, ancak üretim senaryoları için önerilir. Olay Aboneliği Oluştur bölmesinde Ek Özellikler sekmesine gidin ve toplu iş başına en fazla olay ve Kilobayt cinsinden Tercih edilen toplu iş boyutu değerlerini ayarlayın.
Toplu işleme size yüksek aktarım hızı sağlayabilir. Toplu iş başına en fazla olay sayısı için, bir aboneliğin toplu işleme dahil olduğu en fazla olay sayısını ayarlayın. Kilobayt cinsinden tercih edilen toplu iş boyutu, toplu iş boyutunun tercih edilen üst sınırını ayarlar, ancak tek bir olay bu eşikten büyükse aşılabilir.
Olay Aboneliği Oluştur bölmesinde Oluştur'u seçin.
Konunuza olay gönderme
Şimdi Event Grid'in iletiyi uç noktanıza nasıl dağıttığnı görmek için bir olay tetikle. Özel konunuza test olayı göndermek için Azure CLI veya Azure PowerShell kullanın. Genellikle bir uygulama veya Azure hizmeti olay verilerini gönderir.
İlk örnekte Azure CLI kullanılmaktadır. Özel konu ve örnek olay verilerinin URL'sini ve anahtarını alır.
topicname yerine özel konunuzun adını yazın. Örnek olay verileri oluşturulur.
JSON’un data öğesi, olayınızın yüküdür. Bu alana doğru oluşturulmuş herhangi bir JSON gelebilir. Ayrıca, gelişmiş yönlendirme ve filtreleme için konu alanını da kullanabilirsiniz.
cURL aracı HTTP istekleri gönderir. Bu makalede, olayı özel konuya göndermek için cURL kullanacaksınız.
Azure Komut Satırı Arayüzü (Azure CLI)
Azure portalında Cloud Shell'i seçin. Azure PowerShell modundaysanız Bash'e Geç'i seçin.
topicnameKomutlarda kullanılan veresourcegroupnamedeğişkenlerini ayarlayın.değerini Event Grid konunuzun adıyla değiştirin
TOPICNAME.topicname="TOPICNAME"değerini Event Grid konusunu içeren Azure kaynak grubunun adıyla değiştirin
RESOURCEGROUPNAME.resourcegroupname="RESOURCEGROUPNAME"Konunun uç noktasını almak için aşağıdaki komutu kullanın. Komutu kopyalayıp yapıştırdıktan sonra, çalıştırmadan önce konu adını ve kaynak grubu adını güncelleştirin.
endpoint=$(az eventgrid topic show --name $topicname -g $resourcegroupname --query "endpoint" --output tsv)Özel konunun anahtarını almak için aşağıdaki komutu kullanın. Komutu kopyalayıp yapıştırdıktan sonra, çalıştırmadan önce konu adını ve kaynak grubu adını güncelleştirin.
key=$(az eventgrid topic key list --name $topicname -g $resourcegroupname --query "key1" --output tsv)Olay tanımıyla aşağıdaki deyimi kopyalayın ve enter tuşuna basın.
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"} ]'Olayı göndermek için aşağıdaki cURL komutunu çalıştırın:
curl -X POST -H "aeg-sas-key: $key" -d "$event" $endpointİşlevden gelen iletinin Azure portalındaki işlevinizin Günlükler sekmesinde göründüğünü onaylayın.
Azure PowerShell
İkinci örnek, benzer adımları gerçekleştirmek için Azure PowerShell'i kullanır.
Azure portalında Cloud Shell'i seçin veya Azure Cloud Shell sayfasına gidin. Cloud Shell penceresinin sol üst köşesinde PowerShell'e geç'i seçin.
Aşağıdaki değişkenleri ayarlayın. Her komutu kopyalayıp yapıştırdıktan sonra, çalıştırmadan önce konu adını ve kaynak grubu adını güncelleştirin.
$resourceGroupName = "RESOURCEGROUPNAME"$topicName = "TOPICNAME"Konunun uç noktasını ve anahtarlarını almak için aşağıdaki komutları çalıştırın:
$endpoint = (Get-AzEventGridTopic -ResourceGroupName $resourceGroupName -Name $topicName).Endpoint $keys = Get-AzEventGridTopicKey -ResourceGroupName $resourceGroupName -Name $topicNameOlayı hazırlayın. Cloud Shell penceresinde şu deyimleri kopyalayın ve çalıştırın:
$eventID = Get-Random 99999 #Date format should be SortableDateTimePattern (ISO 8601) $eventDate = Get-Date -Format s #Construct the body by using a hash table $htbody = @{ id= $eventID eventType="recordInserted" subject="myapp/vehicles/motorcycles" eventTime= $eventDate data= @{ make="Ducati" model="Monster" } dataVersion="1.0" } #Use ConvertTo-Json to convert the event body from a hash table to a JSON object #Append square brackets to the converted JSON payload because they're expected in the event's JSON payload syntax $body = "["+(ConvertTo-Json $htbody)+"]"Invoke-WebRequestOlayı göndermek için cmdlet'ini kullanın:Invoke-WebRequest -Uri $endpoint -Method POST -Body $body -Headers @{"aeg-sas-key" = $keys.Key1}İşlevden gelen iletinin Azure portalındaki işlevinizin Günlükler sekmesinde göründüğünü onaylayın.
İşlevin olayı aldığını doğrulayın
Olayı tetiklediyseniz ve Event Grid iletiyi abone olduğunuzda yapılandırdığınız uç noktaya gönderdi. Artık işlevin alıp almadığını de kontrol edebilirsiniz.
İşlevinizin Çağırma sekmesini açın.
Ayrıntıları görüntülemek için çağrıyı seçin.
Günlükler sekmesini de kullanabilirsiniz.
Kaynakları temizleme
Bu olayla çalışmaya devam etmek istiyorsanız, bu makalede oluşturduğunuz kaynakları temizlemeyin. Aksi takdirde, bu makalede oluşturduğunuz kaynakları silin.
Azure portalı arama kutusuna Kaynak grupları yazın ve Kaynak grupları'nı seçin.
Ayrıntılar için bölmeyi açmak için kaynak grubunu seçin.
Araç çubuğunda Kaynak grubunu sil'i seçin.
Kaynak grubunun adını girip Sil'i seçerek silme işlemini onaylayın.
Cloud Shell penceresi, Kaynak grupları sayfasında görüntülenen diğer kaynak grubunu oluşturup kullandı. Cloud Shell penceresini daha sonra kullanmayı planlamıyorsanız bu kaynak grubunu silin.
İlgili içerik
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:
- Event Grid Hakkında
- Azure Blob Depolama olaylarını özel bir web uç noktasına yönlendirme
- Azure Event Grid ve Logic Apps ile sanal makine değişikliklerini izleme
- Veri ambarına büyük veri akışı yapma
Event Grid'de çeşitli programlama dillerini kullanarak olay yayımlama ve olay kullanma hakkında bilgi edinmek için aşağıdaki örneklere bakın: