Функция Azure для создания файла из JSON contentByte — создание электронной почты API Microsoft GraphPython

Программы на Python
Гость
Функция Azure для создания файла из JSON contentByte — создание электронной почты API Microsoft Graph

Сообщение Гость »


У меня возникла проблема с написанием функции Azure, которая принимает входные данные большого двоичного объекта (JSON) и создает файл, используя столбец contentbyte из файла JSON.
Шаблон JSON:

Код: Выделить всё

{
"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#users('XXX.com')/messages('AQMkADAA3D%3D')/attachments",
"value":[
{
"@odata.type":"#microsoft.graph.fileAttachment",
"@odata.mediaContentType":"application/pdf",
"id":"AQMkADA0NjA5YT",
"lastModifiedDateTime":"2023-06-29T14:40:33Z",
"name":"MISC.pdf",
"contentType":"application/pdf",
"size":314000,
"isInline":false,
"contentId":"5E2D20ED5265174C8C9DC1AD59FFA4outlook.com",
"contentLocation":null,
"contentBytes":"JVBERi0xLjYNCiWAgYKDDQoxIDAgb2JqDQo8PCAvQ3JlYXRvciA8Pg0KL0NyZWF0aW9uRGF0ZSA8NDQzYTM[enter image description here](https://i.stack.imgur.com/WQJSz.png)y"
}
]
}
Функция Azure:
введите здесь описание изображения
Ниже приведена написанная мной функция Azure:
р>

Код: Выделить всё

import json
import base64
from base64 import *
import logging
import azure.functions as func

def main(req: func.HttpRequest,inputBlob: func.InputStream, outputBlob: func.Out[bytes]) -> func.HttpResponse:
logging.info('Python HTTP trigger function processed a request.')
try:

with open(inputBlob.read(),encoding='utf-8-sig') as user_file:
file_contents = user_file.read()
contents = json.loads(file_contents)

for file_contents in enumerate(contents.get("value")):
outputBlob.set(base64.b64decode(content.get("contentBytes")))

output = {"run":"success"}
return json.dumps(output)
except Exception as ex:
logging.exception(ex)
output =  {"run":"failure"}
return json.dumps(output)
Ниже сообщение об ошибке"

Код: Выделить всё

[Error]   [Errno 36] File name too long: b'{\r\n   "@odata.context":"https://graph.microsoft.com/v1.0/$metadata#users(\'fsdja@eadft.com\')/messages(\'AQMkADA0NjA5YTMyLWU4MDctNDZkMi04


Источник: https://stackoverflow.com/questions/781 ... h-api-emai

Вернуться в «Python»