【问题标题】:What is the HeadBucket operation in Amazon S3Amazon S3 中的 HeadBucket 操作是什么
【发布时间】:2010-10-21 08:50:37
【问题描述】:

我一直在查看来自 Amazon S3 服务的使用报告,并注意到 GetObject 操作需要支付 DataTransfer-out-bytes 费用(好吧,我理解这一点),还有 HeadBucket 操作的 DataTransfer-out-bytes 费用。

什么是 HeadBucket,这个请求是什么时候发出的?

干杯

【问题讨论】:

    标签: amazon-web-services amazon-s3


    【解决方案1】:

    这是对存储桶的 HEAD 请求:

    HEAD /my-s3-bucket
    

    这基本上只会告诉您存储桶存在(200 OK)或不存在(404 Not Found)。

    例如:

    # curl -v -X HEAD http://s3.amazonaws.com/fooXXXX
    
    * About to connect() to s3.amazonaws.com port 80 (#0)
    *   Trying 72.21.211.144... connected
    * Connected to s3.amazonaws.com (72.21.211.144) port 80 (#0)
    > HEAD /fooXXXX HTTP/1.1
    > User-Agent: curl/7.18.2 (i486-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.10
    > Host: s3.amazonaws.com
    > Accept: */*
    > 
    < HTTP/1.1 404 Not Found
    < x-amz-request-id: A21BF750F080A267
    < x-amz-id-2: SPQ7yX6Ln0Zgp0YULT/64ag9077nNnN25jH8PMLGMm/SbXPZ+FF3qFuiOyBfiktP
    < Content-Type: application/xml
    < Transfer-Encoding: chunked
    < Date: Thu, 23 Apr 2009 13:39:50 GMT
    < Server: AmazonS3
    

    对比

    # curl -v -X HEAD http://s3.amazonaws.com/s3hub
    
    * About to connect() to s3.amazonaws.com port 80 (#0)
    *   Trying 72.21.207.135... connected
    * Connected to s3.amazonaws.com (72.21.207.135) port 80 (#0)
    > HEAD /s3hub HTTP/1.1
    > User-Agent: curl/7.18.2 (i486-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.10
    > Host: s3.amazonaws.com
    > Accept: */*
    > 
    < HTTP/1.1 200 OK
    < x-amz-id-2: E6OvrEMD35HpJjlBg0kB90H/uaQDX8qk0oXb+baOtDKIoMXmNwgIRSX2rDE5Urlb
    < x-amz-request-id: DAAAA11524A4A557
    < Date: Thu, 23 Apr 2009 13:43:01 GMT
    < Content-Type: application/xml
    < Transfer-Encoding: chunked
    < Server: AmazonS3
    < 
    

    【讨论】:

    • 好的,谢谢 - 那么如果只是检查存储桶是否存在,为什么会有与此相关的数据传输成本呢?我正在使用第 3 方 AMI,并假设这是发出请求。是否有可能在将文件写入存储桶之前也列出了存储桶?
    • 使用报告中显示了很多内容。所有操作均不收取相同的费用,有些是免费的。有些也有每个请求的成本。看看:aws.amazon.com/s3/#pricing
    • 实际上,我现在正在查看我的使用报告,我看到每个 HeadBucket 的“请求-Tier2”费用(正如预期的那样,即 0.01 美元/10,000 美元)。但我也看到了 DataTransfer-Out-Bytes,它比我预期的要高。 (例如,在一个 HeadBucket 的一小时内,我有 200kB?!)。我会向 AWS 支持提出请求,询问这个问题。请在此处发布更新。
    猜你喜欢
    • 1970-01-01
    • 2020-08-20
    • 2014-10-16
    • 1970-01-01
    • 1970-01-01
    • 2012-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多