Я пытаюсь развернуть облачную функцию Google из локальной системы с помощью инструмента командной строки gcloud
.
Мои файлы сжаты в ZIP-файл. Как описано в прикрепленном скриншоте , ZIP-файл содержит main.py и require.txt
main.py (взято из Интернета для тестирования)
from wand.image import Image
from google.cloud import storage
client = storage.Client.from_service_account_json(
'C:\\Users\\an20086686\\AppData\\Local\\Google\\Cloud SDK\\deploy\\****-*****-poc-e4b410a65986.JSON')
THUMBNAIL_BUCKET = 'a_demo_storage_trigger1'
def make_thumbnail(data, context):
bucket = client.get_bucket(data['****_my-awesome-bucket'])
blob = bucket.get_blob(data['name'])
imagedata = blob.download_as_string()
newimage = Image(blob=imagedata)
newimage.sample(200,200)
bucket = client.get_bucket(THUMBNAIL_BUCKET)
newblob = bucket.blob('thumbnail-' + data['name'])
newblob.upload_from_string(newimage.make_blob())
needs.txt
google-cloud-storage
Wand
Использование команды ниже для развертывания этой функции:
gcloud beta functions deploy make_thumbnail --runtime python37 \
--trigger-bucket ****_my-awesome-bucket \
--trigger-event google.storage.object.finalize
Ошибка 1: (gcloud.beta.functions.deploy) нераспознанные аргументы: google.storage.object.finalize
Когда я использую:
gcloud beta functions deploy make_thumbnail --runtime python37 \
--trigger-bucket ****_my-awesome-bucket \
--trigger-event google.storage.object.finalize
ОШИБКА: (gcloud.beta.functions.deploy) OperationError: code = 3, message = Функция не выполнена при загрузке кода пользователя.
Сообщение об ошибке: файл main.py, который должен определить функцию, не существует
Журнал обнаруженной ошибки:
Снимок экрана