Copy a blob with Python
This article provides an overview of copy operations using the Azure Storage client library for Python.
About copy operations
Copy operations can be used to move data within a storage account, between storage accounts, or into a storage account from a source outside of Azure. When using the Blob Storage client libraries to copy data resources, it's important to understand the REST API operations behind the client library methods. The following table lists REST API operations that can be used to copy data resources to a storage account. The table also includes links to detailed guidance about how to perform these operations using the Azure Storage client library for Python.
|REST API operation||When to use||Client library methods||Guidance|
|Put Blob From URL||This operation is preferred for scenarios where you want to move data into a storage account and have a URL for the source object. This operation completes synchronously.||upload_blob_from_url||Copy a blob from a source object URL with Python|
|Put Block From URL||For large objects, you can use Put Block From URL to write individual blocks to Blob Storage, and then call Put Block List to commit those blocks to a block blob. This operation completes synchronously.||stage_block_from_url||Copy a blob from a source object URL with Python|
|Copy Blob||This operation can be used when you want asynchronous scheduling for a copy operation.||start_copy_from_url||Copy a blob with asynchronous scheduling using Python|
For append blobs, you can use the Append Block From URL operation to commit a new block of data to the end of an existing append blob. The following client library method wraps this operation:
For page blobs, you can use the Put Page From URL operation to write a range of pages to a page blob where the contents are read from a URL. The following client library method wraps this operation: