0

我正在尝试使用 boto3 api 调用在 ssm 管理器上激活 AWS ec2 实例,但是它因正则表达式错误而失败。

问题已在https://github.com/aws/aws-sdk-js/issues/2748提出,但未找到合适的解决方案

response = client.create_activation(DefaultInstanceName='my-instance-name', 
                                   IamRole='arn:aws:iam::xxxxxxx:role/my-role-name')

回溯(最后一次调用):文件“”,第 1 行,在文件“/usr/local/lib/python2.7/dist-packages/botocore/client.py”中,第 320 行,在 _api_call return self._make_api_call( operation_name, kwargs) 文件“/usr/local/lib/python2.7/dist-packages/botocore/client.py”,第 623 行,在 _make_api_call 中引发 error_class(parsed_response, operation_name) botocore.exceptions.ClientError:发生错误( ValidationException) 调用 CreateActivation 操作时:检测到 1 个验证错误:值 'arn:aws:iam::xxxxxxxx:role/my-role-name' at 'iamRole' 未能满足约束:成员必须满足正则表达式模式:^[ \p{L}\p{N}+=,.@-_/]*$

虽然我已经复制了 IAM 角色 ARN。

如果有人对此有解决方案,我真的很感激..

4

1 回答 1

0

IamRole参数需要角色的名称,而不是 ARN。您应该替换arn:aws:iam::xxxxxxx:role/my-role-namemy-role-name.

response = client.create_activation(DefaultInstanceName='my-instance-name',
                                    IamRole='my-role-name')
于 2019-08-12T07:25:36.000 回答