本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
DynamoDB
描述DynamoDB
事件來源類型的物件。如需詳細資訊,請參閱《 AWS Lambda 開發人員指南》中的搭配使用 AWS Lambda 與 Amazon DynamoDB。
AWS SAM 會在設定此事件類型時產生AWS::Lambda::EventSourceMapping資源。
語法
若要在 AWS Serverless Application Model (AWS SAM) 範本中宣告此實體,請使用下列語法。
YAML
BatchSize:
Integer
BisectBatchOnFunctionError:Boolean
DestinationConfig:DestinationConfig
Enabled:Boolean
FilterCriteria:FilterCriteria
FunctionResponseTypes:List
KmsKeyArn:String
MaximumBatchingWindowInSeconds:Integer
MaximumRecordAgeInSeconds:Integer
MaximumRetryAttempts:Integer
MetricsConfig:MetricsConfig
ParallelizationFactor:Integer
StartingPosition:String
StartingPositionTimestamp:Double
Stream:String
TumblingWindowInSeconds:Integer
屬性
-
BatchSize
-
要在單一批次中擷取的最大項目數。
類型:整數
必要:否
預設值:100
AWS CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping
資源的BatchSize
屬性。下限:
1
上限:
1000
-
BisectBatchOnFunctionError
-
如果函數傳回錯誤,請將批次分割為兩個,然後重試。
類型:布林值
必要:否
AWS CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping
資源的BisectBatchOnFunctionError
屬性。 -
DestinationConfig
-
捨棄記錄的 Amazon Simple Queue Service (Amazon SQS) 佇列或 Amazon Simple Notification Service (Amazon SNS) 主題目的地。
必要:否
AWS CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping
資源的DestinationConfig
屬性。 -
Enabled
-
停用事件來源映射以暫停輪詢和叫用。
類型:布林值
必要:否
AWS CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping
資源的Enabled
屬性。 -
FilterCriteria
-
物件,定義判斷 Lambda 是否應處理事件的條件。如需詳細資訊,請參閱《 AWS Lambda 開發人員指南》中的AWS Lambda 事件篩選。
必要:否
AWS CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping
資源的FilterCriteria
屬性。 -
FunctionResponseTypes
-
目前套用至事件來源映射的回應類型清單。如需詳細資訊,請參閱《AWS Lambda 開發人員指南》中的報告批次項目失敗。
有效值:
ReportBatchItemFailures
類型:清單
必要:否
AWS CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping
資源的FunctionResponseTypes
屬性。 -
KmsKeyArn
-
金鑰的 Amazon Resource Name (ARN),用於加密與此事件相關的資訊。
類型:字串
必要:否
AWS CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping
資源的KmsKeyArn
屬性。 -
MaximumBatchingWindowInSeconds
-
調用函式前收集記錄的最長時間 (單位為秒)。
類型:整數
必要:否
AWS CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping
資源的MaximumBatchingWindowInSeconds
屬性。 -
MaximumRecordAgeInSeconds
-
Lambda 傳送至 函數以進行處理的記錄最長存留期。
類型:整數
必要:否
AWS CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping
資源的MaximumRecordAgeInSeconds
屬性。 -
MaximumRetryAttempts
-
當函數傳回錯誤時,重試的次數上限。
類型:整數
必要:否
AWS CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping
資源的MaximumRetryAttempts
屬性。 -
MetricsConfig
-
選擇加入組態,以取得擷取每個處理階段之事件來源映射的增強指標。如需範例,請參閱「MetricsConfig 事件」。
必要:否
AWS CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping
資源的MetricsConfig
屬性。 -
ParallelizationFactor
-
同時處理每個碎片的批次數量。
類型:整數
必要:否
AWS CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping
資源的ParallelizationFactor
屬性。 -
StartingPosition
-
要從中開始讀取的串流位置。
-
AT_TIMESTAMP
– 指定開始讀取記錄的時間。 -
LATEST
– 唯讀新記錄。 -
TRIM_HORIZON
– 處理所有可用的記錄。
有效值:
AT_TIMESTAMP
|LATEST
|TRIM_HORIZON
類型:字串
必要:是
AWS CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping
資源的StartingPosition
屬性。 -
-
StartingPositionTimestamp
-
開始讀取的時間,以 Unix 時間秒為單位。定義
StartingPositionTimestamp
StartingPosition
何時指定為AT_TIMESTAMP
。類型:Double
必要:否
AWS CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping
資源的StartingPositionTimestamp
屬性。 -
Stream
-
DynamoDB 串流的 Amazon Resource Name (ARN)。
類型:字串
必要:是
AWS CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping
資源的EventSourceArn
屬性。 -
TumblingWindowInSeconds
-
處理時段的持續時間,以秒為單位。有效範圍為 1 到 900 (15 分鐘)。
如需詳細資訊,請參閱《 AWS Lambda 開發人員指南》中的翻滾視窗。
類型:整數
必要:否
AWS CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping
資源的TumblingWindowInSeconds
屬性。
範例
MetricsConfig 事件
以下是 資源的範例,該資源使用 MetricsConfig
屬性來擷取其事件來源映射的每個處理階段。
Resources: FilteredEventsFunction: Type: AWS::Serverless::Function Properties: CodeUri: s3://sam-demo-bucket/metricsConfig.zip Handler: index.handler Runtime: nodejs16.x Events: KinesisStream: Type: Kinesis Properties: Stream: !GetAtt KinesisStream.Arn StartingPosition: LATEST MetricsConfig: Metrics: - EventCount
現有 DynamoDB 資料表的 DynamoDB 事件來源
AWS 帳戶中已存在的 DynamoDB 資料表的 DynamoDB 事件來源。
YAML
Events: DDBEvent: Type: DynamoDB Properties: Stream: arn:aws:dynamodb:us-east-1:123456789012:table/TestTable/stream/2016-08-11T21:21:33.291 StartingPosition: TRIM_HORIZON BatchSize: 10 Enabled: false
範本中宣告的 DynamoDB 資料表的 DynamoDB 事件
在相同範本檔案中宣告的 DynamoDB 資料表的 DynamoDB 事件。
YAML
Events: DDBEvent: Type: DynamoDB Properties: Stream: !GetAtt MyDynamoDBTable.StreamArn # This must be the name of a DynamoDB table declared in the same template file StartingPosition: TRIM_HORIZON BatchSize: 10 Enabled: false