Questions tagged «amazon-s3»

Amazon S3(简单存储服务)是Amazon Web Services的在线对象存储服务。问题必须与编程有关。有关常规S3支持,功能,配置等的问题不在主题范围内。

5
连接到boto3 S3时如何指定凭据?
在boto上,当以这种方式连接到S3时,我通常指定我的凭据: import boto from boto.s3.connection import Key, S3Connection S3 = S3Connection( settings.AWS_SERVER_PUBLIC_KEY, settings.AWS_SERVER_SECRET_KEY ) 然后,我可以使用S3执行操作(在我的情况下,从存储桶中删除对象)。 使用boto3,我发现的所有示例都是这样的: import boto3 S3 = boto3.resource( 's3' ) S3.Object( bucket_name, key_name ).delete() 我无法指定我的凭据,因此所有尝试均因InvalidAccessKeyId错误而失败。 如何使用boto3指定凭据?


7
Amazon S3更改文件下载名称
我将文件存储在S3上,并使用GUID作为键名。 我正在使用预先签名的URL按照S3 REST API进行下载 我将原始文件名存储在自己的数据库中。当用户单击以从我的Web应用程序下载文件时,我想返回其原始文件名,但是目前他们所获得的只是一个GUID。我该如何实现? 我的Web应用程序位于salesforce中,因此我没有太多控制权来执行响应。由于调控器的限制,所有文件都重定向到Web服务器,然后重命名。 我可以使用一些HTML重定向,元刷新,Javascript吗?有什么方法可以更改S3的下载文件名(我唯一想到的就是将对象更改为新名称,然后下载并删除)。 我想避免为每个用户创建存储桶,因为我们会有很多用户,但仍然不能保证每个存储桶中的每个文件都具有唯一的名称 还有其他解决方案吗?

4
通过Node.js将base64编码的图像上传到Amazon S3
昨天我做了一个深夜的编码会议,并创建了一个小的node.js / JS(实际上是CoffeeScript,但是CoffeeScript只是JavaScript,所以可以说是JS)应用程序。 目标是什么: 客户端(通过socket.io)将canvas datauri(png)发送到服务器 服务器将图像上传到亚马逊s3 步骤1完成。 服务器现在有一个字符串 data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACt... 我的问题是:将数据“流” /上传到Amazon S3并在那里创建实际图像的下一步是什么? knox https://github.com/LearnBoost/knox似乎是一个很棒的库,可以向S3添加内容,但是我缺少的是base64编码图像字符串和实际上传操作之间的粘合? 欢迎任何想法,指针和反馈。

8
如何为Cloudfront上的静态托管网站的子目录设置默认根对象?
如何在Cloudfront上的静态托管网站上为子目录设置默认根对象?具体来说,我希望www.example.com/subdir/index.html在用户要求时提供服务www.example.com/subdir。请注意,这是为了交付S3存储桶中的静态网站。此外,我想使用原始访问身份将对S3存储桶的访问限制为仅Cloudfront。 现在,我知道Cloudfront的工作方式与S3和Amazon状态特别不同: CloudFront默认根对象的行为与Amazon S3索引文档的行为不同。当您将Amazon S3存储桶配置为网站并指定索引文档时,即使用户请求存储桶中的子目录,Amazon S3也会返回索引文档。(索引文档的副本必须出现在每个子目录中。)有关将Amazon S3存储桶配置为网站以及有关索引文档的更多信息,请参阅Amazon Simple Storage Service开发人员指南中的在Amazon S3上托管网站。 因此,即使Cloudfront允许我们指定默认的根对象,这仅适用于www.example.com而不适用于www.example.com/subdir。为了解决这个难题,我们可以更改原始域名以指向S3给定的网站端点。这很好用,并且可以统一指定根对象。不幸的是,这似乎与原始访问身份不兼容。具体来说,以上链接指出: 更改为编辑模式: Web分发–单击“起源”选项卡,单击要编辑的起源,然后单击“编辑”。您只能为Origin类型为S3 Origin的Origin创建一个Origin访问标识。 基本上,为了设置正确的默认根对象,我们使用S3网站终结点而不是网站存储桶本身。这与使用原始访问身份不兼容。因此,我的问题归结为 是否可以为Cloudfront上的静态托管网站的所有子目录指定默认的根对象? 是否可以为从Cloudfront提供的内容(其来源是S3网站终结点而不是S3存储桶)设置来源访问身份?

9
Amazon S3上传文件并获取URL
是否可以通过单个操作将txt / pdf / png文件上传到Amazon S3,并获得上传的文件URL作为响应。如果是这样,AWS Java SDK是我需要在java struts2 Web应用程序中添加的正确库。 请为我建议一个解决方案。

2
如何在Rails API / iOS客户端中将数据存储在S3中并允许用户安全访问?
我刚开始编写Rails和API。我需要有关S3存储解决方案的帮助。这是我的问题。 我正在为iOS应用程序编写API,其中用户使用iOS上的Facebook API登录。服务器根据向iOS用户发出的Facebook令牌对用户进行验证,并发出临时Session令牌。从这一点上,用户需要下载存储在S3中的内容。此内容仅属于用户及其朋友的子集。该用户可以向S3添加更多内容,这些内容可以由同一群人访问。我想这类似于将文件附加到Facebook组... 用户可以通过2种方式与S3交互...将其留给服务器或让服务器发布临时S3令牌(不确定此处是否可行),并且用户可以直接访问S3的内容URL。我发现这个问题是关于方法的,但是它确实是过时的(两年前):关于从iPhone应用程序和S3上传照片的建筑和设计问题 所以问题: 当发出临时令牌时,是否有办法限制用户只能访问S3上的某些内容?我怎样才能做到这一点?假设有...说100,000个或更多的用户。 让iOS设备直接提取此内容是个好主意吗? 还是应该让服务器控制所有传递的内容(这当然解决了安全性)?这是否意味着我必须将所有内容下载到服务器,然后再将其分发给已连接的用户? 如果您知道rails ...我可以使用回形针和aws-sdk宝石来实现这种设置吗? 对于多个问题,我们深表歉意。对于任何对此问题的见解,我深表感谢。谢谢 :)

7
更快的s3存储桶复制
我一直在尝试寻找比s3cmd更好的命令行工具来复制存储桶。 s3cmd可以复制存储分区,而不必下载和上传每个文件。我通常使用s3cmd运行以复制存储桶的命令是: s3cmd cp -r --acl-public s3://bucket1 s3://bucket2 这可以工作,但是非常慢,因为它一次通过API复制了每个文件。如果s3cmd可以并行运行,我会很高兴。 人们是否有其他选项可以用作命令行工具或代码,人们用来复制存储桶的速度比 s3cmd吗? 编辑:看起来s3cmd-modification正是我在寻找。太糟糕了,它不起作用。还有其他选择吗?

5
如何使用AWS S3 CLI将文件转储到BASH中的stdout?
我正在启动一个bash脚本,它将在S3中采用路径(如ls命令所指定),并将所有文件对象的内容转储到stdout。本质上,我想复制cat /path/to/files/*S3以外的其他语言,例如s3cat '/bucket/path/to/files/*'。我首先看一下这些选项是将cp命令用于一个临时文件,然后执行cat该操作。 有没有人尝试过这种方法或类似方法,或者已经没有我找不到的命令?

5
如何使用django-storages和Amazon S3设置Django项目,但为静态文件和媒体文件设置不同的文件夹?
我正在配置一个Django项目,该项目使用服务器文件系统来存储应用程序的静态文件(STATIC_ROOT)和用户上传的文件(MEDIA_ROOT)。 我现在需要将所有内容托管在Amazon S3上,因此我为此创建了一个存储桶。使用django-storages与boto存储后端,我设法收集静态上传到S3斗: MEDIA_ROOT = '/media/' STATIC_ROOT = '/static/' DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage' AWS_ACCESS_KEY_ID = 'KEY_ID...' AWS_SECRET_ACCESS_KEY = 'ACCESS_KEY...' AWS_STORAGE_BUCKET_NAME = 'bucket-name' STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage' 然后,我遇到一个问题:存储桶中未使用MEDIA_ROOT和STATIC_ROOT,因此存储桶根目录同时包含静态文件和用户上载的路径。 因此,我可以设置: S3_URL = 'http://s3.amazonaws.com/%s' % AWS_STORAGE_BUCKET_NAME STATIC_URL = S3_URL + STATIC_ROOT MEDIA_URL = 'S3_URL + MEDIA_ROOT 并在模板中使用这些设置,但是使用将它们存储在S3中时,静态/媒体文件没有区别django-storages。 如何做到这一点? 谢谢!

4
有没有设置Amazon AWS账单限额的方法?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 5年前关闭。 改善这个问题 我正在Amazon S3上构建应用程序。如何使S3在设定的预算下运行?假设我不希望意外流量使我的AWS账户超额收费。我希望它仍然不可用。

9
如何在S3中公开10,000个文件
我在一个装有10,000个文件的存储桶中有一个文件夹。似乎没有办法将其上传并立即将其公开。所以我全部上传了,它们是私人的,我需要将它们全部公开。 我已经尝试过aws控制台,它只是给出了一个错误(适用于文件较少的文件夹)。 我已经尝试过在Firefox中使用S3整理功能。 是否可以运行某些软件或脚本来公开所有这些信息?


6
将数据附加到S3对象
假设我有一台想要写入存储在S3存储桶中的特定日志文件的机器。 因此,机器需要对该存储桶具有写入功能,但是,我不希望它具有覆盖或删除该存储桶中任何文件(包括我要写入的文件)的能力。 因此,基本上,我希望我的机器只能将数据追加到该日志文件,而不会覆盖或下载该文件。 有没有一种方法可以配置S3使其正常工作?也许我可以附加一些IAM策略,以使其按我的意愿工作?

7
AWS S3存储桶的备份策略
我正在寻找一些建议或最佳实践来备份S3存储桶。 从S3备份数据的目的是为了防止由于以下原因造成的数据丢失: S3问题 我不小心从S3删除此数据的问题 经过调查后,我看到以下选项: 使用版本控制http://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html 使用AWS开发工具包从一个S3存储桶复制到另一个存储桶 备份到Amazon Glacier http://aws.amazon.com/en/glacier/ 备份到生产服务器,该服务器本身也已备份 我应该选择什么选项?仅在S3上存储数据有多安全?想听听您的意见。 一些有用的链接: 数据保护文档 数据保护常见问题

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.