Publikasikan acara ke topik kustom Azure Event Grid menggunakan kunci akses

Artikel ini menjelaskan cara memposting kejadian ke topik kustom menggunakan kunci akses. Format postingan dan data kejadian akan ditunjukkan di sini. Perjanjian Tingkat Layanan (SLA) hanya berlaku untuk postingan yang cocok dengan format yang diharapkan.

Catatan

Autentikasi Microsoft Azure AD menyediakan dukungan otentikasi superior dibandingkan kunci akses atau autentikasi token Tanda Tangan Akses Berbagi (SAS). Dengan autentikasi Microsoft Azure AD, identitas divalidasi terhadap penyedia identitas Microsoft Azure AD. Sebagai pengembang, Anda tidak perlu menangani kunci dalam kode Anda jika Anda menggunakan autentikasi Microsoft Azure AD. Anda juga akan mendapat manfaat dari semua fitur keamanan yang ada di platform Microsoft Identity, seperti Akses Bersyarat, yang dapat membantu Anda meningkatkan status keamanan aplikasi Anda. Untuk informasi selengkapnya, lihat Mengautentikasi klien penerbitan menggunakan Azure Active Directory.

Titik akhir

Saat mengirim HTTP POST ke topik kustom, gunakan format URI: https://<topic-endpoint>?api-version=2018-01-01. Misalnya, URI yang valid adalah: https://exampletopic.westus2-1.eventgrid.azure.net/api/events?api-version=2018-01-01. Untuk mendapatkan titik akhir untuk topik kustom menggunakan Azure CLI, gunakan:

az eventgrid topic show --name <topic-name> -g <topic-resource-group> --query "endpoint"

Untuk mendapatkan titik akhir untuk topik kustom menggunakan Azure PowerShell, gunakan:

(Get-AzEventGridTopic -ResourceGroupName <topic-resource-group> -Name <topic-name>).Endpoint

Di dalam permintaan, sertakan nilai header bernama aeg-sas-key yang berisi kunci untuk autentikasi. Misalnya, nilai header yang valid adalah aeg-sas-key: xxxxxxxxxxxxxxxxxxxxxxx. Untuk mendapatkan kunci untuk topik kustom menggunakan Azure CLI, gunakan:

az eventgrid topic key list --name <topic-name> -g <topic-resource-group> --query "key1"

Untuk mendapatkan kunci untuk topik kustom menggunakan PowerShell, gunakan:

(Get-AzEventGridTopicKey -ResourceGroupName <topic-resource-group> -Name <topic-name>).Key1

Data kejadian

Untuk topik kustom, data tingkat atas berisi bidang yang sama dengan kejadian yang ditentukan sumber daya standar. Salah satu properti tersebut adalah data properti yang berisi properti yang unik untuk topik kustom. Sebagai penerbit peristiwa, Anda menentukan properti untuk objek data tersebut. Berikut adalah skemanya:

[
  {
    "id": string,    
    "eventType": string,
    "subject": string,
    "eventTime": string-in-date-time-format,
    "data":{
      object-unique-to-each-publisher
    },
    "dataVersion": string
  }
]

Untuk deskripsi properti ini, lihat Skema kejadian Azure Event Grid. Saat memposting peristiwa ke topik Event Grid, array dapat memiliki ukuran total hingga 1 MB. Ukuran maksimum yang diizinkan untuk suatu kejadian juga 1 MB. Kejadian di atas 64 KB akan dikenai biaya setiap kelipatan 64 KB. Saat menerima acara dalam satu batch, jumlah acara maksimum yang diizinkan adalah 5.000 per batch.

Misalnya, skema data kejadian yang valid adalah:

[{
  "id": "1807",
  "eventType": "recordInserted",
  "subject": "myapp/vehicles/motorcycles",
  "eventTime": "2017-08-10T21:03:07+00:00",
  "data": {
    "make": "Ducati",
    "model": "Monster"
  },
  "dataVersion": "1.0"
}]

Respons

Setelah memposting ke titik akhir topik, Anda akan menerima respons. Responsnya adalah kode respons HTTP standar. Beberapa respons umum adalah:

Hasil Respons
Berhasil 200 OK
Data kejadian memiliki format yang salah 400 Permintaan Buruk
Kunci akses tidak valid 401 Tidak Sah
Titik akhir salah 404 Tidak Ditemukan
Larik atau kejadian melebihi batas ukuran 413 Payload Terlalu Besar

Untuk kesalahan, isi pesan memiliki format berikut:

{
    "error": {
        "code": "<HTTP status code>",
        "message": "<description>",
        "details": [{
            "code": "<HTTP status code>",
            "message": "<description>"
    }]
  }
}

Langkah berikutnya