我试图使用boto3 api调用在ssm Manager上激活AWS ec2实例,但是它失败并出现正则表达式错误。
问题已经在https://github.com/aws/aws-sdk-js/issues/2748提出,但找不到适当的解决方案
=QUERY(SORTN(SORT(A2:E, 1, 0), ROWS(A:A), 2, 2, 1), "select Col5,Col3", 0)
回溯(最近一次通话最后一次):文件“”,第1行,在 文件 “ /usr/local/lib/python2.7/dist-packages/botocore/client.py”,第320行, 在_api_call中 返回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 检测到验证错误:值 'iamRole'中的'arn:aws:iam :: xxxxxxxx:role / my-role-name'失败 满足约束:成员必须满足正则表达式模式: ^ [\ p {L} \ p {N} + =,。@ -_ /] * $
尽管我已经复制了IAM角色ARN。
如果有人对此有解决方案,我真的很感激。
答案 0 :(得分:0)
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')