Код: Выделить всё
@router.post("/{connector_id}/upload")
@router.post("/{connector_id}/upload/{upload_id}")
async def upload(
tenant_id: str,
connector_id: str,
files: list[UploadFile],
upload_id: str | None = None,
controller: ConnectorController = Depends(get_controller),
) -> dict:
...
Отправляющий микросервис создает конечную точку следующим образом:
Код: Выделить всё
async def upload_file(
self,
files: list[UploadFile],
) -> str:
url = [...]
form_data = ["files",(file.filename, file.file, file.content_type) for file in files]
try:
response = await self._client.post(url=url, files=form_data)
except ConnectError as e:
[...]
Код: Выделить всё
parquet_buffer = io.BytesIO()
df.to_parquet(parquet_buffer, index=False) #Pandas dataframe
parquet_buffer.seek(0)
upload_file = UploadFile(
filename=file.name,
file=parquet_buffer,
size=parquet_buffer.getbuffer().nbytes,
)
upload_files.append(upload_file)
Код: Выделить всё
b'{"detail":[{"loc":["body","files"],"msg":"field required","type":"value_error.missing"}]}'
Подробнее здесь: https://stackoverflow.com/questions/798 ... ble-entity
Мобильная версия