繁体   English   中英

使用aws-sdk v2将映像上载到S3

[英]Uploading an image to S3 using aws-sdk v2

我正忙着使用aws-sdk文档,我所遵循的所有链接都显得过时且无法使用。

我正在寻找一个直接的实现示例,将图像文件上传到Ruby中的S3存储桶。

  • 让我们说图像路径是screenshots/image.png
  • 我想把它上传到桶my_bucket
  • AWS信誉存在于我的ENV中

任何建议都非常感谢。

以下是如何将文件从磁盘上传到指定的存储桶和密钥:

s3 = Aws::S3::Resource.new
s3.bucket('my_bucket').object('key').upload_file('screenshots/image.png')

这是最简单的方法。 您应该将“key”替换为您希望它存储在Amazon S3中的密钥。 这将使用分段上传API自动为您上传大文件,并将重试失败的部分。

如果您希望始终使用PUT对象上传,可以调用#put或使用#put Aws::S3::Client

# using put
s3 = Aws::S3::Resource.new
File.open('screenshots/image.png', 'rb') do |file|
  s3.bucket('my_bucket').object('key').put(body:file)
end

# using a client
s3 = Aws::S3::Client.new
File.open('screenshots/image.png', 'rb') do |file|
  s3.put_object(bucket:'my_bucket', key:'key', body:file)
end

此外,v2 SDK的API参考文档位于: http//docs.aws.amazon.com/sdkforruby/api/index.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM