![](/img/trans.png)
[英]How to use S3 SSE C (Server Side Encryption with Client Provided Keys) with Ruby
[英]How do I use server side encryption when uploading a file to s3 via the ruby sdk?
我在将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
方法的存储桶对象,而该方法似乎在API v2中不存在。
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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.