I have the following project structure:
My main.py looks as followed:
python
import datetime
import logging
import azure.functions as func
from .process_data import export_to_azure, create_dataframe
def main(timer: func.TimerRequest) -> None:
utc_timestamp = datetime.datetime.utcnow().replace(
tzinfo=datetime.timezone.utc).isoformat()
# on timer run export data
df = create_dataframe()
export_to_azure(table_name="sdp_taken", schema="monday", df=df)
logging.info('Python timer trigger function ran at %s', utc_timestamp)
When I have main.py as my main script to run and run func start, I get:
[2020-11-02T02:19:58.327] Exception: ModuleNotFoundError: No module named 'monday'. Troubleshooting Guide: https://aka.ms/functions-modulenotfound
[2020-11-02T02:19:58.327] Stack: File "/usr/local/Cellar/azure-functions-core-tools@3/3.0.2931/workers/python/3.8/OSX/X64/azure_functions_worker/dispatcher.py", line 262, in _handle__function_load_request
[2020-11-02T02:19:58.327] func = loader.load_function(
[2020-11-02T02:19:58.327] File "/usr/local/Cellar/azure-functions-core-tools@3/3.0.2931/workers/python/3.8/OSX/X64/azure_functions_worker/utils/wrappers.py", line 34, in call
[2020-11-02T02:19:58.327] raise extend_exception_message(e, message)
[2020-11-02T02:19:58.327] File "/usr/local/Cellar/azure-functions-core-tools@3/3.0.2931/workers/python/3.8/OSX/X64/azure_functions_worker/utils/wrappers.py", line 32, in call
[2020-11-02T02:19:58.327] return func(*args, **kwargs)
[2020-11-02T02:19:58.327] File "/usr/local/Cellar/azure-functions-core-tools@3/3.0.2931/workers/python/3.8/OSX/X64/azure_functions_worker/loader.py", line 76, in load_function
[2020-11-02T02:19:58.327] mod = importlib.import_module(fullmodname)
[2020-11-02T02:19:58.327] File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/importlib/__init__.py", line 127, in import_module
[2020-11-02T02:19:58.327] return _bootstrap._gcd_import(name[level:], package, level)
[2020-11-02T02:19:58.328] File "/Users/erfannariman/Workspace/zypp/monday/monday/main.py", line 4, in <module>
[2020-11-02T02:19:58.328] from .process_data import export_to_azure, create_dataframe
[2020-11-02T02:19:58.328] File "/Users/erfannariman/Workspace/zypp/monday/monday/process_data.py", line 3, in <module>
[2020-11-02T02:19:58.328] from monday.api import request_data
But, when I put all the code in one file and then run func start, everything works fine.
I am not sure how to solve this and what causes this, I read this thread, but that did not help.
function.json looks as followed:
{
"scriptFile": "main.py",
"bindings": [
{
"name": "timer",
"type": "timerTrigger",
"direction": "in",
"schedule": "0 */5 * * * *"
}
]
}