如何在GCS上共享对象而不需要为下载付费?

时间:2017-11-15 19:06:53

标签: google-cloud-storage

当对象上传到GCS存储桶并公开共享时,存储桶的所有者负责下载这些对象的用户的所有成本。如何更改它以便下载者而不是我?

1 个答案:

答案 0 :(得分:2)

此功能称为“请求者付款”。它的文档在这里:https://cloud.google.com/storage/docs/requester-pays

这个想法是你将一个桶标记为“请求者支付”桶。完成后,您的项目只负责将对象存储在存储桶中的价格(如果它是近线或冷线存储桶,则是任何早期删除费用)。任何想要从此存储桶下载对象(或上传新对象,复制对象等)的人都必须指定GCS应为该操作收取哪些项目费用。

对于您希望公开对象但又不想承担将其分发给许多最终用户的成本的情况,这是一个非常有用的配置。

要在存储桶上启用请求者付款,请打开云存储浏览器,找到您的存储桶,然后单击“请求者付款”列中的“关闭”按钮,然后按照提示进行操作。您也可以通过其他方式设置此标记,请参阅文档:https://cloud.google.com/storage/docs/using-requester-pays#enable

从请求者下载对象支付存储区需要启用计费的Google Cloud项目。完成后,您可以从云控制台或使用gsutil

下载对象
$> gsutil -u [PROJECT_ID] cp gs://[BUCKET_NAME]/[OBJECT_NAME] [OBJECT_DESTINATION]

此命令的技巧是-u [PROJECT_ID]位,它指定应为下载计费的项目。

您还可以使用我们的其他API或云控制台下载该对象。更多文档:https://cloud.google.com/storage/docs/using-requester-pays#using