在Cloud Functions for Firebase中获取存储元数据

问题描述 投票:2回答:3

是否可以在Cloud Functions for Firebase中获取自定义存储元数据?例如在android代码中:

 StorageMetadata metadata = new StorageMetadata.Builder().setContentType("image/jpg")
                        .setCustomMetadata("latitude",String.valueOf(image.latitude))
                        .setCustomMetadata("longitude",String.valueOf(image.longitude))
                        .setCustomMetadata("deviceID",image.deviceID)
                        .setCustomMetadata("userID",image.userID)
                        .setCustomMetadata("deviceFilePath",image.filename)
                        .setCustomMetadata("timestamp",String.valueOf(image.timestamp))
                        .setCustomMetadata("caption",image.caption)
                        .setCustomMetadata("location",image.location)
                        .setCustomMetadata("imageID",key)
                        .build();

我想在云功能中检索自定义元数据值

node.js firebase google-cloud-functions
3个回答
1
投票

您可以使用event.data.metadata在云功能中获取自定义元数据,如下所示。

如果你想看到完整的例子,这里是链接http://www.zoftino.com/android-firebase-cloud-functions-cloud-storage-trigger-example

exports.metadata = functions.storage.object().onChange(event => {

  //metada
  const fileInfo = event.data;

 //custom metadata
  const customMetadata = fileInfo.metadata;

   //get each custom metadata value using its key like.. 
  const customMetadataDeviceID = customMetadata['deviceID'];

.......

0
投票

当然,您可以使用Google Cloud Storage Node SDK处理存储桶中的文件。使用它来获取指向感兴趣文件的File对象。然后调用它的getMetadata()方法来获取元数据。


0
投票

用这个。

}).then(() => {
    return file.getMetadata();
}).then((meta) => {
    console.log(meta[0]);
    value1 = meta[0]["metadata"]["key1"];
    value2 = meta[0]["metadata"]["key2"];
© www.soinside.com 2019 - 2024. All rights reserved.