首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >名称错误-“未定义名称'ssm_parameter_namee‘”,

名称错误-“未定义名称'ssm_parameter_namee‘”,
EN

Stack Overflow用户
提问于 2022-07-19 03:48:04
回答 1查看 74关注 0票数 -2

我正在尝试更新SSM参数存储中的参数,并得到以下错误。我犯了什么错?请澄清。

Lambda代码:

代码语言:javascript
复制
#Lambda code
logger = logging.getLogger()
logger.setLevel(logging.INFO)

ssm_client = boto3.client('ssm')
parameter_name = ''
def lambda_handler(event, context):
logger.info('Printing event: {}'.format(event))
process_sns_event(event)
return None  
def process_sns_event(event):
for record in (event['Records']):
event_message = record['Sns']['Message']

# convert the event message to json
message_json = json.loads(event_message)

# obtain the image state
image_state = (message_json['state']['status'])
# obtain the image name
image_name = (message_json['name'])

# assign SSM parameter based on image_name
#parameter_name = f'/ec2-image-builder/{{image_name}}/latest'
def path(imagename):
first = "/ec2-image-builder/"
last = "/latest"
result = first + imagename + last
return result
parameter_name = path(image_name)
logger.info('image_name: {}'.format(image_name))
logger.info('ssm_parameter_name: {}'.format(parameter_name))
# update the SSM parameter if the image state is available
if (image_state == 'AVAILABLE'):
logger.info('Image is available')
# obtain ami id
ami = message_json['outputResources']['amis'][0]
recipe_name = message_json['name']
logger.info('AMI ID: {}'.format(ami['image']))
# update SSM parameter
response = ssm_client.put_parameter(
#Name=parameter_name,
Name='/ec2-image-builder/linux/latest', 
Description='Latest AMI ID',
Value=ami['image'],
Type='String',
Overwrite=True,
Tier='Standard'
)
logger.info('SSM Updated: {}'.format(response))

# add tags to the SSM parameter
ssm_client.add_tags_to_resource(
ResourceType='Parameter',
ResourceId=ssm_parameter_namee,
Tags=[
     {
'Key': 'Source',
'Value': 'EC2 Image Builder'
},
{
'Key': 'AMI_REGION',
'Value': ami['region']
 },
 {
'Key': 'AMI_ID',
'Value': ami['image']
 },
 {
'Key': 'AMI_NAME',
'Value': ami['name']
 },
 {
'Key': 'RECIPE_NAME',
'Value': recipe_name
 },
 {
 'Key': 'SOURCE_PIPELINE_ARN',
 'Value': message_json['sourcePipelineArn']
 },
],
)

不退货

误差输出

对试验的答复:

{ "errorMessage":“未定义名称'ssm_parameter_namee‘”,

"errorType":"NameError","requestId":"54ad245c-84f3-4c46-9e9b-1798f86a8bce","stackTrace":“File”/var/task/lambda_Func.py,第19行,在lambda_handler\n process_sns_event(事件)\n中,“File”/var/task/lambda_function.py. 19,第71行,在process_sns_event\n ResourceId=ssm_parameter_namee中,\n }。

EN

回答 1

Stack Overflow用户

发布于 2022-07-22 09:59:46

答案是你的错误..。

打错名字还是叫namee?是ssm_parameter_namee还是ssm_parameter_name?

我强烈推荐使用IDE,指的是这样简单的东西:)

代码语言:javascript
复制
logger.info('ssm_parameter_name: {}'.format(parameter_name))

ResourceId=ssm_parameter_namee
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73030894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档