2016-09-16 4 views
2

私は、sdkのバージョン2を使用してS3にアップロードする際に問題が発生しています。ruby​​ sdk経由でファイルをs3にアップロードする際に、サーバー側の暗号化を使用するにはどうすればよいですか?

ランニング:

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

が、私はそれがアクセス拒否エラーに変更設定s3_server_side_encryptionを削除:

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) 

は、私は次のエラーを取得します。

私はAPIのv2でこれを行うためのドキュメントを探していましたが、オンラインのものはすべてAPIのv2には存在しないwriteメソッドを持つバケットオブジェクトに依存しているようです。

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

私はV2 APIで正しい文書が見つからない可能性が高いです。私は、APIのv1とv2の使用を避けたいと思いますが、それに落ちるかもしれません。

答えて

0

upload_fileは書くために同様の引数を取り

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) 
関連する問題