Azure Storage - FileNotFoundError: [Errno 2] Нет такого файла или каталога
Я использую django-storage для работы с медиафайлами на Azure Storage. Я использую Docker для развертывания приложения в Web App for Containers. Когда я пытаюсь запустить задачу celery, она выдает ошибку:
File "/code/myapp_settings/celery.py", line 59, in test_task
spec.loader.exec_module(spider_module)
File "<frozen importlib._bootstrap_external>", line 839, in exec_module
File "<frozen importlib._bootstrap_external>", line 975, in get_code
File "<frozen importlib._bootstrap_external>", line 1032, in get_data
FileNotFoundError: [Errno 2] No such file or directory: 'https://myapp.blob.core.windows.net/media/python/test.py'
Я проверил Azure Storage и файл с таким именем и путем существует. Я могу получить доступ к нему из Azure и из URL без каких-либо проблем. Я также могу загружать и скачивать файл из панели администратора.
Ниже приведена моя задача celery, которую я пытаюсь запустить:
@shared_task(name="test_task")
def test_task(myapp_id):
myapp = myapp.objects.get(id=myapp_id)
python_config_file = myapp.python_config_file
module_path = os.path.join(MEDIA_URL, f"{python_config_file}")
spec = importlib.util.spec_from_file_location("myapp", module_path)
myapp_module = importlib.util.module_from_spec(spec)
sys.modules["myapp"] = myapp_module
spec.loader.exec_module(myapp_module)
asyncio.run(myapp_module.run(
task_id = test_task.request.id
))
return f"[myapp: {myapp_id}, task_id: {test_task.request.id}]"
Ниже приведены мои медиа переменные, которые я имею в settings.py
DEFAULT_FILE_STORAGE = 'azure.storage_production.AzureMediaStorage'
MEDIA_LOCATION = "media"
AZURE_ACCOUNT_NAME = os.environ.get('AZURE_ACCOUNT_NAME')
AZURE_CUSTOM_DOMAIN = f'{AZURE_ACCOUNT_NAME}.blob.core.windows.net'
MEDIA_URL = f'https://{AZURE_CUSTOM_DOMAIN}/{MEDIA_LOCATION}/'
Если кто-нибудь может сказать мне, что я делаю неправильно, я буду благодарен.