【发布时间】:2020-08-04 11:55:40
【问题描述】:
我是 Python 和 AWS 的新手。按照教程,我创建了一个 S3 存储桶,当在 s3 中创建对象时,它会触发以下 lambda 函数(参见下面的代码)。在测试时我发现,最初我的代码中有一些错误,所以当我上传文件时,如果它抛出错误,则执行 lambda。它试图一次又一次地执行。我猜这是 lambda 函数的默认性质,如果它失败它会尝试再次执行它。我想添加一些错误处理,也可能是一些日志记录。另外,如果处理文件时出现错误,我可以限制它,以便 lambda 只执行一次并且不继续尝试。
import boto3
import os
from requests_aws4auth import AWS4Auth
session = boto3.Session()
credentials = session.get_credentials()
aws4auth = AWS4Auth(credentials.access_key,credentials.secret_key,region, service, session_token=credentials.token)
s3 = boto3.resource('s3')
name = event['Records'][0]['s3']['bucket']['name']
key = event['Records'][0]['s3']['object']['key']
obj = s3.Object(name,key)
# get the object
response = obj.get()
print(response)
【问题讨论】:
-
您发布的代码是无效的 lambda 代码。你确定你显示的是正确的代码吗?
-
已在this 线程中回答。祝您的 AWS 之旅好运! :)
标签: python amazon-web-services aws-lambda