gpt4 book ai didi

amazon-web-services - 如何配置boto3内联授权机制

转载 作者:行者123 更新时间:2023-12-04 00:21:01 26 4
gpt4 key购买 nike

我在 aws lambda 中使用 boto3 到位于法兰克福地区的 S3 中的 fecth 对象。

v4 是必要的。否则将返回以下错误

"errorMessage": "An error occurred (InvalidRequest) when calling 
the GetObject operation: The authorization mechanism you have
provided is not supported. Please use AWS4-HMAC-SHA256."

实现配置signature_version的方法 http://boto3.readthedocs.org/en/latest/guide/configuration.html

但是由于我使用的是 AWS lambda,我无权访问底层配置文件

我的 AWS lambda 函数的代码
from __future__ import print_function
import boto3


def lambda_handler (event, context):
input_file_bucket = event["Records"][0]["s3"]["bucket"]["name"]
input_file_key = event["Records"][0]["s3"]["object"]["key"]
input_file_name = input_file_bucket+"/"+input_file_key

s3=boto3.resource("s3")
obj = s3.Object(bucket_name=input_file_bucket, key=input_file_key)
response = obj.get()
return event #echo first key valuesdf

可以在此代码中配置 signature_version 吗?以 session 为例。或者有什么解决方法吗?

最佳答案

不要使用默认 session ,而是尝试使用 boto3.session 中的自定义 session 和配置

import boto3
import boto3.session
session = boto3.session.Session(region_name='eu-central-1')
s3client = session.client('s3', config= boto3.session.Config(signature_version='s3v4'))
s3client.get_object(Bucket='<Bkt-Name>', Key='S3-Object-Key')

关于amazon-web-services - 如何配置boto3内联授权机制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33577503/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com