Google cloud platform 更新到对象时触发云函数

Google cloud platform 更新到对象时触发云函数,google-cloud-platform,google-cloud-storage,google-cloud-functions,Google Cloud Platform,Google Cloud Storage,Google Cloud Functions,我有一个测试云函数(CF),可以在更新云存储中的对象时触发 exports.test_cf = (event, callback) => { console.log("Test CF executed successfully"); callback(); } 使用以下方法部署上述功能: gcloud functions deploy --runtime nodejs6 --trigger-resource [BUCKET-NAME] --trigger-event go

我有一个测试云函数(CF),可以在更新云存储中的对象时触发

exports.test_cf = (event, callback) => {
    console.log("Test CF executed successfully");
    callback();
}
使用以下方法部署上述功能:

gcloud functions deploy --runtime nodejs6 --trigger-resource [BUCKET-NAME] --trigger-event google.storage.object.archive --timeout=540s --verbosity=info
在bucket上设置版本控制后,我使用
gsutil
将文件复制到bucket,如下所示:

gsutil cp <file> gs://[BUCKET-NAME]/
gsutil cp gs://[BUCKET-NAME]/
上面的命令触发了CF。为什么?根据GCP文档,
google.storage.archive
仅在更新时触发CF

另一个问题:如何使用
gsutil
更新bucket中的对象?我看到了
gsutil rewrite
,但它与update不同

上面的命令触发了CF。为什么

您启用了bucket版本控制,然后使用
gsutil
命令复制bucket中的文件。这使文件的实时副本在bucket中可用,并创建了文件的存档版本,有关更多信息,您可以访问文档。您可以通过运行
gsutil ls-a gs://[BUCKET\u NAME]
命令来验证,有关更多信息,您可以访问文档。因此,使用您使用的
-触发事件google.storage.object.archive
,它将触发文档中指定的云功能,
“当存档或删除对象的实时版本时发送此事件。”

另一个问题:如何使用gsutil更新bucket中的对象

如果要更新对象的元数据,可以访问文档链接以获取更多信息。但是,如果您想自行更新对象,只需从
googlecloudconsole
或使用文档中指定的
gsutil cp…
命令上载对象的新版本即可。这将使用新版本参考号归档旧对象,并使对象的新版本在存储桶中存活

上面的命令触发了CF。为什么

您启用了bucket版本控制,然后使用
gsutil
命令复制bucket中的文件。这使文件的实时副本在bucket中可用,并创建了文件的存档版本,有关更多信息,您可以访问文档。您可以通过运行
gsutil ls-a gs://[BUCKET\u NAME]
命令来验证,有关更多信息,您可以访问文档。因此,使用您使用的
-触发事件google.storage.object.archive
,它将触发文档中指定的云功能,
“当存档或删除对象的实时版本时发送此事件。”

另一个问题:如何使用gsutil更新bucket中的对象


如果要更新对象的元数据,可以访问文档链接以获取更多信息。但是,如果您想自行更新对象,只需从
googlecloudconsole
或使用文档中指定的
gsutil cp…
命令上载对象的新版本即可。这将用新版本的参考号存档旧对象,并使新版本的对象存在于存储桶中。

请限制您在每篇文章中提出一个问题,否则它可能会被关闭为“太宽”。请限制您在每篇文章中提出一个问题,否则它可能会被关闭为“太宽”。