Как получить / добавить пользовательские метаданные файла GCS с помощью библиотеки Apache Beam [org.apache.beam.sdk.io. *] - PullRequest
0 голосов
/ 25 июня 2019

Я настраиваю конвейер потока данных, в котором одним из действий является получение / добавление метаданных [предоставленных пользователем метаданных] файла GCS.

В автономном java-приложении я использовал приведенный ниже метод для получения метаданных из класса StorageObject, но не нашел подобного метода / api в библиотеке Apache Beam. Любые указатели будут действительно полезны.

//Below code is from StorageObject.java
com.google.api.services.storage.model.StorageObject
//.....
public java.util.Map<String, java.lang.String> getMetadata() {
     return metadata;
}

1 Ответ

0 голосов
/ 02 июля 2019

Я использовал следующий код для получения метаданных из GCS, и он хорошо работает в конвейере DataFlow.

import com.google.cloud.storage.{BlobId, BlobInfo, Storage, StorageOptions}

val storage: Storage = StorageOptions.getDefaultInstance.getService
val blobId: BlobId = BlobId.of("bucket", "filename")
val srcMap: Map[String, String] = storage.get(blobId).getMetadata
...