首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在AWS Lambda中执行Py脚本时的UnboundLocalError

在AWS Lambda中执行Py脚本时的UnboundLocalError
EN

Stack Overflow用户
提问于 2021-05-07 12:23:18
回答 1查看 114关注 0票数 1

我在执行下面的py脚本时遇到了下面的错误。如果有人能在这方面帮我的话我真的很感激。

代码语言:javascript
复制
[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)
代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

发布于 2021-05-07 20:22:11

通过查看您的代码,我可以理解您正在尝试从s3获取对象。因此,您应该已经在lambda_handler函数之上为s3客户端创建了一个实例。下面的代码必须解决你的问题。

代码语言:javascript
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67429000

复制
相关文章

相似问题

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