我们使用Azure文件共享作为docker容器的数据卷,我们希望每晚备份它们。有没有一种方法可以使用.net SDK复制文件共享?
如果您正在寻找单个操作共享副本,那么它是不可用的。
您需要做的是列出共享中的所有文件和目录,然后逐个复制它们。请参阅此处的Copy Files
部分:https://azure.microsoft.com/en-in/documentation/articles/storage-dotnet-how-to-use-files/#develop-具有文件存储。
您可以做的另一件事是使用AzCopy
实用程序将整个共享复制到同一存储帐户内或跨存储帐户的另一个共享。以下是您要使用的命令:
AzCopy /Source:https://myaccount1.file.core.windows.net/myfileshare1/ /Dest:https://myaccount2.file.core.windows.net/myfileshare2/ /SourceKey:key1 /DestKey:key2 /S
另一个选项是使用Azure Storage Data Movement Library for.NET。这是AzCopy的基础库。
请查看此处的公告:https://azure.microsoft.com/en-us/blog/announcing-azure-storage-data-movement-library-0-2-0/
这里还有一个有用的示例应用程序:https://github.com/Azure/azure-storage-net-data-movement/tree/master/samples/DataMovementSamples
如果您不熟悉AzCopy,请参阅此处:https://azure.microsoft.com/en-us/documentation/articles/storage-use-azcopy/#file-复制
截至2019年12月,以下命令适用于我
azcopy copy 'https://<source-storage-account-name>.file.core.windows.net/<file-share-name>/<file-path>?<SAS-token>' 'https://<destination-storage-account-name>.file.core.windows.net/<file-share-name>/<file-path>?<SAS-token>'
文件:https://learn.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-files