S3PutObjectOperation_Internal
全部标签 我有一个运行日常任务并生成多个文件的AWS虚拟机。我希望我的Rails应用程序下载这些文件并将它们放在应用程序内的文件夹中。Ruby中是否有可以执行此操作的gem或方法?我知道如何使用s3cmd在bash中执行此操作,我想我可以创建一个脚本来以这种方式获取它们,但正在寻找一种更原生的Rails方式。我正在为应用程序使用这些文件中的数据,但我不希望用户能够下载它们。 最佳答案 aws-sdkv2gem为从AmazonS3下载对象提供了一个简单的界面。require'aws-sdk's3=Aws::S3::Resource.new(re
我正在通过jquery_file_upload上传图片(Railscast第383集)上传工作完美,我在回调函数中得到了url问题是:我想在直接上传到s3后创建一些缩略图为此我假设:服务器必须从s3读取图像服务器必须创建缩略图服务器必须将缩略图直接存储在s3中服务器必须获得回调并相应地显示缩略图。服务器必须存储创建的缩略图的字段现在,在图像完成上传图像Controller回调后调用:defcreate#gettheurlfromthecallbcack#e.g:image[image_source]=https://.s3.amazonaws.com/uploads/myimage.p
编辑:一个问题是我需要做r=Resource.where(id:3).first#我正在尝试使用imgkit+paperclip+s3获取URL的快照。我能够获取快照,并成功将它们上传到回形针。例如,本文底部的IRBsession成功将指定URL的快照上传到我的S3存储桶。但是,我正在尝试显示图像,但我总是得到一个missing.png图像。我在下面给出的IRBsession中进行了实验,发现了一些有趣的东西。我认为我没有正确保存resource.snapshot,因为如果我在不同的变量名下找到资源,我将无法再次获取该url(查看下面的IRBsession)。我只想知道如何获取上传到S
我刚刚第一次部署到Heroku,除了我的图像,Assets工作。当我发现这个要点时,我正在阅读有关如何将Assets移动到s3(然后使用云端缓存它们)的信息:https://gist.github.com/schneems/9374188“我讨厌asset_sync”Usingassetsynccancausefailures,isdifficulttodebug,un-needed,andaddsextracomplexity.Don'tuseit.Insteadusehttps://devcenter.heroku.com/articles/using-amazon-cloudfr
我已将图像上传到amazons3bucket。当我尝试recreate_versions!时,它给了我一个nilbody异常。我认为这是由于我们代码中之前的uploader设置发生了变化。但是,当我执行pr.image.url时,它仍然会给我原始图像,所以我尝试的如下:beginUser.all.eachdo|pr|ifpr.user.present?pr.remote_avatar_url=pr.avatar.urlpr.save!endendrescueend但是它抛出一个错误:ActiveRecord::RecordInvalid:Validationfailed:Avatart
我有一个主题模型,其中包含许多Assets。Assets使用Paperclip并将其文件内容存储在我的AmazonAWS-S3系统中。我也在使用deep_clone,因为我的客户能够复制内置主题,然后根据自己的喜好进行修改。所有deep_clone的东西都运行良好,但是当我deep_cloneAssets时,旧文件内容不会添加到我的S3存储桶中。记录已保存到数据库中,但由于文件内容未使用新ID保存,因此file.url属性指向无效文件。我试过手动调用回形针的保存和创建方法,但我无法弄清楚如何让回形针将文件“推”回存储桶,因为它现在有了新的ID等....require'open-uri'
我想在图像大小大于某个数量(即1000000-1MB)时压缩图像。我看到compress与Image对象中的write方法一起使用。我的图像在内存中,我不想将它写入我的服务器,而是写入AmazonS3。此代码有效。它将图像上传到我的s3路径,但是我想包括文件大小检查和压缩:photo=Magick::Image.read(mmkResourceImage.href).firsts3=AWS::S3.newbucket=s3.buckets[bucketName]obj=bucket.objects[key]obj.write(photo)请让我知道是否有其他方法可以实现此目的。
我正在将我的Rails应用程序迁移到Heroku,并且需要更改我的文件上传功能以使用AmazonS3而不是本地存储。我正在使用aws-s3gem并且可以正常工作,但我只是想确保我做的事情是正确的,而不是给自己制造问题。在我的上传代码中,我有以下内容;AWS::S3::Base.establish_connection!(:access_key_id=>'Nottelling',:secret_access_key=>'Reallynottelling')AWS::S3::S3Object.store("#{self.name}",upload_file_field.read,'my_b
我正在使用aws-sdkforRuby管理S3上的对象。我可以通过设置授予公共(public)读取权限object.acl=:public_read有没有办法在这样做之前确定是否已经向对象授予了公共(public)读取权限? 最佳答案 Rubyaws-sdk的文档很差,我也找不到它。下面是我创建的一个函数,用于检查文件是否具有读取权限。根据您的需要修改它:defcheck_if_public_read(object)object.acl.grants.eachdo|grant|beginif(grant.grantee.uri=="
我们使用亚马逊S3存储桶来发布js文件并将它们放在客户端网站上。也就是说,js文件是存放在amazons3中的。主要问题是因为这些文件位于客户端站点上,如果amazons3存储桶出现故障,我们不想为客户端提供新的js代码。Rails应用程序中有没有办法在不给客户另一个代码安装在他们的网站上的情况下进行冗余切换?我们希望那段代码在另一个存储桶出现故障时使用另一个存储桶,而无需重新发布任何内容或向客户端提供新的js代码。这似乎是不可能的,但我认为有人可能有想法。预先感谢您的所有帮助。 最佳答案 我从未听说过影响单个存储桶的扩展S3故障。