AWS SSM create_activation API 因正则表达式错误而失败



我正在尝试使用 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: 发生错误 (验证异常)调用创建激活操作时:1 检测到验证错误:值 'arn:aws:iam::xxxxx:role/my-role-name' at 'iamRole' 失败 满足约束:成员必须满足正则表达式模式: ^[\p{L}\p{N}+=,.@-_/]*$

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

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

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

response = client.create_activation(DefaultInstanceName='my-instance-name',
IamRole='my-role-name')

最新更新