本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
規則
如果您提供範本,則必須符合下列所有條件。
結構
長度 — 最多 1024 個字元。此外,輸出字首長度加上範本長度最多必須為 1024 個字元 (它們會串連至最終金鑰)。
沒有路徑周遊 — 不得包含
..或./,且不得以 開頭/。結尾不得
/為 - 金鑰必須解析為 物件,而非目錄邊界。平衡變數 — 每個
!{必須具有相符的}。允許常值 — 外部的字元
!{...}必須相符[a-zA-Z0-9/_\-.+=](英數字元、/、_、-、.、+、)=。不允許空格。
Variables
僅限已知名稱 - 只有支援的變數有效;任何其他變數都會遭到拒絕。
至少一個變數 — 僅常值的範本會遭到拒絕。
完全只有一個唯一性字符 — 必須包含
!{sequence-number}或!{kafka-offset},但不能同時包含兩者 (兩者互斥)。kafka-offset需要partition-id- 如果您使用!{kafka-offset},範本也必須包含!{partition-id}。唯一性權杖放置 — 選擇的權杖 (
!{sequence-number}或!{kafka-offset}) 必須出現在最後一個/分隔的區段中,因此每個交付的物件都會取得不同的金鑰。
注意
為什麼需要唯一性字符:頻道會將多個記錄寫入每個 S3 物件 (批次),因此字符會識別物件,而不是個別記錄。 !{sequence-number} 是每個物件的單調批次號碼; !{kafka-offset} 是物件中第一個記錄的 Kafka 位移。範本在最終路徑區段中完全需要其中一個權杖,以便每個交付的物件都能取得不同的金鑰,且不會覆寫物件。