Skip to content

What is the best practice for structuring folders when I want to have multiple durable functions in one Azure Functions App(Python)? #549

@ecormaksin

Description

@ecormaksin

I posted the same question to Stackoverflow, but my question was closed as opinion-based :(. So I post the question again.


I have a question about folder structure in Azure Functions App(Python).

The recommended folder structure in case of Python programming model v1:

  • The shared_code folder exists.
  • Each function resides each folder.
<project_root>/
 | - .venv/
 | - .vscode/
 | - my_first_function/
 | | - __init__.py
 | | - function.json
 | | - example.py
 | - my_second_function/
 | | - __init__.py
 | | - function.json
 | - shared_code/
 | | - __init__.py
 | | - my_first_helper_function.py
 | | - my_second_helper_function.py
 | - tests/
 | | - test_my_second_function.py
 | - .funcignore
 | - host.json
 | - local.settings.json
 | - requirements.txt
 | - Dockerfile

On the other hand, the recommended folder structure in case of Python programming model v2:

  • The shared_code folder does not exist.
  • Does each function reside function_app.py or additional_functions.py? But if so, many lines of code resides one or two files, then I'm worried that maintainability extreamly goes down :(.
<project_root>/
 | - .venv/
 | - .vscode/
 | - function_app.py
 | - additional_functions.py
 | - tests/
 | | - test_my_function.py
 | - .funcignore
 | - host.json
 | - local.settings.json
 | - requirements.txt
 | - Dockerfile

I know that there is a mechanism called Blueprints in the Python programming model v2. Even though, I wonder what is the best practice for structuring folders when I want to have multiple durable functions in one Azure Functions App(Python).

Does anyone have any good ideas?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions