prefect-azure makes it easy to leverage the capabilities of Azure in your workflows. For example, you can retrieve secrets, read and write Blob Storage objects, and deploy your flows on Azure Container Instances (ACI).

Getting started

Prerequisites

  • An Azure account and the necessary permissions to access desired services.

Install prefect-azure

The following command will install a version of prefect-azure compatible with your installed version of prefect. If you don’t already have prefect installed, it will install the newest version of prefect as well.

pip install "prefect[azure]"

Upgrade to the latest versions of prefect and prefect-azure:

pip install -U "prefect[azure]"

If necessary, see additional installation options for Blob Storage, Cosmos DB, and ML Datastore.

To install prefect-azure with all additional capabilities, run the install command above and then run the following command:

pip install "prefect-azure[all_extras]"

Register newly installed block types

Register the block types in the module to make them available for use.

prefect block register -m prefect_azure

Examples

Download a blob

from prefect import flow

from prefect_azure import AzureBlobStorageCredentials
from prefect_azure.blob_storage import blob_storage_download

@flow
def example_blob_storage_download_flow():
    connection_string = "connection_string"
    blob_storage_credentials = AzureBlobStorageCredentials(
        connection_string=connection_string,
    )
    data = blob_storage_download(
        blob="prefect.txt",
        container="prefect",
        blob_storage_credentials=blob_storage_credentials,
    )
    return data

example_blob_storage_download_flow()

Use with_options to customize options on any existing task or flow:

custom_blob_storage_download_flow = example_blob_storage_download_flow.with_options(
    name="My custom task name",
    retries=2,
    retry_delay_seconds=10,
)

Run flows on Azure Container Instances

Run flows on Azure Container Instances (ACI) to dynamically scale your infrastructure.

See the Azure Container Instances Worker Guide for a walkthrough of using ACI in a hybrid work pool.

If you’re using Prefect Cloud, ACI push work pools provide all the benefits of ACI with a quick setup and no worker needed.

Resources

For assistance using Azure, consult the Azure documentation.

Refer to the prefect-azure API documentation linked in the sidebar to explore all the capabilities of the prefect-azure library.

Additional installation options

First install the main library compatible with your prefect version:

pip install "prefect[azure]"

Then install the additional capabilities you need.

To use Blob Storage:

pip install "prefect-azure[blob_storage]"

To use Cosmos DB:

pip install "prefect-azure[cosmos_db]"

To use ML Datastore:

pip install "prefect-azure[ml_datastore]"