Google云端存储存储桶是否使用Amazon S3?

问题描述 投票:1回答:2

当我访问我的域时,我确实使用index.html和test.html以及我看到的内容设置了Google Cloud Storage Bucket:

请参阅:doc.s3.amazonaws.com/2006-03-01 in:

    <?xml version='1.0' encoding='UTF-8'?>
    <ListBucketResult xmlns='http://doc.s3.amazonaws.com/2006-03-01'> 
    <Name>my-domain.com</Name>
    <Prefix></Prefix>
    <Marker></Marker>
    <IsTruncated>false</IsTruncated>
    <Contents><Key>index.html</Key>
    <Generation>1555969892676799</Generation>
    <MetaGeneration>1</MetaGeneration>
    <LastModified>2019-04-22T21:51...</LastModified>
<ETag>"...."</ETag>
<Size>25</Size></Contents><Contents>
<Key>test.html</Key>

等等..

我没有亚马逊帐户。

amazon-s3 google-cloud-platform google-cloud-storage bucket
2个回答
6
投票

尽管该命名空间中存在该字符串,但对该请求的响应并非来自AWS。

Google云端存储(GCS)有两个API。一个是基于JSON的,看起来像大多数Google的API(称为JSON API),另一个是基于XML的,旨在与一些与S3一起使用的云存储工具和库互操作。我们的想法是,如果您已经使用过这样的工具,例如Python boto库,则可以通过更改URL和凭据来完成使用GCS。解析XML响应的客户端可能会验证XML命名空间,因此他们希望看到字符串“http://doc.s3.amazonaws.com/2006-03-01”作为协议的一部分。

您正在向XML API发送请求(通过storage.googleapis.com,BUCKET_NAME.storage.googleapis.com或通过CNAME DNS重定向到云存储),因此生成的消息会尝试提供可互操作的响应。


2
投票

如果我们查看找到here的XML API的文档,我们会看到这里的所有内容都符合预期。我们看到的是一个XML文档,它有一个名为http://doc.s3.amazonaws.com/2006-03-01的XML命名空间。可以将此视为使用指定数据类型的声明。似乎这个数据类型(ListBucketResult)是由AWS(亚马逊)指定的,GCP决定在其自己的实现中重用该规范,而不是仅仅实现一个全新的规范,该规范可能在语义上与已经存在的规范相同。 。接口的重复使用对所有人来说通常都是好事。如果您需要,它可能意味着更轻松的可移植性和更少的供应商锁定能够选择不同的云提供商。

我猜测AWS是第一个提供云blob存储并且已经开创先例的人。看到描述开放标准的XML命名空间是很常见的。我还要猜测云存储提供商应该提供什么样的当前开放标准规范。所以亚马逊有S3,谷歌有谷歌云存储,Azure有Azure Blob存储。

© www.soinside.com 2019 - 2024. All rights reserved.