Firebase Google云函数onFinalize()上下文
在将对象上载到bucket时,如何将一些元数据与对象一起传递 我使用一个单独的bucket来处理图像,因为我不能只在我工作的bucket中的特定文件夹中触发云函数,因此我需要从该服务bucket中获取编辑后的图像,然后将其适当地放置。听起来很琐碎,但事实并非如此 话虽如此,我试图通过Firebase Google云函数onFinalize()上下文,firebase,google-cloud-functions,firebase-storage,Firebase,Google Cloud Functions,Firebase Storage,在将对象上载到bucket时,如何将一些元数据与对象一起传递 我使用一个单独的bucket来处理图像,因为我不能只在我工作的bucket中的特定文件夹中触发云函数,因此我需要从该服务bucket中获取编辑后的图像,然后将其适当地放置。听起来很琐碎,但事实并非如此 话虽如此,我试图通过.object().onFinalize((object,context)=>{})获取上下文: { eventId: '226356658372982', timestamp: '2018-10-11T09:1
.object().onFinalize((object,context)=>{}
)获取上下文:
{ eventId: '226356658372982',
timestamp: '2018-10-11T09:17:07.052Z',
eventType: 'google.storage.object.finalize',
resource:
{ service: 'storage.googleapis.com',
name: 'projects/_/buckets/bucket/objects/image.jpg',
type: 'storage#object' },
params: {} }
不过,这并没有多大帮助。我可以考虑在工作bucket中使用
object.name
条件作为最后手段,但应该有一种更文明的方式来处理这种情况。如果您希望存储触发器只处理添加到bucket中的某些文件,则必须在函数中编写代码,以确定它是否是您要保存的文件这通常是通过查看对象的名称来完成的,正如您所指出的
如果您不想这样做,可以在上载时将元数据附加到文件中。由于您没有说明上载文件所使用的语言或环境,我将为您指向node.js文档。请注意,可选的options
参数有一个metadata
属性。其他平台都有上传期间指定元数据的类似方法
底线是,您需要在函数中确定是否要处理已完成的文件。如果您希望存储触发器仅处理添加到存储桶中的某些文件,则必须在函数中编写代码,以确定是否要处理该文件。这通常通过查看正如您所指出的,在对象的名称处 如果您不想这样做,可以在上载时将元数据附加到文件中。由于您没有说明上载文件所使用的语言或环境,我将为您指向node.js文档。请注意,可选的
options
参数有一个metadata
属性。其他平台都有上传期间指定元数据的类似方法
底线是,您需要在函数中确定是否要处理已完成的文件。maging!已经实施了
metadata
方法,甚至通过getDownloadURL()获得了持久的url
!巨大!已经实现了元数据方法,甚至通过getDownloadURL()
获得了持久的url!