我在执行下面的py脚本时遇到了下面的错误。如果有人能在这方面帮我的话我真的很感激。
[ERROR] UnboundLocalError: local variable 'get_object' referenced before assignment
Traceback (most recent call last):
File "/var/task/lambda_function.py", line 28, in lambda_handler
readObj = get_object(waf_bucket, waf_key)def lambda_handler(event, context):
print(event,context)
waf_bucket = event['Records'][0]['s3']['bucket']['name']
waf_key = event['Records'][0]['s3']['object']['key']
print("BucketName: {}, Key: {}".format(waf_bucket, waf_key))
print("Processing File: {}".format(waf_key))
readObj = get_object(waf_bucket, waf_key)
print(readObj)发布于 2021-05-07 20:22:11
通过查看您的代码,我可以理解您正在尝试从s3获取对象。因此,您应该已经在lambda_handler函数之上为s3客户端创建了一个实例。下面的代码必须解决你的问题。
client = boto3.client('s3')
def lambda_handler(event, context):
print(event,context)
waf_bucket = event['Records'][0]['s3']['bucket']['name']
waf_key = event['Records'][0]['s3']['object']['key']
print("BucketName: {}, Key: {}".format(waf_bucket, waf_key))
print("Processing File: {}".format(waf_key))
readObj = client.get_object(waf_bucket, waf_key)
print(readObj)https://stackoverflow.com/questions/67429000
复制相似问题