fis*_*eep 5 amazon-s3 endpoint vpc amazon-web-services aws-lambda
我的VPC中有一个Lambda函数,我想访问S3存储桶。
我认为我已经正确设置了S3 VPC端点,
因为我在同一子网(Lambda函数子网)中创建了EC2实例,
使用相同的安全组,
并运行Lambda函数代码的副本,
它可以正确显示S3文件内容。
但是,当我在Lambda中运行代码时,它失败了。
因此,我想知道“在EC2中运行”和“在Lambda中运行”之间有什么区别?
为什么在Lambda中运行它失败?
这是我的Lambda函数代码:
import boto3
s3 = boto3.client('s3', region_name='ap-northeast-1')
def lambda_handler(event, context):
bucket = '*xxxxxx*'
key = 's3-upload.json'
try:
response = s3.get_object(Bucket=bucket, Key=key)
print('--------------------------------------')
print(response)
print('--------------------------------------')
body = response['Body'].read()
print(body)
print('--------------------------------------')
print("CONTENT TYPE: " + response['ContentType'])
except Exception as e:
print('Error getting object.')
print(e)
raise e
Run Code Online (Sandbox Code Playgroud)
如果您想允许AWS Lambda访问Amazon S3,请使用以下方法之一:
| 归档时间: |
|
| 查看次数: |
2234 次 |
| 最近记录: |