> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pinkfish.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# azure-storage

> Blobs, containers, and queues

**Server path:** `/azure-storage` | **Type:** Application | **PCID required:** Yes

## Tools

| Tool                                                                  | Description                                             |
| --------------------------------------------------------------------- | ------------------------------------------------------- |
| [`azure_storage_upload_blob`](#azure_storage_upload_blob)             | Upload a blob to Azure Storage container                |
| [`azure_storage_delete_blob`](#azure_storage_delete_blob)             | Delete a blob from Azure Storage container              |
| [`azure_storage_create_container`](#azure_storage_create_container)   | Create a new container in Azure Storage                 |
| [`azure_storage_list_containers`](#azure_storage_list_containers)     | List all containers in the Azure Storage account        |
| [`azure_storage_list_blobs`](#azure_storage_list_blobs)               | List blobs in an Azure Storage container                |
| [`azure_storage_get_blob`](#azure_storage_get_blob)                   | Get blob content and metadata from Azure Storage        |
| [`azure_storage_copy_blob`](#azure_storage_copy_blob)                 | Copy a blob within Azure Storage or from another source |
| [`azure_storage_set_blob_metadata`](#azure_storage_set_blob_metadata) | Set metadata for an existing blob                       |

***

## azure\_storage\_upload\_blob

Upload a blob to Azure Storage container

**Parameters:**

| Parameter       | Type    | Required | Default | Description                                   |
| --------------- | ------- | -------- | ------- | --------------------------------------------- |
| `containerName` | string  | Yes      | —       | Container name to upload to                   |
| `blobName`      | string  | Yes      | —       | Name for the blob                             |
| `content`       | string  | Yes      | —       | Content to upload (base64 encoded for binary) |
| `contentType`   | string  | No       | —       | MIME type of the content                      |
| `metadata`      | object  | No       | —       | Metadata key-value pairs for the blob         |
| `overwrite`     | boolean | No       | `false` | Whether to overwrite existing blob            |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "containerName": {
        "type": "string",
        "description": "Container name to upload to"
      },
      "blobName": {
        "type": "string",
        "description": "Name for the blob"
      },
      "content": {
        "type": "string",
        "description": "Content to upload (base64 encoded for binary)"
      },
      "contentType": {
        "type": "string",
        "description": "MIME type of the content"
      },
      "metadata": {
        "type": "object",
        "additionalProperties": true,
        "description": "Metadata key-value pairs for the blob"
      },
      "overwrite": {
        "type": "boolean",
        "default": false,
        "description": "Whether to overwrite existing blob"
      }
    },
    "required": [
      "PCID",
      "containerName",
      "blobName",
      "content"
    ]
  }
  ```
</Expandable>

***

## azure\_storage\_delete\_blob

Delete a blob from Azure Storage container

**Parameters:**

| Parameter         | Type   | Required | Default | Description                  |
| ----------------- | ------ | -------- | ------- | ---------------------------- |
| `containerName`   | string | Yes      | —       | Container name               |
| `blobName`        | string | Yes      | —       | Blob name to delete          |
| `deleteSnapshots` | string | No       | —       | How to handle blob snapshots |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "containerName": {
        "type": "string",
        "description": "Container name"
      },
      "blobName": {
        "type": "string",
        "description": "Blob name to delete"
      },
      "deleteSnapshots": {
        "type": "string",
        "enum": [
          "include",
          "only"
        ],
        "description": "How to handle blob snapshots"
      }
    },
    "required": [
      "PCID",
      "containerName",
      "blobName"
    ]
  }
  ```
</Expandable>

***

## azure\_storage\_create\_container

Create a new container in Azure Storage

**Parameters:**

| Parameter           | Type   | Required | Default     | Description                                             |
| ------------------- | ------ | -------- | ----------- | ------------------------------------------------------- |
| `containerName`     | string | Yes      | —           | Name for the new container (lowercase, 3-63 characters) |
| `publicAccessLevel` | string | No       | `"private"` | Public access level for the container                   |
| `metadata`          | object | No       | —           | Metadata key-value pairs for the container              |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "containerName": {
        "type": "string",
        "description": "Name for the new container (lowercase, 3-63 characters)"
      },
      "publicAccessLevel": {
        "type": "string",
        "enum": [
          "private",
          "blob",
          "container"
        ],
        "default": "private",
        "description": "Public access level for the container"
      },
      "metadata": {
        "type": "object",
        "additionalProperties": true,
        "description": "Metadata key-value pairs for the container"
      }
    },
    "required": [
      "PCID",
      "containerName"
    ]
  }
  ```
</Expandable>

***

## azure\_storage\_list\_containers

List all containers in the Azure Storage account

**Parameters:**

| Parameter    | Type   | Required | Default | Description                            |
| ------------ | ------ | -------- | ------- | -------------------------------------- |
| `prefix`     | string | No       | —       | Filter containers by name prefix       |
| `maxResults` | number | No       | `5000`  | Maximum number of containers to return |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "prefix": {
        "type": "string",
        "description": "Filter containers by name prefix"
      },
      "maxResults": {
        "type": "number",
        "default": 5000,
        "description": "Maximum number of containers to return"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## azure\_storage\_list\_blobs

List blobs in an Azure Storage container

**Parameters:**

| Parameter       | Type   | Required | Default | Description                       |
| --------------- | ------ | -------- | ------- | --------------------------------- |
| `containerName` | string | Yes      | —       | Container name to list blobs from |
| `prefix`        | string | No       | —       | Filter blobs by name prefix       |
| `maxResults`    | number | No       | `5000`  | Maximum number of blobs to return |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "containerName": {
        "type": "string",
        "description": "Container name to list blobs from"
      },
      "prefix": {
        "type": "string",
        "description": "Filter blobs by name prefix"
      },
      "maxResults": {
        "type": "number",
        "default": 5000,
        "description": "Maximum number of blobs to return"
      }
    },
    "required": [
      "PCID",
      "containerName"
    ]
  }
  ```
</Expandable>

***

## azure\_storage\_get\_blob

Get blob content and metadata from Azure Storage

**Parameters:**

| Parameter         | Type    | Required | Default | Description                                 |
| ----------------- | ------- | -------- | ------- | ------------------------------------------- |
| `containerName`   | string  | Yes      | —       | Container name                              |
| `blobName`        | string  | Yes      | —       | Blob name to retrieve                       |
| `includeContent`  | boolean | No       | `true`  | Whether to include blob content in response |
| `includeMetadata` | boolean | No       | `true`  | Whether to include blob metadata            |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "containerName": {
        "type": "string",
        "description": "Container name"
      },
      "blobName": {
        "type": "string",
        "description": "Blob name to retrieve"
      },
      "includeContent": {
        "type": "boolean",
        "default": true,
        "description": "Whether to include blob content in response"
      },
      "includeMetadata": {
        "type": "boolean",
        "default": true,
        "description": "Whether to include blob metadata"
      }
    },
    "required": [
      "PCID",
      "containerName",
      "blobName"
    ]
  }
  ```
</Expandable>

***

## azure\_storage\_copy\_blob

Copy a blob within Azure Storage or from another source

**Parameters:**

| Parameter                  | Type   | Required | Default | Description                       |
| -------------------------- | ------ | -------- | ------- | --------------------------------- |
| `sourceContainerName`      | string | Yes      | —       | Source container name             |
| `sourceBlobName`           | string | Yes      | —       | Source blob name                  |
| `destinationContainerName` | string | Yes      | —       | Destination container name        |
| `destinationBlobName`      | string | Yes      | —       | Destination blob name             |
| `metadata`                 | object | No       | —       | Metadata for the destination blob |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "sourceContainerName": {
        "type": "string",
        "description": "Source container name"
      },
      "sourceBlobName": {
        "type": "string",
        "description": "Source blob name"
      },
      "destinationContainerName": {
        "type": "string",
        "description": "Destination container name"
      },
      "destinationBlobName": {
        "type": "string",
        "description": "Destination blob name"
      },
      "metadata": {
        "type": "object",
        "additionalProperties": true,
        "description": "Metadata for the destination blob"
      }
    },
    "required": [
      "PCID",
      "sourceContainerName",
      "sourceBlobName",
      "destinationContainerName",
      "destinationBlobName"
    ]
  }
  ```
</Expandable>

***

## azure\_storage\_set\_blob\_metadata

Set metadata for an existing blob

**Parameters:**

| Parameter       | Type   | Required | Default | Description                     |
| --------------- | ------ | -------- | ------- | ------------------------------- |
| `containerName` | string | Yes      | —       | Container name                  |
| `blobName`      | string | Yes      | —       | Blob name                       |
| `metadata`      | object | Yes      | —       | Metadata key-value pairs to set |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "containerName": {
        "type": "string",
        "description": "Container name"
      },
      "blobName": {
        "type": "string",
        "description": "Blob name"
      },
      "metadata": {
        "type": "object",
        "additionalProperties": true,
        "description": "Metadata key-value pairs to set"
      }
    },
    "required": [
      "PCID",
      "containerName",
      "blobName",
      "metadata"
    ]
  }
  ```
</Expandable>
