Это ожидаемое поведение. Когда ваша функция запускается событием Cloud Storage, вы получаете только словарь, содержащий data
для события, а не сам объект.
Вы должны получить объект из Cloud Storage используя name
и bucket
из словаря data
. Вот код, который поможет вам получить файл, взятый из здесь :
import gzip
from google.cloud import storage
def process(data, context):
storage_client = storage.Client()
bucket = storage_client.bucket(data['bucket'])
blob = bucket.blob(data['name'])
blob.download_to_filename("/tmp/" + data['name'])
#Here goes your code to unzip the file
Учтите, что вам может потребоваться добавить необходимые библиотеки в файл requirements.txt
и предоставить необходимые разрешения для учетной записи службы выполнения функции для доступа к облачному хранилищу.