如何设置在特定时间创建的元数据?
How to set metadata that created at certain time?
我想在创建日期为今晚 12 点时设置所有对象的元数据。现在,我可以使用以下命令为存储桶中已有的所有对象设置元数据:
gsutil -m setmeta -h "Content-Type:application/pdf" -h "Content-disposition: inline" gs://mystorage/pdf/*.pdf
我的计划是 运行 gsutil command
在午夜自动设置所有新对象,因为我已经发出命令 将所有文件从我的服务器上传到 google 存储每个午夜。但唯一的问题是我不知道 文件是新的。
我知道我们可以使用 google cloud trigger,但我只想尽可能使用 gsutil command
我认为 gsutil 或 GCS API 没有提供基于时间戳为对象设置元数据的功能。
根据link At upload time you can specify one or more metadata properties to associate with objects
.
如您所述I already make a command which uploads all files from my server to google storage every midnight
您可以在上传对象时设置元数据。在您的情况下,命令可能如下所示。
gsutil -m setmeta -h "Content-Type:application/pdf" -h "Content-disposition: inline" cp -r images gs://bucket/images
否则
您可以列出基于 的对象并将输出存储到文件中。通过遍历 outfile 文件中的每一行,对对象使用 setmetadata 命令。
或者,您可以使用 Pub/Sub notifications for Cloud Storage,并订阅新对象事件 OBJECT_FINALIZE
。
一些示例代码可以参考here
我想在创建日期为今晚 12 点时设置所有对象的元数据。现在,我可以使用以下命令为存储桶中已有的所有对象设置元数据:
gsutil -m setmeta -h "Content-Type:application/pdf" -h "Content-disposition: inline" gs://mystorage/pdf/*.pdf
我的计划是 运行 gsutil command
在午夜自动设置所有新对象,因为我已经发出命令 将所有文件从我的服务器上传到 google 存储每个午夜。但唯一的问题是我不知道 文件是新的。
我知道我们可以使用 google cloud trigger,但我只想尽可能使用 gsutil command
我认为 gsutil 或 GCS API 没有提供基于时间戳为对象设置元数据的功能。
根据link At upload time you can specify one or more metadata properties to associate with objects
.
如您所述I already make a command which uploads all files from my server to google storage every midnight
您可以在上传对象时设置元数据。在您的情况下,命令可能如下所示。
gsutil -m setmeta -h "Content-Type:application/pdf" -h "Content-disposition: inline" cp -r images gs://bucket/images
否则
您可以列出基于
或者,您可以使用 Pub/Sub notifications for Cloud Storage,并订阅新对象事件 OBJECT_FINALIZE
。
一些示例代码可以参考here