From 61f9e882c90b2772f274bdb2c3fb9fbe2571bf03 Mon Sep 17 00:00:00 2001 From: Nick Liu Date: Tue, 28 Jan 2025 18:30:37 -0500 Subject: [PATCH] [Storage] [DataMovement] [Docs] Known Limitations (#47999) * Initial commit * feedback * small wording change --- .../Azure.Storage.DataMovement/KnownIssues.md | 37 ++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/sdk/storage/Azure.Storage.DataMovement/KnownIssues.md b/sdk/storage/Azure.Storage.DataMovement/KnownIssues.md index eb98a6f215db6..433f96b9e2843 100644 --- a/sdk/storage/Azure.Storage.DataMovement/KnownIssues.md +++ b/sdk/storage/Azure.Storage.DataMovement/KnownIssues.md @@ -26,4 +26,39 @@ The Azure Storage REST service has various limitations as to the size of request ### Resume Behavior when Client Options are set -When calling `*StorageResourceProvider.FromClient` with a Storage Client (e.g. `BlobBaseClient`, `ShareFileClient`) initialized with `*ClientOptions` (e.g `BlobClientOptions`, `ShareClientOptions`). It is NOT guaranteed that properties set within the `*ClientOptions` will be respected when resuming a transfer. \ No newline at end of file +When calling `*StorageResourceProvider.FromClient` with a Storage Client (e.g. `BlobBaseClient`, `ShareFileClient`) initialized with `*ClientOptions` (e.g `BlobClientOptions`, `ShareClientOptions`). It is NOT guaranteed that properties set within the `*ClientOptions` will be respected when resuming a transfer. + +### Encryption Scope Support + +There is currently no support to specify an encryption scope for operations such as uploads, downloads, or copies. + +### Recursive Directory Disable Support + +Currently there is support for transferring entire directories, including all subdirectories and files within them. However, we do not offer an option to disable directory recursion. This means that users cannot copy only the files in a folder without also copying its subdirectories. + +### Blob to Share File with OAuth/Entra ID + +There is currently no support for transferring data from an Azure Storage Blob to Azure Storage Shares using authentication based on Microsoft Entra ID. + +### Resume Transfers started from any Beta version/Deprecated package + +Transfers initiated with any beta version of the DataMovement library cannot be resumed due to a schema version change from string to int, which may lead to unexpected errors. Additionally, transfers from the deprecated Microsoft.Azure.Storage.DataMovement package also cannot be resumed. + +### Blob Tag Support + +There is currently no support for managing or utilizing blob tags. This means users cannot add, retrieve, or manage blob tags during a transfer. + +### Public URL Copying + +There is currently no support for copying blobs via Public URLs. However, the library does support copying Azure Storage URLs, which can be used for moving data within the Azure Storage ecosystem. + +### Copy with a AzureSasCredential + +There is currently no support for service-to-service copy given a client that was initialized with a AzureSasCredential from `BlobStorageResourceProvider.FromClient` and/or `ShareStorageResourceProvider.FromClient`. +Here are two alternatives: +1. Use `BlobsStorageResourceProvider(AzureSasCredential)` / `ShareFilesStorageResourceProvider(AzureSasCredential)` to authenticate and then create StorageResource. +2. Initialize a client with a Uri that has a SAS included in the Uri if you still want to use `BlobStorageResourceProvider.FromClient` and/or `ShareStorageResourceProvider.FromClient`. + +### Fresh transfer vs Resumed transfer Performance + +The performance of resumed transfers is currently lower than that of fresh transfers. This is due to fetching source properties on Resume.