1 python amazon-s3 amazon-web-services aws-lambda
我已经注释掉了所有其他代码并将其移至顶部。仍然出现错误,根本不知道为什么。我已确认 IAM 是正确的,此 Lambda 函数附加了 S3FullAccess。我已经被困在这个问题上有一段时间了,我在搜索中找到的所有内容都没有帮助:/我的原始代码使用
import os
import pymysql
import json
import sys
import logging
import boto3
import zipfile
import tempfile
# logging.getLogger().setLevel(logging.INFO)
# logger = logging.getLogger()
# logger.setLevel(logging.INFO)
s3 = boto3.client('s3')
bucket = 'packages'
key = 'Packages/1005/v1005/1005.pkg'
def lambda_handler(event, context):
try:
data = s3.get_object(Bucket=bucket, Key=key)
json_data = data['Body']
return {
'statusCode': '200',
'body': str(type(json_data)),
}
except Exception as e:
print(e)
raise e
sys.exit()
Run Code Online (Sandbox Code Playgroud)
执行后,这是我的结果,我将超时从默认值增加到 20 秒,以防可能只是超时:
{
"errorMessage": "2020-03-10T03:49:45.400Z c51405a5-9eed-4167-8b6f-edf36beb9c15 Task timed out after 20.02 seconds"
}
Request ID:
"c51405a5-9eed-4167-8b6f-edf36beb9c15"
Function Logs:
START RequestId: c51405a5-9eed-4167-8b6f-edf36beb9c15 Version: $LATEST
END RequestId: c51405a5-9eed-4167-8b6f-edf36beb9c15
REPORT RequestId: c51405a5-9eed-4167-8b6f-edf36beb9c15 Duration: 20018.46 ms Billed Duration: 20000 ms Memory Size: 128 MB Max Memory Used: 81 MB Init Duration: 382.35 ms
2020-03-10T03:49:45.400Z c51405a5-9eed-4167-8b6f-edf36beb9c15 Task timed out after 20.02 seconds```
Run Code Online (Sandbox Code Playgroud)
您的 lambda 是否在 VPC 子网内部运行?在这种情况下,您必须有正确的网络设置。子网需要有一个通往公共互联网的网关,或者最好有一个在 VPC 内部配置的 S3 端点。除了路由设置之外,lambda 的安全组还必须允许访问 S3。
| 归档时间: |
|
| 查看次数: |
1608 次 |
| 最近记录: |