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
1
7
openai-agents >= 0.2.3 ,< 0.3
2
8
eval-type-backport >= 0.2.2 ; python_version < '3.10'
You can’t perform that action at this time.
0 commit comments