---
id: plugins-azure
title: "Azure"
summary: "The 4 plugins in Azure: Blob enumerator, Blob operation, Blob reader and 1 more."
audience: user
keywords: "AzureBlobEnumerator, AzureBlobOperation, AzureBlobReader, AzureBlobWriter"
---
# Azure

Read and write files in Azure Blob Storage. The **Blob enumerator** lists the blobs of a container, the **Blob reader** opens one as a file stream (one batch per blob, then delete, move or tag it), the **Blob writer** uploads text or a file stream or appends to an append blob, and **Blob operation** deletes, copies, moves, tags or changes the access tier of a blob.

```text
Timer → Blob enumerator → Blob reader → CSV decoder → ... your logic
```

The reader emits the same file stream the local file plugins use, so every decoder works on blobs as it does on local files. Sign in with a connection string, Entra ID (managed identity, workload identity), a service principal or a SAS token.

## Plugins

| Plugin | What it does | Pins |
|---|---|---|
| [Blob enumerator](/documentation/plugins/azure/azure-blob-enumerator) | Lists the blobs of an Azure Storage container, optionally filtered by a name prefix and skipping blobs with a given index tag, and emits one file info record per blob. Use it with *Blob reader* to process the files of a container. | `Input`, `Output`, `Continue` |
| [Blob operation](/documentation/plugins/azure/azure-blob-operation) | Deletes, copies, moves, tags or changes the access tier of a blob in Azure Storage. The blob comes from an incoming blob file info (*Blob enumerator*) or from the configuration; the file info of the resulting blob is passed on. Use it for housekeeping (archive or delete old blobs) or to move blobs between containers. | `Input`, `Output`, `NoData` |
| [Blob reader](/documentation/plugins/azure/azure-blob-reader) | Opens a blob in Azure Storage for reading and emits it as a file stream, for example for a CSV or ASN.1 decoder. Every blob is a batch: once it is processed and committed downstream, the blob can be deleted, moved or tagged; a failed blob can be moved to an error location. The blob comes from an incoming blob file info (*Blob enumerator*) or from the configuration. If the blob does not exist, the input is passed to `NoData`. | `Input`, `Output`, `NoData` |
| [Blob writer](/documentation/plugins/azure/azure-blob-writer) | Uploads text or a file stream to a blob in Azure Storage, or appends records to an append blob, and passes the input on. Sets content type, metadata and access tier, and can create the container. | `Input`, `Output` |
