键InstanceId的目标值无效。使用InstanceID的Python boto3 ssm脚本错误?
我要自动修补的python脚本有一个错误,其中参数instanceId无效。在脚本中,我应该在哪里声明InstanceId的值键InstanceId的目标值无效。使用InstanceID的Python boto3 ssm脚本错误?,python,amazon-web-services,amazon-ec2,boto3,Python,Amazon Web Services,Amazon Ec2,Boto3,我要自动修补的python脚本有一个错误,其中参数instanceId无效。在脚本中,我应该在哪里声明InstanceId的值 import boto3 ssm = boto3.client('ssm', region_name='us-east-1') response = ssm.start_automation_execution( Parameters={ 'AutomationAssumeRole': [ 'parameters
import boto3
ssm = boto3.client('ssm', region_name='us-east-1')
response = ssm.start_automation_execution(
Parameters={
'AutomationAssumeRole': [
'parameters'
]
},
DocumentName='document-name',
Mode='Auto',
TargetParameterName='test',
Targets=[
{
'Key': 'InstanceIds',
'Values': [ 'i-1234567890abcd' ]
}
],
MaxErrors='10'
)
这给了我错误信息
Invalid target value for key InstanceIds
我做错了什么;dr:确保“InstanceId”列为自动化文档中的输入参数,然后尝试更新用于'ParameterValues'
的目标键值
这可能在某种程度上取决于您的实现,但我遇到了与您相同的错误,并且我的参数与您的参数匹配,只是我使用了TargetParameterName='InstanceId'
而不是TargetParameterName='test'
。我为Target.Key尝试了几种不同的值,但都不起作用,直到我尝试了这一点,它才起作用:
Targets=[
{
'Key': "ParameterValues",
'Values': [
"i-012345abcdeff",
"i-012345abcdefg"
]
}
],
另一方面,我认为他们可能会在某种程度上改进这种情况下此API的错误消息。从我在文档中看到的语法看起来正确,实例id有效吗?你能在控制台中重现这个场景吗?@ChrisWilliams是的,错误消息是我从控制台得到的,即使这样,它也不会工作。实例当前是否打开有关系吗?我正在从另一个实例运行此命令以测试另一个补丁。我建议打开它以注册自动化目标,因为它可能正在检查SSM代理是否正确active@ChrisWilliams不过,该实例已经在进行测试。是否需要添加权限?我认为将
AmazonSmManagedInstanceCore
策略附加到实例角色应该足够了