| :py:mod:`airflow.providers.microsoft.azure.hooks.wasb` |
| ====================================================== |
| |
| .. py:module:: airflow.providers.microsoft.azure.hooks.wasb |
| |
| .. autoapi-nested-parse:: |
| |
| This module contains integration with Azure Blob Storage. |
| |
| It communicate via the Window Azure Storage Blob protocol. Make sure that a |
| Airflow connection of type `wasb` exists. Authorization can be done by supplying a |
| login (=Storage account name) and password (=KEY), or login and SAS token in the extra |
| field (see connection `wasb_default` for an example). |
| |
| |
| |
| Module Contents |
| --------------- |
| |
| Classes |
| ~~~~~~~ |
| |
| .. autoapisummary:: |
| |
| airflow.providers.microsoft.azure.hooks.wasb.WasbHook |
| |
| |
| |
| |
| .. py:class:: WasbHook(wasb_conn_id = default_conn_name, public_read = False) |
| |
| Bases: :py:obj:`airflow.hooks.base.BaseHook` |
| |
| Interacts with Azure Blob Storage through the ``wasb://`` protocol. |
| |
| These parameters have to be passed in Airflow Data Base: account_name and account_key. |
| |
| Additional options passed in the 'extra' field of the connection will be |
| passed to the `BlockBlockService()` constructor. For example, authenticate |
| using a SAS token by adding {"sas_token": "YOUR_TOKEN"}. |
| |
| If no authentication configuration is provided, DefaultAzureCredential will be used (applicable |
| when using Azure compute infrastructure). |
| |
| :param wasb_conn_id: Reference to the :ref:`wasb connection <howto/connection:wasb>`. |
| :param public_read: Whether an anonymous public read access should be used. default is False |
| |
| .. py:attribute:: conn_name_attr |
| :annotation: = wasb_conn_id |
| |
| |
| |
| .. py:attribute:: default_conn_name |
| :annotation: = wasb_default |
| |
| |
| |
| .. py:attribute:: conn_type |
| :annotation: = wasb |
| |
| |
| |
| .. py:attribute:: hook_name |
| :annotation: = Azure Blob Storage |
| |
| |
| |
| .. py:method:: get_connection_form_widgets() |
| :staticmethod: |
| |
| Returns connection widgets to add to connection form |
| |
| |
| .. py:method:: get_ui_field_behaviour() |
| :staticmethod: |
| |
| Returns custom field behaviour |
| |
| |
| .. py:method:: get_conn(self) |
| |
| Return the BlobServiceClient object. |
| |
| |
| .. py:method:: check_for_blob(self, container_name, blob_name, **kwargs) |
| |
| Check if a blob exists on Azure Blob Storage. |
| |
| :param container_name: Name of the container. |
| :param blob_name: Name of the blob. |
| :param kwargs: Optional keyword arguments for ``BlobClient.get_blob_properties`` takes. |
| :return: True if the blob exists, False otherwise. |
| :rtype: bool |
| |
| |
| .. py:method:: check_for_prefix(self, container_name, prefix, **kwargs) |
| |
| Check if a prefix exists on Azure Blob storage. |
| |
| :param container_name: Name of the container. |
| :param prefix: Prefix of the blob. |
| :param kwargs: Optional keyword arguments that ``ContainerClient.walk_blobs`` takes |
| :return: True if blobs matching the prefix exist, False otherwise. |
| :rtype: bool |
| |
| |
| .. py:method:: get_blobs_list(self, container_name, prefix = None, include = None, delimiter = '/', **kwargs) |
| |
| List blobs in a given container |
| |
| :param container_name: The name of the container |
| :param prefix: Filters the results to return only blobs whose names |
| begin with the specified prefix. |
| :param include: Specifies one or more additional datasets to include in the |
| response. Options include: ``snapshots``, ``metadata``, ``uncommittedblobs``, |
| ``copy`, ``deleted``. |
| :param delimiter: filters objects based on the delimiter (for e.g '.csv') |
| |
| |
| .. py:method:: load_file(self, file_path, container_name, blob_name, create_container = False, **kwargs) |
| |
| Upload a file to Azure Blob Storage. |
| |
| :param file_path: Path to the file to load. |
| :param container_name: Name of the container. |
| :param blob_name: Name of the blob. |
| :param create_container: Attempt to create the target container prior to uploading the blob. This is |
| useful if the target container may not exist yet. Defaults to False. |
| :param kwargs: Optional keyword arguments that ``BlobClient.upload_blob()`` takes. |
| |
| |
| .. py:method:: load_string(self, string_data, container_name, blob_name, create_container = False, **kwargs) |
| |
| Upload a string to Azure Blob Storage. |
| |
| :param string_data: String to load. |
| :param container_name: Name of the container. |
| :param blob_name: Name of the blob. |
| :param create_container: Attempt to create the target container prior to uploading the blob. This is |
| useful if the target container may not exist yet. Defaults to False. |
| :param kwargs: Optional keyword arguments that ``BlobClient.upload()`` takes. |
| |
| |
| .. py:method:: get_file(self, file_path, container_name, blob_name, **kwargs) |
| |
| Download a file from Azure Blob Storage. |
| |
| :param file_path: Path to the file to download. |
| :param container_name: Name of the container. |
| :param blob_name: Name of the blob. |
| :param kwargs: Optional keyword arguments that `BlobClient.download_blob()` takes. |
| |
| |
| .. py:method:: read_file(self, container_name, blob_name, **kwargs) |
| |
| Read a file from Azure Blob Storage and return as a string. |
| |
| :param container_name: Name of the container. |
| :param blob_name: Name of the blob. |
| :param kwargs: Optional keyword arguments that `BlobClient.download_blob` takes. |
| |
| |
| .. py:method:: upload(self, container_name, blob_name, data, blob_type = 'BlockBlob', length = None, create_container = False, **kwargs) |
| |
| Creates a new blob from a data source with automatic chunking. |
| |
| :param container_name: The name of the container to upload data |
| :param blob_name: The name of the blob to upload. This need not exist in the container |
| :param data: The blob data to upload |
| :param blob_type: The type of the blob. This can be either ``BlockBlob``, |
| ``PageBlob`` or ``AppendBlob``. The default value is ``BlockBlob``. |
| :param length: Number of bytes to read from the stream. This is optional, |
| but should be supplied for optimal performance. |
| :param create_container: Attempt to create the target container prior to uploading the blob. This is |
| useful if the target container may not exist yet. Defaults to False. |
| |
| |
| .. py:method:: download(self, container_name, blob_name, offset = None, length = None, **kwargs) |
| |
| Downloads a blob to the StorageStreamDownloader |
| |
| :param container_name: The name of the container containing the blob |
| :param blob_name: The name of the blob to download |
| :param offset: Start of byte range to use for downloading a section of the blob. |
| Must be set if length is provided. |
| :param length: Number of bytes to read from the stream. |
| |
| |
| .. py:method:: create_container(self, container_name) |
| |
| Create container object if not already existing |
| |
| :param container_name: The name of the container to create |
| |
| |
| .. py:method:: delete_container(self, container_name) |
| |
| Delete a container object |
| |
| :param container_name: The name of the container |
| |
| |
| .. py:method:: delete_blobs(self, container_name, *blobs, **kwargs) |
| |
| Marks the specified blobs or snapshots for deletion. |
| |
| :param container_name: The name of the container containing the blobs |
| :param blobs: The blobs to delete. This can be a single blob, or multiple values |
| can be supplied, where each value is either the name of the blob (str) or BlobProperties. |
| |
| |
| .. py:method:: delete_file(self, container_name, blob_name, is_prefix = False, ignore_if_missing = False, delimiter = '', **kwargs) |
| |
| Delete a file from Azure Blob Storage. |
| |
| :param container_name: Name of the container. |
| :param blob_name: Name of the blob. |
| :param is_prefix: If blob_name is a prefix, delete all matching files |
| :param ignore_if_missing: if True, then return success even if the |
| blob does not exist. |
| :param kwargs: Optional keyword arguments that ``ContainerClient.delete_blobs()`` takes. |
| |
| |
| |