Bibliothèque cliente commune de déplacement des données du stockage Azure pour .NET - version 12.0.0-beta.3
Version du serveur : 2021-02-12, 2020-12-06, 2020-10-02, 2020-08-04, 2020-06-12, 2020-04-08, 2020-02-10, 2019-12-12, 2019-07-07 et 2020-02-02
Stockage Azure est un service géré par Microsoft qui fournit un stockage cloud hautement disponible, sécurisé, durable, évolutif et redondant.
La bibliothèque de déplacement des données du stockage Azure est optimisée pour le chargement, le téléchargement et la copie des données client.
Actuellement, cette version de la bibliothèque de déplacement de données prend uniquement en charge les objets blob.
| Code sourceDocumentation de référence sur les | APIDocumentation | sur l’API RESTDocumentation produit
Prise en main
Installer le package
Installez la bibliothèque cliente stockage Azure pour .NET que vous souhaitez utiliser avec NuGet et la Azure.Storage.DataMovement
bibliothèque cliente sera incluse :
dotnet add package Azure.Storage.DataMovement --prerelease
Prérequis
Vous avez besoin d’un abonnement Azure et d’un compte de stockage pour utiliser ce package.
Pour créer un compte de stockage, vous pouvez utiliser le portail Azure, Azure PowerShell ou Azure CLI. Voici un exemple utilisant Azure CLI :
az storage account create --name MyStorageAccount --resource-group MyResourceGroup --location westus --sku Standard_LRS
Authentifier le client
Pour interagir avec la bibliothèque de déplacement de données, vous devez créer un instance avec la classe TransferManager.
Créer une instance de TransferManager
TransferManager transferManager = new TransferManager(new TransferManagerOptions());
Créer une instance de TransferManager avec options
// Create BlobTransferManager with event handler in Options bag
TransferManagerOptions transferManagerOptions = new TransferManagerOptions();
TransferOptions options = new TransferOptions()
{
MaximumTransferChunkSize = 4 * Constants.MB,
CreateMode = StorageResourceCreateMode.Overwrite,
};
TransferManager transferManager = new TransferManager(transferManagerOptions);
Concepts clés
La bibliothèque cliente commune stockage Azure contient une infrastructure partagée, comme les informations d’identification d’authentification et RequestFailedException.
Sécurité des threads
Nous garantissons que toutes les méthodes de instance client sont thread-safe et indépendantes les unes des autres (instructions). Cela garantit que la recommandation de réutilisation des instances clientes est toujours sécurisée, même entre les threads.
Concepts supplémentaires
Options | du clientAccès à la réponse | Opérations | de longue duréeGestion des défaillances | Diagnostics | Moqueur | Durée de vie du client
Exemples
Consultez les exemples pour Blobs DataMovement.
Suspendre un transfert à l’aide de TransferManager à l’aide de l’objet DataTransfer respectif
DataTransfer dataTransfer = await transferManager.StartTransferAsync(
sourceResource: sourceResource,
destinationResource: destinationResource);
// Pause from the Transfer Manager using the DataTransfer object
await transferManager.PauseTransferIfRunningAsync(dataTransfer);
Suspendre un transfert à l’aide de TransferManager à l’aide de l’ID de transfert respectif
DataTransfer dataTransfer = await transferManager.StartTransferAsync(
sourceResource: sourceResource,
destinationResource: destinationResource);
string transferId = dataTransfer.Id;
// Pause from the Transfer Manager using the Transfer Id
await transferManager.PauseTransferIfRunningAsync(transferId);
Suspendre un transfert à l’aide du DataTransfer respectif
DataTransfer dataTransfer = await transferManager.StartTransferAsync(
sourceResource: sourceResource,
destinationResource: destinationResource);
// Pause from the DataTransfer object
await dataTransfer.PauseIfRunningAsync();
Reprendre un transfert
async Task<(StorageResource Source, StorageResource Destination)> MakeResourcesAsync(DataTransferProperties info)
{
StorageResource sourceResource = null, destinationResource = null;
if (BlobStorageResources.TryGetResourceProviders(
info,
out BlobStorageResourceProvider blobSrcProvider,
out BlobStorageResourceProvider blobDstProvider))
{
sourceResource ??= await blobSrcProvider.MakeResourceAsync(GetMyCredential(info.SourcePath));
destinationResource ??= await blobSrcProvider.MakeResourceAsync(GetMyCredential(info.DestinationPath));
}
if (LocalStorageResources.TryGetResourceProviders(
info,
out LocalStorageResourceProvider localSrcProvider,
out LocalStorageResourceProvider localDstProvider))
{
sourceResource ??= localSrcProvider.MakeResource();
destinationResource ??= localDstProvider.MakeResource();
}
return (sourceResource, destinationResource);
}
List<DataTransfer> resumedTransfers = new();
await foreach (DataTransferProperties transferProperties in transferManager.GetResumableTransfersAsync())
{
(StorageResource resumeSource, StorageResource resumeDestination) = await MakeResourcesAsync(transferProperties);
resumedTransfers.Add(await transferManager.ResumeTransferAsync(transferProperties.TransferId, resumeSource, resumeDestination));
}
Résolution des problèmes
Tous les services de stockage Azure lèvent une exception RequestFailedException avec des s utilesErrorCode
.
Étapes suivantes
Prise en main de nos exemples Blob DataMovement.
Contribution
Consultez la CONTRIBUTING.md stockage pour plus d’informations sur la création, le test et la contribution à ces bibliothèques.
Ce projet accepte les contributions et les suggestions. La plupart des contributions vous demandent d’accepter un contrat de licence de contribution (CLA) déclarant que vous avez le droit de nous accorder, et que vous nous accordez réellement, les droits d’utilisation de votre contribution. Pour plus d’informations, visitez cla.microsoft.com.
Ce projet a adopté le Code de conduite Open Source de Microsoft. Pour plus d’informations, consultez les Questions fréquentes (FAQ) sur le code de conduite ou envoyez vos questions ou vos commentaires à opencode@microsoft.com.