注册特定条目时使用 dynamodb 触发 lambda
Trigger the lambda with dynamodb when a specific entry is registered
我需要在特定对象在 DynamoDB 上注册时触发 lambda。
例如:
If I create a User
with a POST /my-website/user
and, I store this User
on DynamoDB
, I want to trigger
my Lambda
.
I don't want to trigger the Lambda
if the registered object is
different from the User
.
为了管理我的堆栈,我使用 Serverless
(带有 serverless.yml
文件)和 CloudFormation
语法。
使用无服务器文档,我无法弄清楚如何仅在特定条目注册到 DynamoDB
( https://www.serverless.com/framework/docs/providers/aws/events/streams ) 时触发我的 Lambda
。
提前致谢,
编辑:
感谢您的回答:)
成功了:
statement:
handler: lambda/statement.php
layers:
- arn:aws:lambda:#{AWS::Region}:<account_id>:layer:php-73:1
iamRoleStatements:
- Effect: Allow
Action:
- dynamodb:ListStreams
- dynamodb:GetItem
events:
- stream:
type: dynamodb
arn: arn:aws:dynamodb:eu-west-3:<account_id>:table/dev-project/stream/2020-11-18T22:34:01.579
maximumRetryAttempts: 1
batchSize: 1
filterPatterns:
- eventName: [INSERT]
dynamodb:
NewImage:
__partitionKey:
S: [myPk]
您必须设置 stream filters。该过程解释于:
流过滤器有效(谢谢)。这是最终配置:
statement:
handler: lambda/statement.php
layers:
- arn:aws:lambda:#{AWS::Region}:<account_id>:layer:php-73:1
iamRoleStatements:
- Effect: Allow
Action:
- dynamodb:ListStreams
- dynamodb:GetItem
events:
- stream:
type: dynamodb
arn: arn:aws:dynamodb:eu-west-3:<account_id>:table/dev-project/stream/2020-11-18T22:34:01.579
maximumRetryAttempts: 1
batchSize: 1
filterPatterns:
- eventName: [INSERT]
dynamodb:
NewImage:
__partitionKey:
S: [myPk]
我需要在特定对象在 DynamoDB 上注册时触发 lambda。
例如:
If I create a
User
with aPOST /my-website/user
and, I store thisUser
onDynamoDB
, I want to trigger myLambda
.I don't want to trigger the
Lambda
if the registered object is different from theUser
.
为了管理我的堆栈,我使用 Serverless
(带有 serverless.yml
文件)和 CloudFormation
语法。
使用无服务器文档,我无法弄清楚如何仅在特定条目注册到 DynamoDB
( https://www.serverless.com/framework/docs/providers/aws/events/streams ) 时触发我的 Lambda
。
提前致谢,
编辑:
感谢您的回答:)
成功了:
statement:
handler: lambda/statement.php
layers:
- arn:aws:lambda:#{AWS::Region}:<account_id>:layer:php-73:1
iamRoleStatements:
- Effect: Allow
Action:
- dynamodb:ListStreams
- dynamodb:GetItem
events:
- stream:
type: dynamodb
arn: arn:aws:dynamodb:eu-west-3:<account_id>:table/dev-project/stream/2020-11-18T22:34:01.579
maximumRetryAttempts: 1
batchSize: 1
filterPatterns:
- eventName: [INSERT]
dynamodb:
NewImage:
__partitionKey:
S: [myPk]
您必须设置 stream filters。该过程解释于:
流过滤器有效(谢谢)。这是最终配置:
statement:
handler: lambda/statement.php
layers:
- arn:aws:lambda:#{AWS::Region}:<account_id>:layer:php-73:1
iamRoleStatements:
- Effect: Allow
Action:
- dynamodb:ListStreams
- dynamodb:GetItem
events:
- stream:
type: dynamodb
arn: arn:aws:dynamodb:eu-west-3:<account_id>:table/dev-project/stream/2020-11-18T22:34:01.579
maximumRetryAttempts: 1
batchSize: 1
filterPatterns:
- eventName: [INSERT]
dynamodb:
NewImage:
__partitionKey:
S: [myPk]