lambda添加权限-S3存储桶的帐户ID

时间:2019-09-17 17:59:06

标签: amazon-web-services amazon-s3 aws-lambda

我正在尝试遵循aws lambda教程,目前位于: https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html

我正在迈向 “ 向功能策略添加权限

它说: ” 运行以下Lambda CLI add-permission命令来授予Amazon S3服务主体(s3.amazonaws.com)权限,以执行lambda:InvokeFunction操作。请注意,只有在满足以下条件的情况下,才授予Amazon S3调用该功能的权限:

  • 在特定存储桶中检测到对象创建的事件。

  • 存储桶归您的帐户所有。如果删除存储桶,则另一个帐户可能会创建具有相同ARN的存储桶。 “

,然后给出命令行命令以输入:

aws lambda add-permission --function-name CreateThumbnail --principal s3.amazonaws.com --statement-id s3invoke --action "lambda:InvokeFunction" --source-arn arn:aws:s3:::sourcebucket --source-account account-id

我没有要触发的存储桶。这是我公司设置的已经建立的存储桶,我的任务是学习lambda并在文件上传至文件时触发。

如何获取要使用的帐户ID?我可以在该命令中使用我自己的帐户ID吗?

此外,sourcebucket arn是否总是“ arn:aws:s3 :::?”?是在某个地方玩了吗?

2 个答案:

答案 0 :(得分:1)

克里斯托弗, 您需要输入公司已在其中创建存储桶的帐户ID。此外,您肯定需要输入要为其设置触发器的存储桶的arn(亚马逊资源名称)。

这是ARN的样子:

  

arn:aws:s3 ::: bucket-name

您将在AWS控制台的账户设置中找到账户ID。

答案 1 :(得分:0)

对于任何存储桶的ARN,请在任意位置单击存储桶的行,它将在右侧打开一个幻灯片窗口,您可以看到“复制存储桶ARN”按钮,可以看到格式始终为'arn:aws:s3: :: l'

问题:使用此命令后,您能否在Lambda函数内部看到自动生成的S3触发器?我不能,它应该在那里。就像我看到“上次修改的列”已更新,但看不到任何自动生成的触发器一样。