DynamoDB - AWS Serverless Application Model

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

DynamoDB

描述DynamoDB事件來源類型的物件。如需詳細資訊,請參閱《 AWS Lambda 開發人員指南》中的搭配使用 AWS Lambda 與 Amazon DynamoDB

AWS SAM 會在設定此事件類型時產生AWS::Lambda::EventSourceMapping資源。

語法

若要在 AWS Serverless Application Model (AWS SAM) 範本中宣告此實體,請使用下列語法。

屬性

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) 主題目的地。

類型DestinationConfig

必要:否

AWS CloudFormation 相容性:此屬性會直接傳遞至 AWS::Lambda::EventSourceMapping 資源的 DestinationConfig 屬性。

Enabled

停用事件來源映射以暫停輪詢和叫用。

類型:布林值

必要:否

AWS CloudFormation 相容性:此屬性會直接傳遞至 AWS::Lambda::EventSourceMapping 資源的 Enabled 屬性。

FilterCriteria

物件,定義判斷 Lambda 是否應處理事件的條件。如需詳細資訊,請參閱《 AWS Lambda 開發人員指南》中的AWS Lambda 事件篩選

類型FilterCriteria

必要:否

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 事件」。

類型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