Azure

Blob Storage

Overview

Azure Blob Storage is a cloud file storage system. It uses storage accounts to organize containers (similar to “buckets” for other storage providers) in which to store arbitrary files referred to as blobs.

This connector currently only implements block blobs and not page or append blobs.

You’ll need credentials for an Azure Blob Storage storage account to use this connector. The azure-storage-blob library is used for this connector, and examples of how to create and use multiple types of credentials are included in the documentation.

Quickstart

List containers and blobs

from parsons import AzureBlobStorage

azure_blob = AzureBlobStorage()

# Get all container names for a storage account
container_names = azure_blob.list_containers()

# Get all blob names for a storage account and container
blob_names = azure_blob.list_blobs(container_names[0])

Create a blob from a file or ``Table``

from parsons import AzureBlobStorage, Table

azure_blob = AzureBlobStorage()

container_name = 'testcontainer'

# Upload a CSV file from a local file path and set the content type
azure_blob.put_blob(container_name, 'test1.csv', './test1.csv', content_type='text/csv')

# Create a Table and upload it as a JSON blob
table = Table([{'first': 'Test', 'last': 'Person'}])
azure_blob.upload_table(table, container_name, 'test2.json', data_type='json')

Download a blob

from parsons import AzureBlobStorage

azure_blob = AzureBlobStorage()

container_name = 'testcontainer'

# Download to a temporary file path
temp_file_path = azure_blob.download_blob(container_name, 'test.csv')

# Download to a specific file path
azure_blob.download_blob(container_name, 'test.csv', local_path='/tmp/test.csv')

API