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}/'

Если кто-нибудь может сказать мне, что я делаю неправильно, я буду благодарен.

Вернуться на верх