

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

# Pemecahan masalah
<a name="s3-image-troubleshooting"></a>

## Gambar tidak dikirim ke bucket Amazon S3
<a name="s3-images-not-delivered"></a>

Untuk mengatasi masalah ini, ada beberapa hal yang harus diwaspadai:

1. Izin tidak ada

1. Konfigurasi pembuatan gambar tidak benar

1. Tag tidak ditambahkan ke fragmen

### Izin tidak ada
<a name="s3-missing-permissions"></a>

Jika Anda menggunakan kunci KMS yang dikelola pelanggan, pastikan peran yang melakukan `PutMedia` panggilan (pengunggah) memiliki izin enkripsi dan dekripsi yang sesuai, serta memiliki akses ke bucket Amazon S3, sebagai berikut:
+ `kms:Encrypt`
+ `kms:GenerateDataKey`
+ `kms:Decrypt`
+ `s3:PutObject`

Untuk informasi selengkapnya, lihat [Bagaimana cara memulai dengan enkripsi sisi server?](how-kms.md#getting-started-with-sse-akvs).

### Verifikasi tujuan
<a name="s3-verify-destination"></a>

Gunakan AWS CLI untuk memanggil DescribeImageGenerationConfiguration API untuk streaming Anda.

```
aws kinesisvideo describe-image-generation-configuration \
  --stream-name "{{demo-stream}}"
```

Tinjau `DestinationConfig` dalam respons dan konfirmasikan itu terlihat benar.

### Verifikasi bahwa tag pembuatan gambar telah ditambahkan ke fragmen
<a name="s3-verify-tag-added"></a>

1. Periksa apakah `putKinesisVideoEventMetadata` panggilan berhasil.

   `putKinesisVideoEventMetadata`Metode mengembalikan kode status 0 setelah berhasil. Kami merekomendasikan untuk memeriksa nilai pengembalian fungsi untuk 0. Jika kode status bukan nol dikembalikan, ubah menjadi hex dan periksa [Referensi kode kesalahan](producer-sdk-errors.md) untuk informasi lebih lanjut.

   Pastikan Anda mengaktifkan log kesalahan dan tinjau log untuk kesalahan lain dalam aplikasi. Tinjau dan bandingkan pola panggilan pengiriman bingkai aplikasi Anda dengan implementasi yang disarankan:[Menambahkan tag pembuatan gambar ke fragmen](s3-real-time-image-create.md#s3-adding-image-tags).

1. Verifikasi file MKV yang dihasilkan secara lokal

   Konfirmasikan bahwa Producer SDK atau Contoh Aplikasi menambahkan tag dengan benar.

   1. Mengatur variabel `KVS_DEBUG_DUMP_DATA_FILE_DIR` lingkungan. Jika nilai ini disetel, Producer SDK akan menulis file media yang akan dikirim ke Kinesis Video Streams ke lokasi yang ditentukan.

      ```
      export KVS_DEBUG_DUMP_DATA_FILE_DIR=/path/to/output/directory
      ```
**catatan**  
SDK tidak akan membuat direktori baru jika jalur tidak ada. Buat folder jika perlu.

   1. Jalankan aplikasi lagi. Anda akan melihat `.mkv` file yang ditulis ke direktori output yang ditentukan.

   1. Verifikasi konten untuk memastikan tag hadir menggunakan MKVToolNix, atau perangkat lunak lain.

      1. Instal MKVToolNix: `brew install mkvtoolnix`

      1. Jalankan MKVToolNix dengan salah satu `.mkv` file di direktori output.

         ```
         mkvinfo -v ./path/to/video/file
         ```

      1. Tinjau MKVToolNix outputnya. Jika metode SDK `KinesisVideoStream::PutFragmentMetadata` produsen dipanggil dengan benar, Anda akan melihat tag MKV berikut.

         ```
         |+ Tags
         | + Tag
         |  + Simple
         |   + Name: AWS_KINESISVIDEO_IMAGE_GENERATION
         ```
**catatan**  
Tag milik Cluster sebelumnya.

   1. Jika tag MKV tidak ada, pastikan bahwa metode SDK `KinesisVideoStream::PutEventMetadata` produsen telah dipanggil dengan `STREAM_EVENT_TYPE_IMAGE_GENERATION` argumen, dan bahwa itu mengembalikan kode sukses (0).