当前位置: 首页 > 知识库问答 >
问题:

在AWS CLI中的nodejs中创建AWS lambda函数时,如何将策略附加到角色?附加角色时遇到错误

周辉
2023-03-14

我正在创建一个nodejs应用程序,并将其作为lambda函数部署在AWS上。我正在跟踪链接:http://docs.aws.amazon.com/lambda/latest/dg/with-on-demand-https-example-create-iam-role.html

我现在被困在步骤2.2-2.3。步骤2.2中的json包含需要附加到角色的策略。当我使用以下命令(步骤2.3)创建lambda函数时:

ws lambda create-function --region us-east-1 --function-name LambdaFunctionOverHttps --zip-file fileb://LambdaFunctionOverHttps.zip --role execution-role-arn --handler LambdaFunctionOverHttps.handler --runtime nodejs4.3 

然后我得到以下错误:-

调用CreateFunction操作时发生错误(ValidationException):检测到1个验证错误:“role”处的值“execution role arn”未能满足约束:成员必须满足正则表达式模式:arn:aws:iam::\d{12}:role/?[a-zA-Z_0-9=,@-\u/]

我甚至创建了文件“执行-角色-阿恩”,其中包含步骤2.2中的json。如何解决此错误并创建lambda函数?

共有2个答案

祁奇略
2023-03-14

更新:该角色需要替换为lambda函数的实际arn角色名,而不是单独的文件。这可以在步骤2.2中刚刚创建的角色中找到。因此,正确的方法如下:

AWS lambda create-Function--区域us-East-1--Function-name LambdaFunctionOverHttps
--zip-file fileb://LambdaFunctionOverHttps.zip--角色arn: aws: iam::9999999999999:角色/lambda-gate-执行-角色-处理程序LambdaFunctionOverHttps.handler--runtime nodejs4.3

这工作得很好,λ函数被创建了。请注意,我已经用aws配置命令将默认配置文件指向管理员。

毛弘博
2023-03-14

我遇到了同样的错误,结果是您必须指定角色ARN,而不是角色名称。因此,将--role-roleName改为--role-arn:aws:iam::1234567891:role/service-role/roleName。您可以通过单击角色选项卡中的角色名称找到角色ARN,然后在顶部找到角色ARN。

AWS确实需要修复几乎所有服务的文档。

 类似资料:
  • 我使用模块,地形aws模块/eks/aws规定eks。默认情况下,模块为EKS EC2 IAM角色提供三种策略:AmazonEKSWorkerNodePolicy、AmazonEC2ContainerRegistryReadOnly和AmazonEKS_CNI_策略。我想附加一个附加的策略,CloudWatchLogsFullAccess到IAM角色。我看了医生。我没有找到连接它的方法。我必须登录

  • 我正试图在我的注册功能中为用户分配一个角色。 通过使用以下代码: 当我试图运行上面的代码时,我得到了以下错误。 E/AndroidRuntime:致命异常:AsyncTask#2进程:info,pid:967 java.lang.runtimeException:在Android.os.AsyncTask$3处执行doInBackground()时发生错误。done(AsyncTask.java:

  • 我正在尝试按照本指南将消息从未加密的SNS主题传递到加密的SQS队列。我能够完成“为AWS服务配置KMS权限”步骤,但在“为生产者配置KMS权限”步骤中遇到了问题。我已经创建了IAM角色,但是将这个角色附加到我的SNS主题是我特别困惑的地方。以下是我自己的研究无法回答的一些问题: IAM角色是否可以附加到特定项目(SNS主题、SQS队列等)?如果没有,还有什么其他方法可以授予特定项目的权限 当说明

  • 如何将托管策略附加到lambda函数? 我试过: 但这导致了以下错误: 预配堆栈时发生错误:检测到GaDasheretLambdaFunction-1验证错误:值'arn: aws: iam::aws:策略/Amazon CognitoReadOnly'at'角色'未能满足约束:成员必须满足正则表达式模式: arn: aws: iam::\d{12}:角色/?[Z_0-9 =,.@- _/]。

  • 我希望能够运行以开始的命令!suspend,提到一个用户,然后确定一个时间长度,并在指定的时间长度内向提到的用户添加一个名为“suspend”的角色。 我不知道该怎么做,因为我对JDA太不熟悉,无法让它工作。除了实际添加的名为“暂停”的角色之外,我的一切都正常。