Questions tagged «amazon-s3»

这是有关亚马逊云存储服务的问题。

27
如何获得Amazon S3存储桶的大小?
我想绘制一个Amazon S3存储桶的大小(以字节为单位),并在寻找一种有效的方法来获取数据。 该s3cmd工具提供一种方式来获得使用总文件大小s3cmd du s3://bucket_name,但我担心它的规模,因为它看起来像它获取每个文件的数据,并计算其自身和能力。由于Amazon按GB个月向用户收费,因此他们不直接公开此值似乎很奇怪。 尽管Amazon的REST API返回了存储桶中的项目数,但s3cmd似乎没有公开它。我可以做,s3cmd ls -r s3://bucket_name | wc -l但这似乎是一个hack。 Ruby AWS :: S3库看起来很有希望,但仅提供了存储桶项的数量,而不提供存储桶的总大小。 是否有人知道任何其他命令行工具或库(更喜欢Perl,PHP,Python或Ruby)提供了获取此数据的方法?

5
带有S3的Amazon Cloudfront。拒绝访问
我们正在尝试通过Cloudfront分发S3存储桶,但是由于某些原因,唯一的响应就是一个AccessDenied XML文档,如下所示: <Error> <Code>AccessDenied</Code> <Message>Access Denied</Message> <RequestId>89F25EB47DDA64D5</RequestId> <HostId>Z2xAduhEswbdBqTB/cgCggm/jVG24dPZjy1GScs9ak0w95rF4I0SnDnJrUKHHQC</HostId> </Error> 这是我们正在使用的设置: 这是水桶的政策 { "Version": "2008-10-17", "Id": "PolicyForCloudFrontPrivateContent", "Statement": [ { "Sid": "1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity *********" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::x***-logos/*" } ] }


8
使用aws cli从Amazon S3下载时,导致访问被拒绝的原因是什么?
我确实在AWS中四处乱逛,试图找出我在这里缺少的内容。我想这样做,以便IAM用户可以从S3存储桶下载文件-而不只是将文件完全公开-但我被拒绝访问。如果有人能发现发生了什么事,我会被感动。 到目前为止,我所做的是: 创建了一个名为my-user的用户(例如) 为用户生成访问密钥,并将其放在EC2实例上的〜/ .aws中 创建了一个存储桶策略,希望该策略可以为我的用户授予访问权限 跑命令 aws s3 cp --profile my-user s3://my-bucket/thing.zip . 铲斗政策: { "Id": "Policy1384791162970", "Statement": [ { "Sid": "Stmt1384791151633", "Action": [ "s3:GetObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::my-bucket/*", "Principal": { "AWS": "arn:aws:iam::111122223333:user/my-user" } } ] } 结果是,A client error (AccessDenied) occurred: Access Denied尽管我可以使用相同的命令和默认(根帐户?)访问密钥进行下载。 我也尝试添加用户策略。虽然我不知道为什么有必要这样做,但我认为这不会造成伤害,因此我将其附加到了用户身上。 { "Statement": [ …




7
如何有效地使用S3增量备份文件?
我了解rsync在更高层次上的工作原理,但是有两个方面。使用S3,没有守护程序可言-确实存在,但基本上只是HTTP。 看起来有一些方法。 s3rsync(但这只是将rsync连接到s3)。直截了当。不确定我是否要依赖第三方。我希望s3仅支持rsync。 还有一些类似rsync的“克隆”(如双重性)声称在不使用螺栓的情况下支持s3。但是如何做到这一点?他们在本地保存索引文件吗?我不确定这会如何有效。 我显然想使用s3,因为它便宜且可靠,但是rsync是其中的工具,例如备份庞大的图像目录。 这里有什么选择?使用重复性+ s3而不是rsync + s3rsync + s3,我会失去什么?

7
将RSYNC与Amazon S3结合使用
我对使用Amazon S3备份〜100gb服务器映像(通过Acronis备份工具创建)感兴趣。 显然,就带宽和成本而言,每晚上传到S3的成本很高。我正在考虑将rsync与S3结合使用,并遇到s3rsync。 我只是想知道是否有人使用过此工具或任何其他实用程序?
39 rsync  amazon-s3 

7
将目录结构完整复制到AWS S3存储桶
我想使用AWS S3 cli将完整目录结构复制到S3存储桶。 到目前为止,我尝试过的所有操作都将文件复制到存储桶中,但是目录结构已折叠。(换句话说,每个文件都复制到存储桶的根目录中) 我使用的命令是: aws s3 cp --recursive ./logdata/ s3://bucketname/ 我还尝试过在源名称(例如,自变量的副本)后面加上斜杠。我还使用通配符来指定所有文件……我尝试做的每件事都只是将日志文件复制到存储桶的根目录中。

2
仅使用少于1 GB的AWS S3收费4 TB的存储
我在理解我的大型S3账单时遇到了麻烦,并且想过要问一下,然后再花30美元获得AWS每月支持。 基本上,我有一个Amazon EC2实例,该实例使API可以进行不同的加密货币交换,并将响应保存到实例HD。大约每5分钟进行一次呼叫,响应对象大约100 kb,由R脚本读取,并每隔约8分钟添加到CSV文件中。该CSV文件大约每15分钟被同步到Amazon S3存储桶。 CSV文件通常为10 MB左右,每15分钟大约15种加密货币。因此,在Amazon S3存储桶中,最多可能使用0.5 GB的空间。 但是,“ TimedStorage-ByteHours”的读取量约为4 TB! 亚马逊简单存储服务TimedStorage-ByteHrs $ 89.55 每GB $ 0.000-每月全球免费套餐下的存储5 GB-Mo $ 0.00 每GB $ 0.023-前50 TB /月使用的存储空间3,893.399 GB-Mo $ 89.55 有任何想法吗?

3
如何重用CloudFormation中的现有资源?
我的CloudFormation模板中有S3存储桶作为资源。随着DeletionPolicy集来Retain。这按预期工作,删除堆栈时,确实确实保留了存储桶。但是,当我尝试再次创建堆栈时,尝试再次创建相同存储桶时,创建失败,并出现错误消息,提示该存储桶已存在。 我需要添加什么到CloudFormation模板以使其不尝试重新创建已经存在的资源? 我的模板的相关片段如下: "Resources": { "SomeS3Bucket" : { "Type" : "AWS::S3::Bucket", "DeletionPolicy" : "Retain", "Properties": { "BucketName": "SomeS3Bucket" } }

2
Chrome S3 Cloudfront:初始XHR请求中没有“ Access-Control-Allow-Origin”标头
我有一个网页(https://smartystreets.com/contact),该网页使用jQuery通过CloudFront CDN从S3加载一些SVG文件。 在Chrome浏览器中,我将打开隐身窗口和控制台。然后,我将加载页面。当页面加载时,我通常会在控制台中收到6到8条类似于以下内容的消息: XMLHttpRequest cannot load https://d79i1fxsrar4t.cloudfront.net/assets/img/feature-icons/documentation.08e71af6.svg. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://smartystreets.com' is therefore not allowed access. 如果我对页面进行标准重新加载,即使是多次加载,也会继续遇到相同的错误。如果执行Command+Shift+R此操作,则将加载大多数(有时是全部)图像而不会出现XMLHttpRequest错误。 有时即使在图像加载后,我也会刷新,并且其中一幅或多幅图像将无法加载,并XMLHttpRequest再次返回该错误。 我已经检查,更改并重新检查了S3和Cloudfront上的设置。在S3中,我的CORS配置如下所示: <?xml version="1.0" encoding="UTF-8"?> <CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedOrigin>http://*</AllowedOrigin> <AllowedOrigin>https://*</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> <MaxAgeSeconds>3000</MaxAgeSeconds> <AllowedHeader>Authorization</AllowedHeader> </CORSRule> </CORSConfiguration> (注意:最初只有<AllowedOrigin>*</AllowedOrigin>,有同样的问题。) 在CloudFront中,分发行为设置为允许HTTP方法:GET, HEAD, OPTIONS。缓存的方法是相同的。转发标题设置为“白名单”,该白名单包括“访问控制请求头,访问控制请求方法,来源”。 它在无缓存浏览器重新加载后可以工作的事实似乎表明,S3 / CloudFront方面一切正常,否则为什么要交付内容。但是,为什么不能在初始页面浏览中传递内容? 我正在macOS上使用Google Chrome浏览器。Firefox每次都获取文件没有问题。Opera从不获取文件。Safari会在几次刷新后拾取图像。 使用curl我没有任何问题: …

1
没有来自带有S3 Origin的AWS CloudFront的文件的缓存控制标头
我们刚刚迁移到Amazon AWS。当前,我们有一个运行良好的EC2实例。它在前端运行Nginx,在后端运行Apache。运行也很好。所有站点均已正确启动,并包含从EC2提供的文件的Cache-Control标头。 问题在于,我们放置在Amazon S3中的所有静态文件都可以通过CloudFront CDN访问。我们可以很好地访问文件(CORS没问题),但是显然CloudFront不提供带有Cache-Control标头的文件。我们想利用浏览器缓存。 我认为,EC2实例在这里没有作用,因为静态文件是由S3 + CloudFront直接提供的,请求不会发送到EC2中的Web服务器。 我完全迷路了。 问题:1)在这种情况下,如何设置缓存控件?2)是否可以设置缓存控件?是从S3还是CloudFront? 注意:我在Google中打了几页,您可以在S3中为单个对象设置页眉。实际上,这并不是特别有效的方法,因为在我的案例中,我们正在谈论多个对象。 谢谢!

1
在现有的S3存储桶中使用CloudFormation
我想使用CloudFormation 在现有存储桶上的AWS :: S3 :: Bucket中设置一些属性。换句话说,我不想创建存储桶,我只想强制执行某些设置。这是我的cloudformation JSON的示例: "websitePreviewBucket": { "Type": "AWS::S3::Bucket", "Properties": { "AccessControl": "PublicRead", "VersioningConfiguration": { "Status": "Suspended" }, "BucketName": "preview.website.com", "WebsiteConfiguration": { "IndexDocument": "index.html", "ErrorDocument": "error.html" } } }, 毫不奇怪,这在cloudformation控制台中失败了: The following resource(s) failed to create: [websitePreviewBucket]. preview.website.com already exists 我创建了存储区Preview.website.com。我的意思是,此帐户“拥有”该存储桶。如何设置之类的东西AccessControl,并WebsiteConfiguration与CloudFormation现有的桶? 我看过另一个问题,询问类似的问题,但没有合适的答案。

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.