Однако на раннем этапе я столкнулся с проблемой, связанной со всем, что связано с
Код: Выделить всё
mssparkutils
Я обнаружил пустышку -notebookutils ранее сегодня, и я подумал, что это может быть моим спасением, но теперь кажется, что мне не повезло. Я использую его в библиотеке следующим образом:
Код: Выделить всё
from notebookutils import mssparkutils
from pathlib import Path
def copy_file_to_folder(path_to_file: str, path_to_folder: str) -> str:
mssparkutils.fs.cp(path_to_file, f"file:{path_to_folder}")
# Return path to which file was copied.
result = str(Path(path_to_folder)/Path(path_to_file).name)
return result
Код: Выделить всё
props = json.loads(mssparkutils.credentials.getPropertiesAll(linked_service))
Код: Выделить всё
NameError: name 'mssparkutils' is not defined
Код: Выделить всё
from notebookutils import mssparkutils
Похоже, что само наличие этого импорта dummy-notebookutils мешает встроенному mssparkutils и, таким образом, вызывает хаос.
Есть ли разумный способ написания внешних библиотек для использования в Synapse, как этот? Или весь мой подход неправильный? Есть ли способ использовать dummy-notebookutils, чтобы избежать сбоя Runbook?
Я подумывал просто обернуть всю библиотеку в большой класс, а затем , внутри записной книжки, передавая объект mssparkutils в конструктор. Это, вероятно, сработает, но разрушит существующую структуру кодовой базы, чего я не хочу делать, если есть какая-либо жизнеспособная альтернатива.
Подробнее здесь: https://stackoverflow.com/questions/792 ... utils-call