python - 如何构建azure函数python项目

标签 python visual-studio-code azure-functions python-3.7

我正在使用 Python 来使用 Azure Functions,并在获取正确的项目目录结构时遇到了问题。我的目标是拥有一个库目录,我可以将所有业务逻辑放入其中,然后从函数入口点引用该目录,并且还有一个可以测试函数和库的测试目录直接编码。我目前有以下结构:

__app__
 | - MyFirstFunction
 | | - __init__.py
 | | - function.json
 | - library
 | | - __init__.py
 | | - services
 | | | - __init__.py
 | | | - sample_service.py
 | - host.json
 | - requirements.txt
 | - __init__.py
 | - tests
 | | - __init__.py
 | | - test_first_function.py

我最终得到了这个结构,并且能够使用 from __app__.library.services import sample_service 从 azure 函数引用 sample_service 并且事情似乎有效,但我我无法进行单元测试以正确引用天蓝色函数。我在测试中尝试了 from ..HttpTrigger import mainfrom __app__.HttpTrigger import main ,但是当这些导入语句中的任何一个时,Visual Studio Code 无法发现测试已就位。当我直接执行 test_first_function.py 文件时,分别收到以下错误: ImportError: attemptsrelative import with noknownparent packageModuleNotFoundError: No module named ' __app__'

在 Python 模块和包方面,我远非专家,因此任何有关如何解决这些问题的见解都会有所帮助。如果能了解其他人如何构建其 Python azure 函数项目的其他想法,那就太好了

最佳答案

如果将 tests 目录向上移动一级,位于 __app__ 目录之外,那么您应该能够运行测试并使用 from 导入__app__.MyFirstFunction 导入 myfunction

正在讨论改善测试体验和正确指导 ( discussion ) ( work-item )。

同时,上述建议应该可以正常工作。您可以使用 this project (azure-functions branch)作为引用(由 Brett Canon 在上面标记的讨论中链接)。

关于python - 如何构建azure函数python项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59299297/

相关文章:

python - 如何使用 httplib (python 2.6) 处理超时?

python - 将鼠标和键盘 Action 记录到 TXT 文件中 - Python

html - Visual Studio 代码 CSS 错误 "Do not use empty rulesets"

typescript - 如何用其他内容替换Azure Function App中的主页?

python - 如何使用 python 将数字的工程符号转换为方程中的科学符号

python - 如何在groupby之后创建变量

php - 如何修复 Visual Studio Code 中的以下 phpcs 错误?

visual-studio-code - 有没有办法跟踪扩展的资源使用情况?

node.js - 如何在Azure函数HttpTriggers( Node )中使用cookie

Azure Function App - 发布失败