Skip to content

Commit aefc1ad

Browse files
Edits from review feedback
1 parent ef6e47a commit aefc1ad

File tree

4 files changed

+11
-7
lines changed

4 files changed

+11
-7
lines changed

articles/storage/blobs/TOC.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -621,7 +621,7 @@ items:
621621
href: storage-blob-download.md
622622
- name: Copy blobs
623623
items:
624-
- name: Overview
624+
- name: Overview of copy operations
625625
href: storage-blob-copy.md
626626
- name: Copy from a source object URL
627627
href: storage-blob-copy-url-dotnet.md

articles/storage/blobs/storage-blob-copy-async-dotnet.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ var sourceBlobSASURI = new Uri(
8282
$"https://{srcAccountName}.blob.core.windows.net/{srcContainerName}/{srcBlobName}?{sasToken}");
8383
```
8484

85+
You can also [create a user delegation SAS token with .NET](storage-blob-user-delegation-sas-create-dotnet.md). User delegation SAS tokens offer a more secure option, as they are signed with Azure AD credentials instead of an account key.
86+
8587
## Copy a blob from a source outside of Azure
8688

8789
You can perform a copy operation on any source object that can be retrieved via HTTP GET request on a given URL, including accessible objects outside of Azure. The following example shows a scenario for copying a blob from an accessible source object URL.

articles/storage/blobs/storage-blob-copy-url-dotnet.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ The [SyncUploadFromUriAsync](/dotnet/api/azure.storage.blobs.specialized.blockbl
7373

7474
If the source is a blob in another storage account, the source blob must either be public, or authorized via Azure AD or SAS token. The SAS token needs to include the **Read ('r')** permission. To learn more about SAS tokens, see [Delegate access with shared access signatures](../common/storage-sas-overview.md).
7575

76-
The following example shows a scenario for copying a blob from another storage account. In this example, we create a source blob URI with an appended service SAS token by calling [GenerateSasUri](/dotnet/api/azure.storage.blobs.blobcontainerclient.generatesasuri) on the blob client. To use this method, the source blob client needs to be authorized via account key.
76+
The following example shows a scenario for copying a blob from another storage account. In this example, we create a source blob URI with an appended *service SAS token* by calling [GenerateSasUri](/dotnet/api/azure.storage.blobs.blobcontainerclient.generatesasuri) on the blob client. To use this method, the source blob client needs to be authorized via account key.
7777

7878
:::code language="csharp" source="~/azure-storage-snippets/blobs/howto/dotnet/BlobDevGuideBlobs/PutBlobFromURL.cs" id="Snippet_CopyAcrossAccounts_PutBlobFromURL":::
7979

@@ -85,6 +85,8 @@ var sourceBlobSASURI = new Uri(
8585
$"https://{srcAccountName}.blob.core.windows.net/{srcContainerName}/{srcBlobName}?{sasToken}");
8686
```
8787

88+
You can also [create a user delegation SAS token with .NET](storage-blob-user-delegation-sas-create-dotnet.md). User delegation SAS tokens offer a more secure option, as they are signed with Azure AD credentials instead of an account key.
89+
8890
## Copy a blob from a source outside of Azure
8991

9092
You can perform a copy operation on any source object that can be retrieved via HTTP GET request on a given URL, including accessible objects outside of Azure. The following example shows a scenario for copying a blob from an accessible source object URL.

articles/storage/blobs/storage-blob-copy.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ This article provides an overview of copy operations using the [Azure Storage cl
1919

2020
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 .NET](/dotnet/api/overview/azure/storage).
2121

22-
| REST API operation | When to use | Client library guidance |
23-
| --- | --- | --- |
24-
| [Put Blob From URL](/rest/api/storageservices/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. | [Copy a blob from a source object URL with .NET](storage-blob-copy-url-dotnet.md) |
25-
| [Put Block From URL](/rest/api/storageservices/put-block-from-url) | For large objects, you can use [Put Block From URL](/rest/api/storageservices/put-block-from-url) to write individual blocks to Blob Storage, and then call [Put Block List](/rest/api/storageservices/put-block-list) to commit those blocks to a block blob. This operation completes synchronously. | [Copy a blob from a source object URL with .NET](storage-blob-copy-url-dotnet.md) |
26-
| [Copy Blob](/rest/api/storageservices/copy-blob) | This operation can be used when you want asynchronous scheduling for a copy operation. | [Copy a blob with asynchronous scheduling using .NET](storage-blob-copy-async-dotnet.md) |
22+
| REST API operation | When to use | Client library methods | Guidance |
23+
| --- | --- | --- | --- |
24+
| [Put Blob From URL](/rest/api/storageservices/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. | [SyncUploadFromUri](/dotnet/api/azure.storage.blobs.specialized.blockblobclient.syncuploadfromuri)<br>[SyncUploadFromUriAsync](/dotnet/api/azure.storage.blobs.specialized.blockblobclient.syncuploadfromuriasync) | [Copy a blob from a source object URL with .NET](storage-blob-copy-url-dotnet.md) |
25+
| [Put Block From URL](/rest/api/storageservices/put-block-from-url) | For large objects, you can use [Put Block From URL](/rest/api/storageservices/put-block-from-url) to write individual blocks to Blob Storage, and then call [Put Block List](/rest/api/storageservices/put-block-list) to commit those blocks to a block blob. This operation completes synchronously. | [StageBlockFromUri](/dotnet/api/azure.storage.blobs.specialized.blockblobclient.stageblockfromuri)<br>[StageBlockFromUriAsync](/dotnet/api/azure.storage.blobs.specialized.blockblobclient.stageblockfromuriasync) | [Copy a blob from a source object URL with .NET](storage-blob-copy-url-dotnet.md) |
26+
| [Copy Blob](/rest/api/storageservices/copy-blob) | This operation can be used when you want asynchronous scheduling for a copy operation. | [StartCopyFromUri](/dotnet/api/azure.storage.blobs.specialized.blobbaseclient.startcopyfromuri)<br>[StartCopyFromUriAsync](/dotnet/api/azure.storage.blobs.specialized.blobbaseclient.startcopyfromuriasync) | [Copy a blob with asynchronous scheduling using .NET](storage-blob-copy-async-dotnet.md) |
2727

2828
For append blobs, you can use the [Append Block From URL](/rest/api/storageservices/append-block-from-url) operation to commit a new block of data to the end of an existing append blob. The following client library methods wrap this operation:
2929

0 commit comments

Comments
 (0)