View a markdown version of this page

規則 - Amazon Managed Streaming for Apache Kafka

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

規則

如果您提供範本,則必須符合下列所有條件。

結構

  • 長度 — 最多 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 位移。範本在最終路徑區段中完全需要其中一個權杖,以便每個交付的物件都能取得不同的金鑰,且不會覆寫物件。