Я пытаюсь локально отлаживать функцию Azure с помощью триггера BLOB-объектов. При загрузке файла изображения в Azure триггер получает моя функция, работающая локально.
def main(blobin: func.InputStream, blobout: func.Out[bytes], context: func.Context):
logging.info(f"Python blob trigger function processed blob \n"
f"Name: {blobin.name}\n"
f"Blob Size: {blobin.length} bytes")
image_file = Image.open(blobin)
Моя функция.json
{
"scriptFile": "__init__.py",
"bindings": [
{
"name": "blobin",
"type": "blobTrigger",
"direction": "in",
"path": "uploads/{name}",
"connection": "STORAGE"
},
{
"name": "blobout",
"type": "blob",
"direction": "out",
"path": "uploads/{blob_name}_resized.jpg",
"connection": "STORAGE"
}
]
}
Ошибка, которую я получаю, когда выполняется строка Image.open(blobin)
:
System.Private.CoreLib: Исключение при выполнении функции: Functions.ResizePhoto. System.Private.CoreLib: Результат: Сбой Исключение: UnidentifiedImageError: не удается идентифицировать файл изображения ‹_io.BytesIO объект по адресу 0x0000017FD4FD7F40›
Интересно то, что само изображение открывается в окне просмотра VSCode, но происходит сбой при запуске кода. Он также выдает ту же ошибку, что и выше, если я снова добавлю его в часы (вероятно, вызовет обновление часов).