You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从AWS DynamoDB Streams触发指定版本的AWS Lambda函数

DynamoDB Streams触发指定版本/别名Lambda的配置方法

DynamoDB控制台仅支持选择未带版本标记的Lambda函数名,无法直接配置版本/别名,但可以通过CLI/CloudFormation/SDK完成配置,实测可正常运行,具体操作步骤如下:

  • 第一步:配置Lambda调用权限
    首先需要给DynamoDB Streams服务授予调用指定版本/别名Lambda的权限,执行如下CLI命令:

    aws lambda add-permission \
      --function-name arn:aws:lambda:<区域>:<账号ID>:function:<函数名>:<版本号/别名> \
      --statement-id dynamodb-streams-invoke-perm \
      --action lambda:InvokeFunction \
      --principal dynamodb.amazonaws.com \
      --source-arn arn:aws:dynamodb:<区域>:<账号ID>:table/<表名>/stream/<流标识>
    
  • 第二步:创建Lambda事件源映射
    DynamoDB流触发器本质是Lambda侧的事件源映射资源,直接通过Lambda CLI创建即可指定目标版本/别名:

    aws lambda create-event-source-mapping \
      --function-name arn:aws:lambda:<区域>:<账号ID>:function:<函数名>:<版本号/别名> \
      --event-source-arn arn:aws:dynamodb:<区域>:<账号ID>:table/<表名>/stream/<流标识> \
      --starting-position LATEST \
      --batch-size 100 \
      --enabled
    
  • 现有触发器修改方法
    如果已经在DynamoDB控制台创建了默认指向$LATEST版本的触发器,可以直接在Lambda控制台对应函数的「触发器」页签,找到目标DynamoDB触发器,编辑配置后将函数ARN替换为带版本/别名的ARN,保存即可生效。

配置完成后可执行aws lambda get-event-source-mapping --uuid <事件源映射ID>校验返回参数中的FunctionArn字段,确认已携带版本/别名后缀。使用别名时,后续只需调整别名指向的函数版本,无需修改触发器配置即可完成版本切换。

内容的提问来源于stack exchange,提问作者Amox Cillin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 06:06:05