gpt4 book ai didi

ruby - 通过 ruby​​ sdk 将文件上传到 s3 时如何使用服务器端加密?

转载 作者:太空宇宙 更新时间:2023-11-03 16:43:25 25 4
gpt4 key购买 nike

我在使用 SDK 版本 2 上传到 S3 时遇到问题。

运行时:

Aws.config.update({
region: 'us-east-1',
credentials: Aws::Credentials.new(credentials['key'],credentials['secret'],
s3_server_side_encryption: :aes256)
})
s3 = Aws::S3::Resource.new
bucket = 'VandalayIndustriesAccountingData'
s3_file_path = "folder/filename.tar.gz"
s3_object = s3.bucket(bucket).object(s3_file_path)
s3_object.upload_file(artifact_location)

我收到以下错误:

Aws::S3::Errors::InvalidToken
-----------------------------
The provided token is malformed or otherwise invalid.

当我删除 s3_server_side_encryption 设置时,它会更改为拒绝访问错误。

我一直在尝试查找有关使用 API v2 执行此操作的文档,但网上的所有内容似乎都依赖于具有 write 方法的存储桶对象,而 v2 中似乎不存在该方法的 API。

http://docs.aws.amazon.com/AmazonS3/latest/dev/SSEUsingRubySDK.html

我可能只是没有在 v2 api 中找到正确的文档。我想避免使用 API 的 v1 和 v2,但可能会退回到那个。

最佳答案

upload_file 采用类似于 write 的参数

Aws.config.update({
region: 'us-east-1',
credentials: Aws::Credentials.new(credentials['key'],credentials['secret'],
)
})
s3 = Aws::S3::Resource.new
bucket = 'VandalayIndustriesAccountingData'
s3_file_path = "folder/filename.tar.gz"
s3_object = s3.bucket(bucket).object(s3_file_path)
s3_object.upload_file(artifact_location, server_side_encryption: :AES256)

关于ruby - 通过 ruby​​ sdk 将文件上传到 s3 时如何使用服务器端加密?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39538941/

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