Как записать пользовательское время в объект GCS метаданных blob-объекта?

# #python #google-cloud-platform

Вопрос:

Я пытаюсь записать поле «Пользовательское время» в метаданные большого двоичного объекта объекта GCS. Мой код, который не работает, просто ничего не делает

 import datetime
from google.cloud import storage

bucket_name = 'bucket_name'
folder_name = ''

bucket = storage.Client().get_bucket(bucket_name)
blobs = bucket.list_blobs(prefix=folder_name)

for blob in blobs:
    blob.custom_time = datetime.datetime.now(datetime.timezone.utc)
 

Спасибо

Ответ №1:

Насколько я понимаю, custom_time это только для чтения. Видишь https://googleapis.dev/python/storage/latest/blobs.html#google.cloud.storage.blob.Blob.custom_time

Возможно, вы предпочтете работать с metadata недвижимостью — https://googleapis.dev/python/storage/latest/blobs.html#google.cloud.storage.blob.Blob.metadata — который может быть установлен (например, в качестве словаря) в дополнение к извлечению.

Дополнительное описание находится здесь: https://cloud.google.com/storage/docs/metadata#custom-metadata , и пример здесь: https://cloud.google.com/storage/docs/viewing-editing-metadata#storage-set-object-metadata-python

Комментарии:

1. Спасибо. Основная цель состояла в том, чтобы установить автоматическое удаление объекта, основываясь на пользовательском времени. Не метаданные. Поле может быть изменено с помощью пользовательского интерфейса, но не api. Почему?..