我有一個 lambda 函式,它使用訂閱過濾器從 cloudwatch 接收日志,并且必須將它們發送到 firehose 以傳遞到 s3 存盤桶。
同一個 lambda 函式接收兩種日志。這兩種日志格式需要寫入同一個s3 目的地下的兩條不同路徑。
例如。
- 日志型別 A 應存盤在 - /logTypeA 目錄下。
- 日志型別 B 應存盤在 - /logTypeB 目錄下。
我正在使用 cdk 創建必要的 firehose 和 s3 設定。
我是否需要創建兩個不同的交付流 - 一個用于日志型別 A,一個用于日志型別 B,或者有沒有辦法使用單個交付流來做到這一點?在技??術檔案中沒有找到任何有用的東西。
uj5u.com熱心網友回復:
我是否需要創建兩個不同的交付流 - 一個用于日志型別 A,一個用于日志型別 B,或者有沒有辦法使用單個交付流來做到這一點?
使用Dynamic Partitioning可能會使用單個 Kinesis Delivery Stream 。這取決于日志的資料和架構。如果日志的架構包含一個欄位,該欄位將架構指定為 A 類與 B 類,則磁區可以在線進行。
示例架構:
{
"log_type": "log_type_A"
},
{
"log_type": "log_type_B"
}
示例Prefix配置:
"Prefix": "log_type=!{partitionKeyFromQuery:log_type}"
輸出到 S3 的示例:
s3://<bucket>/log_type=log_type_A/...
s3://<bucket>/log_type=log_type_B/...
對于更高級的磁區,可以使用 AWS Lambda ( partitionKeyFromLambda) 實作邏輯。有關更多詳細資訊,請參閱AWS 檔案中的示例。
示例Prefix配置:
"Prefix": "log_type=!{partitionKeyFromLambda:log_type}"
參考
- Amazon S3 物件 (AWS) 的自定義前綴
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/487839.html
標籤:亚马逊网络服务 amazon-kinesis-firehose
上一篇:訪問客戶端的AWSS3存盤桶
下一篇:bmp檔案轉換成二維二進制陣列
