File tree Expand file tree Collapse file tree 6 files changed +199
-0
lines changed Expand file tree Collapse file tree 6 files changed +199
-0
lines changed Original file line number Diff line number Diff line change 1+ .git*
2+ .vscode
3+ __azurite_db*__.json
4+ __blobstorage__
5+ __queuestorage__
6+ local.settings.json
7+ test
8+ .venv
Original file line number Diff line number Diff line change 1+ # Byte-compiled / optimized / DLL files
2+ __pycache__ /
3+ * .py [cod ]
4+ * $py.class
5+
6+ # C extensions
7+ * .so
8+
9+ # Distribution / packaging
10+ .Python
11+ build /
12+ develop-eggs /
13+ dist /
14+ downloads /
15+ eggs /
16+ .eggs /
17+ lib /
18+ lib64 /
19+ parts /
20+ sdist /
21+ var /
22+ wheels /
23+ pip-wheel-metadata /
24+ share /python-wheels /
25+ * .egg-info /
26+ .installed.cfg
27+ * .egg
28+ MANIFEST
29+
30+ # PyInstaller
31+ # Usually these files are written by a python script from a template
32+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
33+ * .manifest
34+ * .spec
35+
36+ # Installer logs
37+ pip-log.txt
38+ pip-delete-this-directory.txt
39+
40+ # Unit test / coverage reports
41+ htmlcov /
42+ .tox /
43+ .nox /
44+ .coverage
45+ .coverage. *
46+ .cache
47+ nosetests.xml
48+ coverage.xml
49+ * .cover
50+ .hypothesis /
51+ .pytest_cache /
52+
53+ # Translations
54+ * .mo
55+ * .pot
56+
57+ # Django stuff:
58+ * .log
59+ local_settings.py
60+ db.sqlite3
61+
62+ # Flask stuff:
63+ instance /
64+ .webassets-cache
65+
66+ # Scrapy stuff:
67+ .scrapy
68+
69+ # Sphinx documentation
70+ docs /_build /
71+
72+ # PyBuilder
73+ target /
74+
75+ # Jupyter Notebook
76+ .ipynb_checkpoints
77+
78+ # IPython
79+ profile_default /
80+ ipython_config.py
81+
82+ # pyenv
83+ .python-version
84+
85+ # pipenv
86+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
87+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
88+ # having no cross-platform support, pipenv may install dependencies that don’t work, or not
89+ # install all needed dependencies.
90+ # Pipfile.lock
91+
92+ # celery beat schedule file
93+ celerybeat-schedule
94+
95+ # SageMath parsed files
96+ * .sage.py
97+
98+ # Environments
99+ .env
100+ .venv
101+ env /
102+ venv /
103+ ENV /
104+ env.bak /
105+ venv.bak /
106+
107+ # Spyder project settings
108+ .spyderproject
109+ .spyproject
110+
111+ # Rope project settings
112+ .ropeproject
113+
114+ # mkdocs documentation
115+ /site
116+
117+ # mypy
118+ .mypy_cache /
119+ .dmypy.json
120+ dmypy.json
121+
122+ # Pyre type checker
123+ .pyre /
124+
125+ # Azure Functions artifacts
126+ bin
127+ obj
128+ appsettings.json
129+ # local.settings.json
130+
131+ # Azurite artifacts
132+ __blobstorage__
133+ __queuestorage__
134+ __azurite_db * __.json
135+ .python_packages
Original file line number Diff line number Diff line change 1+ import azure .functions as func
2+ import logging
3+
4+ app = func .FunctionApp (http_auth_level = func .AuthLevel .FUNCTION )
5+
6+ # An HTTP-Triggered Function with a Durable Functions Client binding
7+ @app .route (route = "orchestrators/{functionName}" )
8+ @app .durable_client_input (client_name = "client" )
9+ async def hello_orchestration_starter (req : func .HttpRequest , client ):
10+ function_name = req .route_params .get ('functionName' )
11+ instance_id = await client .start_new (function_name )
12+ response = client .create_check_status_response (req , instance_id )
13+ return response
14+
15+
16+ # Orchestrator
17+ @app .orchestration_trigger (context_name = "context" )
18+ def hello_orchestration_orchestrator (context ):
19+ result1 = yield context .call_activity ("hello_orchestration_activity" , "Seattle" )
20+ result2 = yield context .call_activity ("hello_orchestration_activity" , "Tokyo" )
21+ result3 = yield context .call_activity ("hello_orchestration_activity" , "London" )
22+
23+ return [result1 , result2 , result3 ]
24+
25+ # Activity
26+ @app .activity_trigger (input_name = "city" )
27+ def hello_orchestration_activity (city : str ):
28+ return "Hello " + city
Original file line number Diff line number Diff line change 1+ {
2+ "version" : " 2.0" ,
3+ "logging" : {
4+ "applicationInsights" : {
5+ "samplingSettings" : {
6+ "isEnabled" : true ,
7+ "excludedTypes" : " Request"
8+ }
9+ }
10+ },
11+ "extensionBundle" : {
12+ "id" : " Microsoft.Azure.Functions.ExtensionBundle" ,
13+ "version" : " [4.*, 5.0.0)"
14+ }
15+ }
Original file line number Diff line number Diff line change 1+ {
2+ "IsEncrypted" : false ,
3+ "Values" : {
4+ "AzureWebJobsStorage" : " UseDevelopmentStorage=true" ,
5+ "FUNCTIONS_WORKER_RUNTIME" : " python"
6+ }
7+ }
Original file line number Diff line number Diff line change 1+ # DO NOT include azure-functions-worker in this file
2+ # The Python Worker is managed by Azure Functions platform
3+ # Manually managing azure-functions-worker may cause unexpected issues
4+
5+ azure-functions
6+ azure-functions-durable
17openai-agents >= 0.2.3 ,< 0.3
28eval-type-backport >= 0.2.2 ; python_version < '3.10'
You can’t perform that action at this time.
0 commit comments