2017-06-15 25 views
1

Firebaseのクラウド機能でカスタムストレージメタデータを取得することは可能ですか? は、例えばAndroidのコードで:Firebaseのクラウド機能でストレージメタデータを取得

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(); 

私は確かに、クラウド機能に

答えて

0

をカスタムメタデータの値を取得したい、あなたのストレージバケット内のファイルで作業するGoogle Cloud Storage Node SDKを使用することができます。目的のファイルを指すFileオブジェクトを取得するために使用します。次に、getMetadata()メソッドを呼び出してメタデータを取得します。

+0

は、あなたがそれを行う方法を任意の例を持っていますでしょうか? –

+0

便利なことはありませんが、APIドキュメントは非常に簡単なので、実験することができます。 –

0

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']; 

....... 
関連する問題