自2016年12月1日起,AWS Lambda现在支持在.NET Core 1.0运行时中运行的C#中的函数。所以我使用VS AWS Lambda模板创建了该函数。我试图通过"发布到AWS Lambda ..."发布lambda函数。 VS中的上下文菜单因此,在对话框中配置功能(选择S3存储桶,区域等)后,我单击发布,在发布过程结束时,我收到错误:
Error creating CloudFormation change set: User: arn:aws:iam::***:user/demo_user is not authorized to perform: cloudformation:CreateChangeSet on resource: arn:aws:cloudformation:us-east-1:****:stack/****
我想我可以将一个策略附加/授予组/用户进行cloudformation,但我只能在选择中看到此政策:AWSCloudFormationReadOnlyAccess
我期待看到某种ReadWrite或FullAccess。
需要帮助将功能发布到AWS lambda。谢谢!
答案 0 :(得分:0)
提供对Lambda部署的用户个人资料的完全访问权限。Lambda Permission Image
答案 1 :(得分:0)
我认为这与要使用的帐户资料有关;需要允许这个发布lambda。
在Visual Studio中,右键单击AWS Lambda项目 - >发布,您会看到要发布的窗口。 顶部是要使用的帐户配置文件和要发布到的区域; default采用您在安装插件时使用的aws_user帐户
您可以尝试的是为您自己的用户提供AWSLambdaFullAccess策略以便能够发布lambda。您可以在AWS的IAM控制台中执行此操作。
您也可以尝试从dotnet cli命令行发布,而不是使用上下文菜单。
这是因为从这个文件夹中,dotnet cli能够找到并使用位于packages子文件夹中的AWS包,或者使用project.json来定位它们。
示例:
dotnet lambda package
将构建&打包待发布的文件。
dotnet lambda deploy-function
将您的lambda函数发布到AWS Cloud。