AWS Lambda授权S3操作

AWS Lambda授权S3操作

AWS Lambda操作S3的文件,需要提前授权,否则会提示没权限,无法读取或写入。
1、在S3创建一个bucket
2、打开IAM console,选择创建一个role
3、然后选择Trusted entity – AWS Lambda;Permissions – AWSLambdaExecute;Role name – lambda-s3-role

然后就可以了,下面是一个简单的写入S3的python代码
import json, boto3,os, sys, uuid
from urllib.parse import unquote_plus

s3_client = boto3.client(‘s3’)

def lambda_handler(event, context):
some_text = “test”
bucket_name = “my_buck_name”
file_name = “my_test_file.csv”
lambda_path = “/tmp/” + file_name
s3_path = “output/” + file_name
os.system(‘echo testing… >’+lambda_path)
s3 = boto3.resource(“s3”)
s3.meta.client.upload_file(lambda_path, bucket_name, file_name)

return {
    'statusCode': 200,
    'body': json.dumps('file is created in:'+s3_path)
}

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注