gpt4 book ai didi

aws-lambda - 如何使用 boto3 标记 AWS Lambda 函数

转载 作者:行者123 更新时间:2023-12-04 02:05:19 26 4
gpt4 key购买 nike

我有创建“lambda”类型的 boto3 客户端的代码。然后,我使用该客户端调用 list_functions()、create_function() 和 update_function() 方法。如本文档中所述,一切正常: http://boto3.readthedocs.io/en/latest/reference/services/lambda.html#Lambda.Client.list_functions

但是当我去使用这里概述的 list_tags() 或 tag_resource() 方法时: http://boto3.readthedocs.io/en/latest/reference/services/lambda.html#Lambda.Client.list_tags

我收到一条错误消息:

AttributeError: 'Lambda' object has no attribute 'list_tags'

我做错了什么?这些方法列在同一个文档页面上,所以我认为它们是在同一个客户端上调用的。什么给:

    l = boto3.client(
'lambda',
region_name='us-east-1',
aws_access_key_id = 'AletitgoQ',
aws_secret_access_key = 'XvHowdyW',
)
l.list_tags(
Resource="myArn"
)

l.tag_resource(
Resource="myArn",
Tags={
'action': 'test'
}
)

更糟糕的是,我似乎无法在 create_function() 调用中包含标签,尽管文档在此处说明了这一点: http://boto3.readthedocs.io/en/latest/reference/services/lambda.html#Lambda.Client.create_function

当我在调用中包含标签时,我得到这样的响应:

botocore.exceptions.ParamValidationError: Parameter validation failed: Unknown parameter in input: "Tags", must be one of: FunctionName, Runtime, Role, Handler, Code, Description, Timeout, MemorySize, Publish, VpcConfig, DeadLetterConfig, Environment, KMSKeyArn

将该列表与 boto3 文档中显示的内容进行比较,您会发现末尾缺少一些内容,包括标签

我在 python 2.7 中,pip 确认我的 boto3 是 1.4.4

最佳答案

它对我来说很好用:

>>> import boto3
>>> client = boto3.client('lambda')

>>> response=client.create_function(FunctionName='bar', Runtime='python2.7', Handler='index.handler', Tags={'Action': 'Test'}, Role='arn:aws:iam::123456789012:role/my-role', Code={'S3Bucket':'my-bucket', 'S3Key':'files.zip'})

>>> client.tag_resource(Resource='arn:aws:lambda:ap-southeast-2:123456789012:function:bar', Tags={'Food':'Cheese'})
{'ResponseMetadata': {'RetryAttempts': 0, 'HTTPStatusCode': 204, 'RequestId': '93963c42-36d5-11e7-a457-8730520029b8', 'HTTPHeaders': {'date': 'Fri, 12 May 2017 05:40:58 GMT', 'x-amzn-requestid': '93963c42-36d5-11e7-a457-8730520029b8', 'connection': 'keep-alive', 'content-type': 'application/json'}}}

>>> client.list_tags(Resource='arn:aws:lambda:ap-southeast-2:123456789012:function:bar')
{'ResponseMetadata': {'RetryAttempts': 0, 'HTTPStatusCode': 200, 'RequestId': '9e826957-36d5-11e7-a554-a30d477976ba', 'HTTPHeaders': {'date': 'Fri, 12 May 2017 05:41:16 GMT', 'x-amzn-requestid': '9e826957-36d5-11e7-a554-a30d477976ba', 'content-length': '42', 'content-type': 'application/json', 'connection': 'keep-alive'}}, u'Tags': {u'Action': u'Test', u'Food': u'Cheese'}}

关于aws-lambda - 如何使用 boto3 标记 AWS Lambda 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43928791/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com