GCS:手动触发 "object created" 事件

GCS: Manually trigger "object created" event

我有一个由 GCS 存储桶中的新对象创建触发的 Cloud Function。

有时会出错,GCF 会失败。我知道我可以启用自动重试。不过,如果能够在 development/debugging 期间为现有对象触发“对象创建”事件,那就太好了。我该怎么做?

关于如何模拟文件上传事件触发器的示例:

使用打印事件结果的函数,这样您就可以获得事件数据如何的模板:

def hello_gcs(event, context):
    """Triggered by a change to a Cloud Storage bucket.
    Args:
         event (dict): Event payload.
         context (google.cloud.functions.Context): Metadata for the event.
    """
    print(event)

在日志中获取 json 结果:

在需要测试时使用测试选项卡重新发送相同的 json 对象(记录结果可能需要一些时间)

您必须在使用前格式化 json,因为您必须使用 " 而不是 '。使用 this site


Json 示例:

{
   "bucket":"<bucket name>",
   "contentType":"image/png",
   "crc32c":"a1/tEw==",
   "etag":"9999999999999999/UCEAE=",
   "generation":"9999999999999999",
   "id":"<bucket name>/<file name>",
   "kind":"storage#object",
   "md5Hash":"9999999999999999==",
   "mediaLink":"https://www.googleapis.com/download/storage/v1/b/<bucket name>/o/<file name>?generation=9999999999999999&alt=media",
   "metageneration":"1",
   "name":"Screenshot 2022-02-10 6.09.37 PM.png",
   "selfLink":"https://www.googleapis.com/storage/v1/b/<bucket name>/o/<file name>",
   "size":"452941",
   "storageClass":"STANDARD",
   "timeCreated":"2022-02-11T10:22:01.919Z",
   "timeStorageClassUpdated":"2022-02-11T10:22:01.919Z",
   "updated":"2022-02-11T10:22:01.919Z"
}