如何让Lambda执行DynamoDB操作?

时间:2019-06-29 10:53:07

标签: aws-lambda amazon-dynamodb amazon-iam

我认为我的情况很普遍,但是找不到关于如何实现目标的简明指南。我正在开发Alexa技能,并且具备以下条件:

Lambda function: arn:aws:lambda:us-west-2:123456789012:function:lambda1

目前,Alexa Skill可以很好地与Lambda一起完成简单的任务。 Lambda的执行角色是:

arn:aws:iam::123456789012:role/service-role/lambda1-role-rp2z9bjn

我现在想将DynamoDB添加到我的Lambda(Node.js)。我创建了以下内容:

IAM user: arn:aws:iam::123456789012:user/user1
DynamoDB table: arn:aws:dynamodb:us-west-2:123456789012:table/T1

我现在如何将所有内容连接在一起,即让Lambda函数对T1执行读/写操作? IAM用户甚至有必要吗?

1 个答案:

答案 0 :(得分:3)

您不需要IAM用户。

相反,将DynamoDB权限添加到Lambda函数使用的IAM角色。例如:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "dynamodb:*",
            "Resource": "arn:aws:dynamodb:us-west-2:123456789012:table/T1"
        }
    ]
}

然后将允许Lambda函数使用该表。