View a markdown version of this page

Menyiapkan notifikasi di Kinesis Video Streams - Amazon Kinesis Video Streams

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menyiapkan notifikasi di Kinesis Video Streams

Saat fragmen media tersedia untuk dikonsumsi, Kinesis Video Streams memberi tahu pelanggan menggunakan notifikasi Amazon Simple Notification Service (Amazon SNS).

catatan

Amazon Kinesis Video Streams menggunakan Topik Standar Amazon SNS untuk komunikasi. Topik FIFO saat ini tidak didukung.

Topik berikut menjelaskan cara memulai notifikasi.

Kelola konfigurasi notifikasi

Untuk mengelola konfigurasi notifikasi, gunakan UpdateNotificationConfiguration danDescribeNotificationConfiguration. Lihat di bawah untuk informasi lebih lanjut.

UpdateNotificationConfiguration

Gunakan operasi API ini untuk memperbarui informasi notifikasi untuk aliran. Untuk informasi selengkapnya tentang UpdateNotificationConfiguration fitur ini, lihat UpdateNotificationConfiguration di Panduan Pengembang Amazon Kinesis Video Streams.

catatan

Diperlukan setidaknya satu menit untuk memulai notifikasi setelah memperbarui konfigurasi notifikasi. Tunggu setidaknya satu menit sebelum memanggil PutMedia setelah panggilan pembaruan.

DescribeNotificationConfiguration

Gunakan API ini untuk menjelaskan konfigurasi notifikasi yang dilampirkan ke aliran. Untuk informasi selengkapnya tentang DescribeNotificationConfiguration fitur ini, lihat DescribeNotificationConfiguration di Panduan Pengembang Amazon Kinesis Video Streams.

Tentang tag MKV produsen

Anda dapat menggunakan SDK produsen Kinesis Video Streams untuk menandai fragmen tertentu yang menarik dengan mengekspos operasi API di SDK. Lihat contoh cara kerjanya di bagian kode ini. Setelah memanggil API ini, SDK akan menambahkan satu set tag MKV yang telah ditentukan bersama dengan data fragmen. Kinesis Video Streams akan mengenali tag MKV khusus ini dan memulai pemberitahuan untuk fragmen yang ditandai.

Metadata fragmen apa pun yang disediakan bersama dengan tag MKV Pemberitahuan akan dipublikasikan sebagai bagian dari payload topik Amazon SNS.

Sintaks untuk tag MKV produsen

|+ Tags | + Tag | // MANDATORY: Predefined MKV tag to trigger the notification for the fragment | + Simple | + Name: AWS_KINESISVIDEO_NOTIFICATION | + String | // OPTIONAL: Key value pairs that will be sent as part of the Notification payload | + Simple | + Name: CUSTOM_KEY_1 // Max 128 bytes | + String:CUSTOM_VALUE_1 // Max 256 bytes | + Simple | + Name: CUSTOM_KEY_2 // Max 128 bytes | + String: CUSTOM_VALUE_2 // Max 256 bytes

Batas tag MKV

Tabel berikut mencantumkan batasan yang terkait dengan tag metadata. Jika batas tag metadata dapat disesuaikan, Anda dapat meminta peningkatan melalui manajer akun Anda.

Kuota Nilai maks Dapat Disesuaikan

Panjang kunci metadata opsional

128

Tidak

Panjang nilai metadata opsional

256

Tidak

Jumlah maksimum metadata opsional

10

Ya

Pesan Amazon SNS

Topik ini berisi informasi selengkapnya tentang pesan Amazon SNS dan muatan topik.

Payload topik Amazon SNS

Pemberitahuan apa pun yang dimulai melalui alur kerja sebelumnya akan mengirimkan payload topik Amazon SNS, seperti yang ditunjukkan pada contoh berikut. Contoh ini adalah pesan Amazon SNS yang terjadi setelah menggunakan data notifikasi dari antrian Amazon Simple Queue Service (Amazon SQS).

{ "Type" : "Notification", "MessageId" : Message ID, "TopicArn" : SNS ARN, "Subject" : "Kinesis Video Streams Notification", "Message" : "{\"StreamArn\":\Stream Arn,\"FragmentNumber\":\Fragment Number,\"FragmentStartProducerTimestamp\":FragmentStartProducerTimestamp, \"FragmentStartServerTimestamp\":FragmentStartServerTimestamp,\"NotificationType\":\"PERSISTED\",\"NotificationPayload\":{\ CUSTOM_KEY_1:\CUSTOM_VALUE_1, \CUSTOM_KEY_2:\CUSTOM_VALUE_2}}", "Timestamp" : "2022-04-25T18:36:29.194Z", "SignatureVersion" : Signature Version, "Signature" : Signature, "SigningCertURL" : Signing Cert URL, "UnsubscribeURL" : Unsubscribe URL }
Subject: "Kinesis Video Streams Notification" Message: { "StreamArn":Stream Arn, "FragmentNumber":Fragment Number, "FragmentStartProducerTimestamp":Fragment Start Producer Timestamp, "FragmentStartServerTimestamp":Fragment Start Server Timestamp, "NotificationType":"PERSISTED", "NotificationPayload":{ CUSTOM_KEY_1:CUSTOM_VALUE_1, CUSTOM_KEY_2:CUSTOM_VALUE_2 } }

Melihat pesan Amazon SNS Anda

Anda tidak dapat membaca pesan langsung dari topik Amazon SNS karena tidak ada API untuk melakukannya. Untuk melihat pesan, berlangganan antrian SQS ke topik SNS, atau pilih tujuan lain yang didukung Amazon SNS. Namun, opsi paling efisien untuk melihat pesan adalah menggunakan Amazon SQS.

Untuk melihat pesan Amazon SNS menggunakan Amazon SQS
  1. Buat antri an Amazon SQS.

  2. Dari Konsol Manajemen AWS, buka topik Amazon SNS yang ditetapkan sebagai tujuan di bawahNotificationConfiguration.

  3. Pilih Buat Langganan, lalu pilih antrian Amazon SQS yang dibuat pada langkah pertama.

  4. Jalankan PutMedia sesi dengan konfigurasi Notification diaktifkan dan dengan tag Notification MKV ditambahkan ke fragmen.

  5. Pilih antrian Amazon SQS di konsol Amazon SQS, lalu pilih Kirim dan terima pesan untuk antrian Amazon SQS.

  6. Polling untuk pesan. Perintah ini harus menampilkan semua notifikasi yang dihasilkan oleh PutMedia sesi. Untuk informasi tentang polling, lihat polling pendek dan panjang Amazon SQS.

Cross-account Penerbitan notifikasi Amazon SNS

Untuk mempublikasikan notifikasi Amazon SNS ke topik di AWS akun yang berbeda, Anda perlu mengonfigurasi kebijakan berbasis identitas dan berbasis sumber daya. Pengaturan ini memungkinkan Kinesis Video Streams mempublikasikan notifikasi dari satu akun ke topik Amazon SNS di akun lain.

Identity-based konfigurasi kebijakan

Peran atau pengguna IAM yang memanggil PutMedia API harus memiliki sns:Publish izin untuk topik Amazon SNS lintas akun. Tambahkan pernyataan kebijakan berikut ke kebijakan berbasis identitas:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "kinesisvideo:PutMedia", "Resource": "arn:aws:kinesisvideo:us-east-1:123456789012:stream/*" }, { "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": [ "arn:aws:sns:us-east-1:123456789012:*" ] } ] }

Resource-based konfigurasi kebijakan

Topik Amazon SNS di akun tujuan harus memiliki kebijakan akses berbasis sumber daya yang memungkinkan akun sumber untuk mempublikasikan pesan. Konfigurasikan kebijakan akses topik Amazon SNS sebagai berikut:

JSON
{ "Version":"2012-10-17", "Id": "__default_policy_ID", "Statement": [ { "Sid": "__default_statement_ID", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:us-east-1:123456789012:topic-name" } ] }

Ganti <kvs_streams_account_id> dengan ID AWS akun tempat streaming Kinesis Video Streams Anda berada, dan <sns_topic_arn> dengan ARN topik Amazon SNS Anda.

Persyaratan dan pertimbangan

  • Kebijakan berbasis identitas (di akun sumber) dan kebijakan berbasis sumber daya (di akun tujuan) harus dikonfigurasi agar penerbitan lintas akun berfungsi.

  • Peran IAM yang digunakan untuk PutMedia operasi harus menyertakan sns:Publish izin, bahkan saat menggunakan sertifikat IoT dengan alias peran.