【问题标题】:What is the difference between Location and EffectiveURI?Location 和 EffectiveURI 有什么区别?
【发布时间】:2016-02-08 06:21:45
【问题描述】:

我刚刚在 AWS 上创建了一个名为 ghazals-ghulam-ali 的存储桶,作为回报,我得到了 2 个 URL:

Location : http://ghazals-ghulam-ali.s3.amazonaws.com/
EffectiveURI : https://s3-us-west-2.amazonaws.com/ghazals-ghulam-ali

LocationEffectiveURI 有什么区别?两者对我有什么用处?

我使用AWS PHP SDK 创建了如下桶:

public function create_bucket($user_id) {
    try {
        $this->s3Client = new S3Client($this->options);
        $isBucketCreated = $this->s3Client->createBucket(array(
                'Bucket' => _global::bucketNamePrecursor.$user_id
        ));
    }catch(Exception $exc){
        $isBucketCreated = false;
    }

    return $isBucketCreated;
}

echo $isBucketCreated 的值:(bucketName : ghazals-noor-jahan)

{ "Location": "http:\/\/ghazals-noor-jahan.s3.amazonaws.com\/", "@metadata":
{ "statusCode": 200, "effectiveUri": "https:\/\/s3-us-west-
2.amazonaws.com\/ghazals-noor-jahan", "headers": { "x-amz-id-2":   
"BSf4Q230WqUe4ZRXviiSSdFH76SW7VMW1qNAFv2PUhyZ1qkrcMabTIh
lRLVVMHiHK9Yv4n7ZFVA=", "x-amz-request-id": "CEDA84E8E932AB7B", "date": "Mon, 
08 Feb 2016 13:16:34 GMT", "location": "http:\/\/ghazals-noor-
jahan.s3.amazonaws.com\/", "content-length": "0", "server": "AmazonS3" } } }

【问题讨论】:

  • 只看这些值,它们都可能有用,但我暂时不愿进一步解释,因为我的答案部分是推测性的,因为我不清楚这两条信息的来源从。这个问题很有趣,因为我不熟悉 EffectiveURI 是 S3 API 中的一个概念。您使用什么来创建存储桶——AWS php SDK? (版本?)或其他图书馆?您会编辑问题以显示您用于创建存储桶的代码及其生成的输出吗?
  • @Michael-sqlbot 编辑了问题。
  • 太好了,谢谢。现在,您从 $isBucketCreated? 转储的输出数据结构?
  • @Michael-sqlbot 添加了原始 json

标签: php amazon-web-services amazon-s3 uri


【解决方案1】:

位置是对您创建的存储桶的全局引用,以及在与相关存储桶的某些 API 连接以及从浏览器连接到存储桶时使用的内容。 EffectiveURI 元是传递给 PHP SDK 的内部元,并指示 S3 存储桶所在的可用区,但是由于 S3 是一项全球服务,并且 S3 存储桶名称必须是全球唯一的,因此位置就是您的位置使用它引用有效的 URI 并消除开发人员也需要将可用区添加到存储桶 URI。

就您的目的而言,您在进一步编程中会关心的唯一价值以及对您而言唯一的使用价值将是位置价值。

【讨论】:

    猜你喜欢
    • 2018-07-01
    • 2020-08-10
    • 1970-01-01
    • 2021-03-21
    • 2015-08-17
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    • 2011-12-12
    相关资源
    最近更新 更多