尝试在命令行中创建 AWS 执行角色时出现 JSON 错误

时间:2021-07-24 13:28:14

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

我正在尝试按照此处的教程创建执行角色 - https://docs.aws.amazon.com/lambda/latest/dg/python-package-create.html

但是,当我尝试按照说明运行以下命令时

aws iam create-role --role-name lambda-ex --assume-role-policy-document "{"Version": "2012-10-17","Statement": [{ "Effect": "Allow", "Principal": {"Service": "lambda.amazonaws.com"}, "Action": "sts:AssumeRole"}]}"

我收到错误消息“调用 CreateRole 操作时发生错误 (MalformedPolicyDocument):此策略包含无效的 Json”。

我是 AWS 的新手,所以我不确定发生了什么 - 任何人都可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

使用单引号。 注意:这仅适用于类似 Linux 的操作系统。

aws iam create-role --role-name lambda-ex --assume-role-policy-document '{"Version": "2012-10-17","Statement": [{ "Effect": "Allow", "Principal": {"Service": "lambda.amazonaws.com"}, "Action": "sts:AssumeRole"}]}'

答案 1 :(得分:0)

为了解决这个问题,perjellycsc 建议对我使用的字符串中的每个 " 进行转义:

aws iam create-role --role-name lambda-ex --assume-role-policy-document "{\"Version\": \"2012-10-17\",\"Statement\": [{ \"Effect\": \"Allow\", \"Principal\": {\"Service\": \"lambda.amazonaws.com\"}, \"Action\": \"sts:AssumeRole\"}]}"
相关问题