Menggunakan Amazon EventBridge dengan IVS Real-Time Streaming - Amazon IVS

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

Menggunakan Amazon EventBridge dengan IVS Real-Time Streaming

Anda dapat menggunakan Amazon EventBridge untuk memantau aliran Amazon Interactive Video Service (IVS).

Amazon IVS mengirimkan peristiwa perubahan tentang status aliran Anda ke Amazon. EventBridge Semua acara yang dikirimkan valid. Namun, acara dikirim dengan upaya terbaik, yang berarti tidak ada jaminan bahwa:

  • Acara dikirimkan - Acara yang ditunjuk dapat terjadi (misalnya, peserta dipublikasikan) tetapi ada kemungkinan bahwa Amazon IVS tidak akan mengirim acara yang sesuai ke EventBridge. Amazon IVS mencoba menyampaikan acara selama beberapa jam sebelum menyerah.

  • Acara yang dikirimkan akan tiba dalam jangka waktu tertentu — Anda mungkin menerima acara hingga beberapa jam.

  • Acara dikirimkan secara berurutan - Acara mungkin rusak, terutama jika dikirim dalam waktu singkat satu sama lain. Misalnya, Anda dapat melihat Peserta Tidak Diterbitkan sebelum Peserta Diterbitkan.

Meskipun jarang peristiwa hilang, terlambat, atau tidak berurutan, Anda harus menangani kemungkinan ini jika Anda menulis program penting bisnis yang bergantung pada urutan atau keberadaan acara pemberitahuan.

Anda dapat membuat EventBridge aturan untuk salah satu acara berikut.

Jenis Acara Peristiwa Dikirim Ketika...
Perubahan Status Komposisi IVS Kegagalan Tujuan Upaya untuk output ke Destination gagal. Misalnya, penyiaran ke saluran gagal karena tidak ada kunci aliran atau siaran lain yang terjadi.
Perubahan Status Komposisi IVS Tujuan Mulai Output ke Destination berhasil dimulai.
Perubahan Status Komposisi IVS Tujuan Akhir Output ke Tujuan selesai.
Perubahan Status Komposisi IVS Tujuan Menghubungkan Kembali Output ke Destination terputus dan penyambungan kembali sedang dicoba.
Perubahan Status Komposisi IVS Sesi Mulai Sesi Komposisi telah dibuat. Peristiwa ini diaktifkan ketika pipeline proses Komposisi berhasil diinisialisasi. Pada titik ini, pipeline Komposisi telah berhasil berlangganan Stage dan menerima media dan mampu membuat video.
Perubahan Status Komposisi IVS Akhir Sesi Sesi Komposisi selesai.
Perubahan Status Komposisi IVS Kegagalan Sesi Pipa Komposisi gagal diinisialisasi karena sumber daya Stage tidak tersedia, atau kesalahan internal lainnya.
Perubahan Status Rekaman Peserta IVS Merekam Mulai Penerbit telah terhubung ke panggung dan sedang direkam ke S3.
Perubahan Status Rekaman Peserta IVS Perekaman Akhir Penerbit telah terputus dari panggung dan semua file yang tersisa telah ditulis ke S3.
Perubahan Status Rekaman Peserta IVS Merekam Kegagalan Mulai Penerbit terhubung ke panggung, tetapi perekaman gagal dimulai karena kesalahan (misalnya, bucket S3 tidak ada atau tidak berada di wilayah yang benar). Streaming langsung penerbit ini tidak direkam
Perubahan Status Rekaman Peserta IVS Merekam Kegagalan Akhir Perekaman berakhir dengan kegagalan, karena kesalahan yang ditemui selama perekaman (misalnya, jika upaya untuk menulis daftar putar media terus gagal). Beberapa objek mungkin masih ditulis ke lokasi penyimpanan yang dikonfigurasi.
Pembaruan Tahap IVS Peserta Diterbitkan Seorang peserta mulai menerbitkan ke panggung.
Pembaruan Tahap IVS Peserta Tidak Diterbitkan Seorang peserta telah berhenti menerbitkan ke panggung.
Pembaruan Tahap IVS Kesalahan Publikasikan Peserta Upaya peserta untuk mempublikasikan ke tahap gagal.
Pembaruan Tahap IVS Replikasi Peserta Mulai Replikasi peserta dimulai.
Pembaruan Tahap IVS Akhir Replikasi Peserta Replikasi peserta berakhir. Replikasi dapat berakhir karena operasi StopParticipantReplication API, jika penerbit telah berhenti menerbitkan, atau jika penerbit telah berhenti menerbitkan dan jendela penyambungan kembali telah kedaluwarsa.

Membuat EventBridge Aturan Amazon untuk Amazon IVS

Anda dapat membuat aturan yang memicu peristiwa yang dipancarkan oleh Amazon IVS. Ikuti langkah-langkah di Buat aturan di Amazon EventBridge di Panduan EventBridge Pengguna Amazon. Saat memilih layanan, pilih Layanan Video Interaktif (IVS).

Contoh: Perubahan Status Komposisi

Kegagalan Tujuan: Peristiwa ini dikirim ketika upaya untuk output ke Tujuan gagal. Misalnya, penyiaran ke saluran gagal karena tidak ada kunci aliran atau siaran lain yang terjadi.

{ "version": "0", "id": "01234567-0123-0123-0123-012345678901", "detail-type": "IVS Composition State Change", "source": "aws.ivs", "account": "aws_account_id", "time": "2017-06-12T10:23:43Z", "region": "us-east-1", "resources": [ "arn:aws:ivs:us-east-1:aws_account_id:composition/123456789012" ], "detail": { "event_name": "Destination Failure", "stage_arn": "<stage-arn>", "id": "<Destination-id>", "reason": "eg. stream key invalid" } }

Tujuan Mulai: Acara ini dikirim ketika output ke Tujuan berhasil dimulai.

{ "version": "0", "id": "01234567-0123-0123-0123-012345678901", "detail-type": "IVS Composition State Change", "source": "aws.ivs", "account": "aws_account_id", "time": "2017-06-12T10:23:43Z", "region": "us-east-1", "resources": [ "arn:aws:ivs:us-east-1:aws_account_id:composition/123456789012" ], "detail": { "event_name": "Destination Start", "stage_arn": "<stage-arn>", "id": "<destination-id>", } }

Tujuan Akhir: Acara ini dikirim ketika output ke Tujuan selesai.

{ "version": "0", "id": "01234567-0123-0123-0123-012345678901", "detail-type": "IVS Composition State Change", "source": "aws.ivs", "account": "aws_account_id", "time": "2017-06-12T10:23:43Z", "region": "us-east-1", "resources": [ "arn:aws:ivs:us-east-1:aws_account_id:composition/123456789012" ], "detail": { "event_name": "Destination End", "stage_arn": "<stage-arn>", "id": "<Destination-id>", } }

Destination Reconnecting: Peristiwa ini dikirim ketika output ke Destination terputus dan penyambungan kembali sedang dicoba.

{ "version": "0", "id": "01234567-0123-0123-0123-012345678901", "detail-type": "IVS Composition State Change", "source": "aws.ivs", "account": "aws_account_id", "time": "2017-06-12T10:23:43Z", "region": "us-east-1", "resources": [ "arn:aws:ivs:us-east-1:aws_account_id:composition/123456789012" ], "detail": { "event_name": "Destination Reconnecting", "stage_arn": "<stage-arn>", "id": "<Destination-id>", } }

Sesi Mulai: Acara ini dikirim ketika sesi Komposisi dibuat. Peristiwa ini diaktifkan ketika pipeline proses Komposisi berhasil diinisialisasi. Pada titik ini, pipeline Komposisi telah berhasil berlangganan Stage dan menerima media dan mampu membuat video.

{ "version": "0", "id": "01234567-0123-0123-0123-012345678901", "detail-type": "IVS Composition State Change", "source": "aws.ivs", "account": "aws_account_id", "time": "2017-06-12T10:23:43Z", "region": "us-east-1", "resources": [ "arn:aws:ivs:us-east-1:aws_account_id:composition/123456789012" ], "detail": { "event_name": "Session Start", "stage_arn": "<stage-arn>" } }

Session End: Acara ini dikirim ketika sesi Komposisi selesai dan semua sumber daya dihapus.

{ "version": "0", "id": "01234567-0123-0123-0123-012345678901", "detail-type": "IVS Composition State Change", "source": "aws.ivs", "account": "aws_account_id", "time": "2017-06-12T10:23:43Z", "region": "us-east-1", "resources": [ "arn:aws:ivs:us-east-1:aws_account_id:composition/123456789012" ], "detail": { "event_name": "Session End", "stage_arn": "<stage-arn>" } }

Kegagalan Sesi: Acara ini dikirim ketika pipeline Komposisi gagal diinisialisasi karena sumber daya Tahap tidak tersedia, tidak ada peserta yang berada di panggung, atau kesalahan internal lainnya.

{ "version": "0", "id": "01234567-0123-0123-0123-012345678901", "detail-type": "IVS Composition State Change", "source": "aws.ivs", "account": "aws_account_id", "time": "2017-06-12T10:23:43Z", "region": "us-east-1", "resources": [ "arn:aws:ivs:us-east-1:aws_account_id:composition/123456789012" ], "detail": { "event_name": "Session Failure", "stage_arn": "<stage-arn>", "reason": "eg. no participants in the stage" } }

Contoh: Perubahan Status Pencatatan Peserta Individu

Merekam Mulai: Acara ini dikirim ketika penerbit telah terhubung ke panggung dan sedang direkam ke S3.

{ "version": "0", "id": "12345678-1a23-4567-a1bc-1a2b34567890", "detail-type": "IVS Participant Recording State Change", "source": "aws.ivs", "account": "123456789012", "time": "2024-03-13T22:09:58Z", "region": "us-east-1", "resources": ["arn:aws:ivs:us-west-2:aws_account_id:stage/AbCdef1G2hij"], "detail": { "session_id": "st-ZyXwvu1T2s", "event_name": "Recording Start", "participant_id": "xYz1c2d3e4f", "recording_s3_bucket_name": "bucket-name", "recording_s3_key_prefix": "<stage_id>/<session_id>/<participant_id>/2024-01-01T12-00-55Z" } }

Recording End: Acara ini dikirim ketika penerbit telah terputus dari panggung dan semua file yang tersisa telah ditulis ke S3.

{ "version": "0", "id": "12345678-1a23-4567-a1bc-1a2b34567890", "detail-type": "IVS Participant Recording State Change", "source": "aws.ivs", "account": "123456789012", "time": "2024-03-13T22:19:04Z", "region": "us-east-1", "resources": ["arn:aws:ivs:us-west-2:aws_account_id:stage/AbCdef1G2hij"], "detail": { "session_id": "st-ZyXwvu1T2s", "event_name": "Recording End", "participant_id": "xYz1c2d3e4f", "recording_s3_bucket_name": "bucket-name", "recording_s3_key_prefix": "<stage_id>/<session_id>/<participant_id>/2024-01-01T12-00-55Z" "recording_duration_ms": 547327 } }

Kegagalan Mulai Perekaman: Peristiwa ini dikirim ketika penerbit terhubung ke panggung, tetapi perekaman gagal dimulai karena kesalahan (misalnya, bucket S3 tidak ada atau tidak berada di wilayah yang benar). Streaming langsung penerbit tidak direkam.

{ "version": "0", "id": "12345678-1a23-4567-a1bc-1a2b34567890", "detail-type": "IVS Participant Recording State Change", "source": "aws.ivs", "account": "123456789012", "time": "2024-03-13T22:09:58Z", "region": "us-east-1", "resources": ["arn:aws:ivs:us-west-2:aws_account_id:stage/AbCdef1G2hij"], "detail": { "session_id": "st-ZyXwvu1T2s", "event_name": "Recording Start Failure", "participant_id": "xYz1c2d3e4f", "recording_s3_bucket_name": "bucket-name", "recording_s3_key_prefix": "<stage_id>/<session_id>/<participant_id>/2024-01-01T12-00-55Z" } }

Kegagalan Akhir Perekaman: Peristiwa ini dikirim ketika rekaman berakhir dengan kegagalan, karena kesalahan yang ditemui selama perekaman (misalnya, jika upaya untuk menulis daftar putar master gagal). Beberapa objek mungkin masih ditulis ke lokasi penyimpanan yang dikonfigurasi.

{ "version": "0", "id": "12345678-1a23-4567-a1bc-1a2b34567890", "detail-type": "IVS Participant Recording State Change", "source": "aws.ivs", "account": "123456789012", "time": "2024-03-13T22:19:04Z", "region": "us-east-1", "resources": ["arn:aws:ivs:us-west-2:aws_account_id:stage/AbCdef1G2hij"], "detail": { "session_id": "st-ZyXwvu1T2s", "event_name": "Recording End Failure", "participant_id": "xYz1c2d3e4f", "recording_s3_bucket_name": "bucket-name", "recording_s3_key_prefix": "<stage_id>/<session_id>/<participant_id>/2024-01-01T12-00-55Z" "recording_duration_ms": 547327 } }

Perhatikan bahwa, jika gabungan rekaman peserta individu diaktifkan, dan jika penerbit panggung terputus dari panggung dan kemudian menyambung kembali, IVS mencoba merekam ke awalan S3 yang sama dengan sesi sebelumnya. Akibatnya, dalam contoh di atas, session_id komponen recording_s3_key_prefix dapat memiliki nilai yang berbeda dari session_id bidang didetail. Lihat Menggabungkan Rekaman Peserta Individu yang Terfragmentasi.

Contoh: Pembaruan Tahap

Acara pembaruan panggung mencakup nama acara (yang mengklasifikasikan acara) dan metadata tentang acara tersebut. Metadata mencakup ID peserta yang memicu peristiwa, tahap dan sesi terkait IDs, dan ID pengguna.

Peserta Diterbitkan: Acara ini dikirim ketika peserta mulai menerbitkan ke panggung.

{ "version": "0", "id": "12345678-1a23-4567-a1bc-1a2b34567890", "detail-type": "IVS Stage Update", "source": "aws.ivs", "account": "123456789012", "time": "2020-06-23T20:12:36Z", "region": "us-west-2", "resources": [ "arn:aws:ivs:us-west-2:123456789012:stage/AbCdef1G2hij" ], "detail": { "session_id": "st-ZyXwvu1T2s", "event_name": "Participant Published", "user_id": "Your User Id", "participant_id": "xYz1c2d3e4f", "replica": true, "source_stage_arn": "arn:aws:ivs:us-west-2:123456789012:stage/AbCdef1G2hij", "source_session_id": "st-sdfdfdfgdfgh" } }

Peserta Tidak Diterbitkan: Acara ini dikirim ketika peserta telah berhenti menerbitkan ke panggung.

{ "version": "0", "id": "12345678-1a23-4567-a1bc-1a2b34567890", "detail-type": "IVS Stage Update", "source": "aws.ivs", "account": "123456789012", "time": "2020-06-23T20:12:36Z", "region": "us-west-2", "resources": [ "arn:aws:ivs:us-west-2:123456789012:stage/AbCdef1G2hij" ], "detail": { "session_id": "st-ZyXwvu1T2s", "event_name": "Participant Unpublished", "user_id": "Your User Id", "participant_id": "xYz1c2d3e4f", "replica": true, "source_stage_arn": "arn:aws:ivs:us-west-2:123456789012:stage/AbCdef1G2hij", "source_session_id": "st-sdfdfdfgdfgh" } }

Kesalahan Publikasikan Peserta: Acara ini dikirim ketika upaya peserta untuk mempublikasikan ke tahap gagal.

{ "version": "0", "id": "12345678-1a23-4567-a1bc-1a2b34567890", "detail-type": "IVS Stage Update", "source": "aws.ivs", "account": "123456789012", "time": "2020-06-23T20:12:36Z", "region": "us-west-2", "resources": [ "arn:aws:ivs:us-west-2:123456789012:stage/AbCdef1G2hij" ], "detail": { "session_id": "st-ZyXwvu1T2s", "event_name": "Participant Publish Error", "event_time": "2024-08-13T14:38:17.089061676Z", "user_id": "Your User Id", "participant_id": "xYz1c2d3e4f", "error_code": "BITRATE_EXCEEDED", "replica": true, "source_stage_arn": "arn:aws:ivs:us-west-2:123456789012:stage/AbCdef1G2hij", "source_session_id": "st-sdfdfdfgdfgh" } }

Mulai Replikasi Peserta: Acara ini dikirim saat replikasi peserta dimulai.

{ "version": "0", "id": "12345678-1a23-4567-a1bc-1a2b34567890", "detail-type": "IVS Stage Update", "source": "aws.ivs", "account": "123456789012", "time": "2020-06-23T20:12:36Z", "region": "us-west-2", "resources": [ "arn:aws:ivs:us-west-2:123456789012:stage/AbCdef1G2hij" ], "detail": { "session_id": "st-ZyXwvu1T2s", "event_name": "Participant Replication Start", "user_id": "Your User Id", "participant_id": "xYz1c2d3e4f", "destination_stage_arn": "arn:aws:ivs:us-west-2:123456789012:stage/XYZdef1G2hij", "destination_session_id": "aBC1c2d3e4f" } }

Akhir Replikasi Peserta: Acara ini dikirim ketika replikasi peserta berakhir. Replikasi dapat berakhir karena operasi StopParticipantReplication API, jika penerbit telah berhenti menerbitkan, atau jika penerbit telah berhenti menerbitkan dan jendela penyambungan kembali telah kedaluwarsa.

{ "version": "0", "id": "12345678-1a23-4567-a1bc-1a2b34567890", "detail-type": "IVS Stage Update", "source": "aws.ivs", "account": "123456789012", "time": "2020-06-23T20:12:36Z", "region": "us-west-2", "resources": [ "arn:aws:ivs:us-west-2:123456789012:stage/AbCdef1G2hij" ], "detail": { "session_id": "st-ZyXwvu1T2s", "event_name": "Participant Replication End", "user_id": "Your User Id", "participant_id": "xYz1c2d3e4f", "destination_stage_arn": "arn:aws:ivs:us-west-2:123456789012:stage/XYZdef1G2hij", "destination_session_id": "aBC1c2d3e4f" } }