Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Template kunci keluaran S3 untuk pengiriman Amazon S3
Saat mengirimkan ke bucket Amazon S3 tujuan umum, Anda dapat mengonfigurasi template kunci keluaran S3 untuk mengontrol struktur kunci objek file yang dikirimkan. Template kunci bersifat opsional — jika tidak ditentukan, pengiriman Amazon S3 menggunakan template default.
Template default
Jika Anda tidak menentukan template kunci khusus, pengiriman Amazon S3 menggunakan default berikut:
kinesis-channel/!{channel-name}/!{channel-id}/!{yyyy}/!{MM}/!{dd}/!{HH}/!{channel-name}-!{channel-id}-!{yyyy}-!{MM}-!{dd}-!{HH}-!{mm}!{extension}
Bagian sebelum garis miring terakhir (/) membentuk awalan kunci objek (struktur folder), dan segmen terakhir membentuk nama objek. Template default mengatur objek yang dikirim berdasarkan saluran dan jam, dan mengulangi nilai yang sama dalam nama objek sehingga setiap objek menggambarkan diri sendiri. Amazon Kinesis Data Streams secara otomatis menambahkan akhiran unik ke setiap kunci objek, sehingga kunci objek menjadi unik bahkan ketika template tidak menyertakan komponen waktu yang cukup baik untuk membedakannya.
Template variabel
Variabel berikut tersedia untuk digunakan dalam template kunci Anda:
| Variabel | Deskripsi | Nilai contoh |
|---|---|---|
!{channel-name} |
Nama pengiriman. | my-channel |
!{channel-id} |
Pengidentifikasi unik pengiriman. | abc123def456 |
!{stream-name} |
Nama sumber aliran Kinesis Data Streams. | my-stream |
!{yyyy} |
Four-digit tahun (UTC). | 2026 |
!{yy} |
Two-digit tahun (UTC). | 26 |
!{MM} |
Two-digit bulan (UTC), tanpa empuk. | 07 |
!{dd} |
Two-digit hari dalam sebulan (UTC), tanpa empuk. | 20 |
!{HH} |
Two-digit jam (UTC, 24 jam), tanpa empuk. | 14 |
!{mm} |
Two-digit menit (UTC), empuk nol. | 30 |
!{extension} |
Ekstensi file yang berasal dari jenis kompresi yang dikonfigurasi (misalnya, .gz untuk GZIP atau .zst untuk ZSTD). Jika ada, itu harus muncul di akhir template. |
.gz |
!{extension:. |
Ekstensi file literal yang Anda tentukan. Harus dimulai dengan titik dan hanya berisi huruf kecil dan titik. Jika ada, itu harus muncul di akhir template. | !{extension:.json} |
Aturan template
Template kunci harus sesuai dengan aturan berikut:
-
Setelah semua variabel diperluas, kunci objek yang dihasilkan tidak boleh melebihi batas kunci objek Amazon S3 sebesar 1.024 karakter. Karena Amazon Kinesis Data Streams menambahkan akhiran unik hingga 38 karakter, template yang diperluas itu sendiri tidak boleh melebihi 986 karakter.
-
Tidak boleh berisi lintasan jalur: tidak ada periode berurutan (
..), tidak ada segmen jalur khusus periode (.), dan tidak boleh dimulai dengan garis miring maju ()./ -
Tidak boleh mengandung garis miring berurutan (
//). -
Setiap placeholder variabel harus ditutup (masing-masing
!{harus memiliki pencocokan}) dan harus menggunakan nama variabel yang didukung. -
Karakter literal yang diizinkan adalah karakter alfanumerik dan sebagai berikut:
! - _ ' . * ( ) / =.=Karakter memungkinkan Anda mengekspresikan Hive-style partisi, sepertiyear=!{yyyy}/month=!{MM}/. -
Template dapat berisi paling banyak satu placeholder ekstensi (
!{extension}atau!{extension:.), dan jika ada itu harus muncul di akhir template.literal} -
Ketika kompresi (GZIP atau ZSTD) diaktifkan, template harus menyertakan placeholder ekstensi.
catatan
Anda tidak perlu memasukkan variabel keunikan dalam template. Amazon Kinesis Data Streams secara otomatis menambahkan akhiran unik ke setiap kunci objek yang dikirimkan.
Contoh yang valid dan tidak valid
| Templat | Berlaku | Alasan |
|---|---|---|
!{channel-name}/!{yyyy}/!{MM}/!{dd}/!{HH}/records!{extension} |
Ya | Menggunakan variabel yang didukung dan diakhiri dengan placeholder ekstensi tunggal. |
data/stream=!{stream-name}/!{yyyy}-!{MM}-!{dd}/!{HH}!{mm}!{extension:.json} |
Ya | Hive-style partisi dengan ekstensi literal di akhir. |
!{channel-name}/!{channel-id} |
Ya | Template minimal. Kinesis Data Streams menambahkan akhiran unik secara otomatis. |
/data/!{channel-name}!{extension} |
Tidak | Dimulai dengan garis miring ke depan. |
data/../!{channel-name}!{extension} |
Tidak | Berisi path traversal (..). |
data//!{channel-name}!{extension} |
Tidak | Berisi garis miring berurutan (//). |
!{channel-name}!{extension}/!{yyyy} |
Tidak | Placeholder ekstensi tidak ada di akhir template. |
data/!{partition-id}!{extension} |
Tidak | !{partition-id}bukan variabel yang didukung. |
data/!{channel-name}(dengan kompresi GZIP atau ZSTD) |
Tidak | Kompresi diaktifkan tetapi template tidak memiliki placeholder ekstensi. |
data/!{channel-name}/!{yyyy}(penjepit penutupan hilang) |
Tidak | Placeholder variabel yang tidak tertutup. |