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 Entra menyediakan dukungan autentikasi yang unggul daripada yang ditawarkan oleh kunci akses atau autentikasi token Tanda Tangan Akses Bersama (SAS). Dengan autentikasi Microsoft Entra, identitas divalidasi terhadap IdP Microsoft Entra. Sebagai pengembang, Anda tidak perlu menangani kunci dalam kode jika Anda menggunakan autentikasi Microsoft Entra. Anda juga akan mendapat manfaat dari semua fitur keamanan yang disertakan dalam platform identitas Microsoft, seperti Akses Bersyar, yang dapat membantu Anda meningkatkan sikap keamanan aplikasi Anda. Untuk informasi selengkapnya, lihat Mengautentikasi klien penerbitan menggunakan ID Microsoft Entra.

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 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. Peristiwa di atas 64 KB dikenakan biaya dengan 64 KB tahapan. 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
Sukses 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 Too Large

Untuk kesalahan, isi pesan memiliki format berikut:

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

Langkah berikutnya