Как изменить метаданные файла в Google Cloud Storage с помощью Node.js - PullRequest
0 голосов
/ 01 апреля 2019

Метаданные моего изображения (размещенные в облачном хранилище Google) имеют свойство с именем downloaded, если изображение было загружено, значение внутри ключа downloaded будет изменено с 0 на 1.

Код в https://cloud.google.com/storage/docs/viewing-editing-metadata#storage-view-object-metadata-nodejs показывает, как просматривать метаданные, но на самом деле не описывал, как изменить метаданные.

Возможно ли это сделать?

1 Ответ

1 голос
/ 01 апреля 2019

Да, это возможно.

Способ сделать это - использовать метод File.setMetadata().

Например, см. Этот пример для добавления метаданных.для объекта в GCS:

const file = storage
        .bucket(bucketName)
        .file(filename)

const metadata = {
        metadata: {
                example: 'test'
        }
}

file.setMetadata(metadata)

// Get the updated Metadata
const get_metadata =  file.getMetadata();

// Will print `File: test`
console.log(`File: ${metadata.metadata.example}`)

Чтобы обновить его, вы можете получить текущие метаданные с помощью метода getMetadata(), изменив его и обновив его с помощью метода getMetadata.

Например:

const storage = new Storage();

const file = storage
        .bucket(bucketName)
        .file(filename)

// Get the file's metadata 
const [metadata] = await file.getMetadata()

console.log(`File: ${metadata.name}`)

// update metadata    
file.setMetadata(metadata.metadata.example='updated')


// Get the updated metadata
const [get_metadata] = await file.getMetadata()
console.log(`File: ${get_metadata.metadata.example}`)
...