«Исключение: пакет не найден» при запуске функции Python Azure с модулем docx в VS Code - PullRequest
0 голосов
/ 07 апреля 2020

Я работаю над Azure функциями в Azure познавательном поиске.

Мое требование - извлечь документы, хранящиеся в azure хранилище BLOB-объектов , в качестве входных данных для функции python azure и подразделить документ на разделы, использующие модуль python docx и сохраняющие разделы в Azure хранилище таблиц.

, когда я пытаюсь передать путь большого двоичного объекта в качестве аргумента Document, я получаю Пакет не найден . Как получить путь к BLOB-документу в функции python azure.

Но код отлично работает в моей Python IDE локально с модулем docx .

Я использую Python 3.7.1

VS Код 1.43.2

docx 0.8.10

Azure функция 2

Пожалуйста, помогите мне. Заранее спасибо.

Мой код:

import logging
import docx
import azure.functions as func
def main(myblob: func.InputStream,outputtable: func.Out[str]):
    logging.info(f"Python blob trigger function processed blob \n"
             f"Name: {myblob.name}\n" f"Name: {type(myblob.name)}")
    doc=docx.Document(myblob.name)

1 Ответ

0 голосов
/ 08 апреля 2020

См. Конструктор документа

docx.Document (docx = None)

Возвращает объект Document, загруженный из docx, где docx может быть либо путь к файлу .docx (строка) или объекту, похожему на файл. Если docx отсутствует или отсутствует, загружается встроенный «шаблон» документа по умолчанию.

В то же время, обращаясь к официальной документации: Использование , вы можете Доступ к данным BLOB-объектов осуществляется только через параметр, введенный в функции InputStream.

Таким образом, здесь нет прямого пути, вам нужно открыть файлоподобный документ .

...