Acara
Membangun Aplikasi dan Agen AI
17 Mar, 21 - 21 Mar, 10
Bergabunglah dengan seri meetup untuk membangun solusi AI yang dapat diskalakan berdasarkan kasus penggunaan dunia nyata dengan sesama pengembang dan pakar.
Daftar sekarangBrowser ini sudah tidak didukung.
Mutakhirkan ke Microsoft Edge untuk memanfaatkan fitur, pembaruan keamanan, dan dukungan teknis terkini.
Artikel ini menyediakan pengantar cepat untuk menarik pengiriman menggunakan curl
perintah shell bash untuk menerbitkan, menerima, dan mengakui peristiwa. Sumber daya Event Grid dibuat menggunakan perintah CLI. Artikel ini cocok untuk pengujian cepat fungsionalitas pengiriman penarikan. Untuk kode sampel menggunakan SDK sarana data, lihat sampel .NET atau Java. Untuk Java, kami menyediakan kode sampel dalam dua artikel: menerbitkan peristiwa dan menerima mulai cepat peristiwa .
Untuk informasi selengkapnya tentang model pengiriman penarikan, lihat konsep dan artikel gambaran umum pengiriman penarikan.
Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.
Gunakan lingkungan Bash di Azure Cloud Shell. Untuk informasi selengkapnya, lihat Mulai Cepat untuk Bash di Azure Cloud Shell.
Jika Anda lebih suka menjalankan perintah referensi CLI secara lokal, instal Azure CLI. Jika Anda menjalankan Windows atau macOS, pertimbangkan untuk menjalankan Azure CLI dalam kontainer Docker. Untuk informasi lebih lanjut, lihat Cara menjalankan Azure CLI di kontainer Docker.
Jika Anda menggunakan instalasi lokal, masuk ke Azure CLI dengan menggunakan perintah login az. Untuk menyelesaikan proses autentikasi, ikuti langkah-langkah yang ditampilkan di terminal Anda. Untuk opsi masuk lainnya, lihat Masuk dengan Azure CLI.
Saat Anda diminta, instal ekstensi Azure CLI pada penggunaan pertama. Untuk informasi selengkapnya tentang ekstensi, lihat Menggunakan ekstensi dengan Azure CLI.
Jalankan versi az untuk menemukan versi dan pustaka dependen yang diinstal. Untuk meningkatkan ke versi terbaru, jalankan peningkatan az.
Buat grup sumber daya Azure dengan perintah pembuatan grupaz. Anda menggunakan grup sumber daya ini untuk memuat semua sumber daya yang dibuat dalam artikel ini.
Langkah-langkah umum untuk menggunakan Cloud Shell untuk menjalankan perintah adalah:
Deklarasikan variabel untuk menyimpan nama grup sumber daya Azure. Tentukan nama untuk grup sumber daya dengan mengganti <your-resource-group-name>
dengan nilai yang Anda suka.
resource_group="<your-resource-group-name>"
Buat grup sumber daya. Ubah lokasi sesuai keinginan Anda.
az group create --name $resource_group --location eastus
Jika sebelumnya Anda belum menggunakan Event Grid di langganan Azure, Anda mungkin perlu mendaftarkan penyedia sumber daya Event Grid. Jalankan perintah berikut untuk mendaftarkan penyedia:
az provider register --namespace Microsoft.EventGrid
Mungkin perlu beberapa saat agar pendaftaran selesai. Untuk memeriksa status, jalankan perintah berikut:
az provider show --namespace Microsoft.EventGrid --query "registrationState"
Saat registrationState
adalah Registered
, Anda siap untuk melanjutkan.
Namespace Layanan Event Grid menyediakan titik akhir yang ditentukan pengguna tempat Anda memposting peristiwa Anda. Contoh berikut membuat namespace layanan di grup sumber daya Anda menggunakan Bash di Azure Cloud Shell. Nama namespace harus unik karena merupakan bagian dari entri Sistem Nama Domain (DNS). Nama namespace harus memenuhi aturan berikut:
Microsoft
, System
atau EventGrid
.Deklarasikan variabel untuk menyimpan nama untuk namespace Layanan Event Grid Anda. Tentukan nama untuk namespace layanan dengan mengganti <your-namespace-name>
dengan nilai yang Anda suka.
namespace="<your-namespace-name>"
Buat kumpulan nama XML. Anda mungkin ingin mengubah lokasi tempat penyebarannya.
az eventgrid namespace create -g $resource_group -n $namespace -l eastus
Buat topik yang digunakan untuk menyimpan semua peristiwa yang diterbitkan ke titik akhir namespace.
Deklarasikan variabel untuk menyimpan nama untuk topik namespace Anda. Tentukan nama untuk topik namespace dengan mengganti <your-topic-name>
dengan nilai yang Anda suka.
topic="<your-topic-name>"
Buat topik namespace Anda:
az eventgrid namespace topic create -g $resource_group -n $topic --namespace-name $namespace
Buat langganan peristiwa yang mengatur mode pengirimannya ke antrean, yang mendukung pengiriman penarikan. Untuk informasi selengkapnya tentang semua opsi konfigurasi, lihat REST API sarana kontrol Event Grid terbaru.
Deklarasikan variabel untuk menyimpan nama langganan peristiwa ke topik namespace Anda. Tentukan nama untuk langganan peristiwa dengan mengganti <your-event-subscription-name>
dengan nilai yang Anda suka.
event_subscription="<your-event-subscription-name>"
Buat langganan peristiwa ke topik namespace layanan:
az eventgrid namespace topic event-subscription create -g $resource_group --topic-name $topic -n $event_subscription --namespace-name $namespace --delivery-configuration "{deliveryMode:Queue,queue:{receiveLockDurationInSeconds:300,maxDeliveryCount:4,eventTimeToLive:P1D}}"
Sekarang, kirim contoh peristiwa ke topik namespace dengan mengikuti langkah-langkah di bagian ini.
Dapatkan kunci akses yang terkait dengan namespace yang Anda buat. Anda menggunakan salah satunya untuk mengautentikasi saat menerbitkan peristiwa. Untuk mencantumkan kunci, Anda memerlukan ID sumber daya namespace lengkap terlebih dahulu. Dapatkan dengan menjalankan perintah berikut:
namespace_resource_id=$(az eventgrid namespace show -g $resource_group -n $namespace --query "id" --output tsv)
Dapatkan kunci pertama dari namespace:
key=$(az eventgrid namespace list-key -g $resource_group --namespace-name $namespace --query "key1" --output tsv)
Ambil nama host namespace layanan. Anda menggunakannya untuk menyusun titik akhir HTTP namespace layanan tempat peristiwa dikirim. Operasi berikut pertama kali tersedia dengan versi 2023-06-01-preview
API .
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-preview
Buat contoh peristiwa yang sesuai dengan CloudEvents :
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"}} '
Elemen data
adalah payload peristiwa Anda. Setiap JSON yang terbentuk dengan baik dapat masuk dalam bidang ini. Untuk informasi selengkapnya tentang properti (juga dikenal sebagai atribut konteks) yang dapat masuk dalam suatu peristiwa, lihat spesifikasi CloudEvents .
Gunakan CURL untuk mengirim peristiwa ke topik tersebut. CURL adalah utilitas yang mengirim permintaan HTTP.
curl -X POST -H "Content-Type: application/cloudevents+json" -H "Authorization:SharedAccessKey $key" -d "$event" $publish_operation_uri
Anda menerima peristiwa dari Event Grid menggunakan titik akhir yang merujuk ke langganan peristiwa.
Buat titik akhir tersebut dengan menjalankan perintah berikut:
receive_operation_uri="https://"$(az eventgrid namespace show -g $resource_group -n $namespace --query "topicsConfiguration.hostname" --output tsv)"/topics/"$topic/eventsubscriptions/$event_subscription:receive?api-version=2023-06-01-preview
Kirim permintaan untuk mengonsumsi peristiwa:
curl -X POST -H "Content-Type: application/json" -H "Authorization:SharedAccessKey $key" $receive_operation_uri
Setelah menerima peristiwa, Anda meneruskan peristiwa tersebut ke aplikasi Anda untuk diproses. Setelah berhasil memproses peristiwa, Anda tidak lagi memerlukan peristiwa tersebut untuk berada di langganan peristiwa Anda. Untuk menginstruksikan Event Grid untuk menghapus peristiwa, Anda mengakuinya menggunakan token kunci yang Anda dapatkan pada respons operasi penerima.
Pada langkah sebelumnya, Anda seharusnya menerima respons yang menyertakan brokerProperties
objek dengan lockToken
properti . Salin nilai token kunci dan atur pada variabel lingkungan:
lockToken="<paste-the-lock-token-here>"
Sekarang, bangun payload operasi pengakuan, yang menentukan token kunci untuk peristiwa yang ingin Anda akui.
acknowledge_request_payload=' { "lockTokens": ["'$lockToken'"]} '
Lanjutkan dengan membangun string dengan URI operasi pengakuan:
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-preview
Terakhir, kirimkan permintaan untuk mengakui peristiwa yang diterima:
curl -X POST -H "Content-Type: application/json" -H "Authorization:SharedAccessKey $key" -d "$acknowledge_request_payload" $acknowledge_operation_uri
Jika operasi pengakuan dijalankan sebelum token kunci kedaluwarsa (300 detik sebagaimana diatur saat kami membuat langganan peristiwa), Anda akan melihat respons seperti contoh berikut:
{"succeededLockTokens":["CiYKJDQ4NjY5MDEyLTk1OTAtNDdENS1BODdCLUYyMDczNTYxNjcyMxISChDZae43pMpE8J8ovYMSQBZS"],"failedLockTokens":[]}
Untuk mempelajari selengkapnya tentang model pengiriman penarikan, lihat Gambaran umum pengiriman pull.
Acara
Membangun Aplikasi dan Agen AI
17 Mar, 21 - 21 Mar, 10
Bergabunglah dengan seri meetup untuk membangun solusi AI yang dapat diskalakan berdasarkan kasus penggunaan dunia nyata dengan sesama pengembang dan pakar.
Daftar sekarangPelatihan
Sertifikasi
Bersertifikat Microsoft: Azure Administrator Associate - Certifications
Menunjukkan keterampilan utama untuk mengonfigurasi, mengelola, mengamankan, dan mengelola fungsi profesional utama di Microsoft Azure.
Dokumentasi
Pengantar pengiriman penarikan - Azure Event Grid
Pelajari tentang pengiriman penarikan http Event Grid dan sumber daya yang mendukungnya.
Pengantar pengiriman push di namespace Layanan Event Grid - Azure Event Grid
Pelajari tentang pengiriman push yang didukung oleh namespace Azure Event Grid.
Pengantar pengiriman push - Azure Event Grid
Pelajari tentang pengiriman push http Event Grid dan sumber daya yang mendukungnya.