File: //usr/local/lib/python3.9/site-packages/celery/backends/__pycache__/azureblockblob.cpython-39.pyc
a
X>h� � @ s� d Z ddlmZ ddlmZ ddlmZ ddlm Z ddl
mZ ddlm
Z
z2dd lm mZ dd
lmZmZ ddlmZ W n ey� d ZY n0 dZee�Zd
ZG dd� de
�Zd S )z0The Azure Storage Block Blob backend for Celery.� )� Transport)�cached_property)�bytes_to_str)�ImproperlyConfigured)�
get_logger� )�KeyValueStoreBackendN)�ResourceExistsError�ResourceNotFoundError)�BlobServiceClient)�AzureBlockBlobBackendzazureblockblob://c sh e Zd ZdZd� fdd� Zeefdd��Zedd� �Z d d
� Z
dd� Zd
d� Zdd� Z
ddd�Z� ZS )r z,Azure Storage Block Blob backend for Celery.Nc s| t � j|i |�� tdu s$tjdk r,td��| jj}| �|�| _|pJ|d | _ |�
dd�| _|�
dd�| _|�
d d
�| _
dS )z�
Supported URL formats:
azureblockblob://CONNECTION_STRING
azureblockblob://DefaultAzureCredential@STORAGE_ACCOUNT_URL
azureblockblob://ManagedIdentityCredential@STORAGE_ACCOUNT_URL
NZ12zWYou need to install the azure-storage-blob v12 library touse the AzureBlockBlob backendZazureblockblob_container_nameZazureblockblob_base_path� Z!azureblockblob_connection_timeout� Zazureblockblob_read_timeout�x )�super�__init__�azurestorage�__version__r Zapp�conf�
_parse_url�_connection_string�_container_name�get� base_path�_connection_timeout�
_read_timeout)�self�urlZcontainer_name�args�kwargsr �� __class__� �H/usr/local/lib/python3.9/site-packages/celery/backends/azureblockblob.pyr s ���zAzureBlockBlobBackend.__init__c C s |t |�d � }|std��|S )NzInvalid URL)�lenr )�clsr �prefixZconnection_stringr"