如何将 Azure 文件复制到 Azure Blob?

纯克罗姆

我有一些文件位于 Azure 文件存储中。

我正在尝试以编程方式将它们存档到 Azure Blob,但我不确定如何有效地做到这一点

我一直看到关于从一个 blob 容器复制到另一个 blob 容器的代码示例......但不是从File复制到 Blob

是否可以不在本地下载整个文件内容然后上传此内容?也许使用 Uri's 之类的?

更多信息:

  1. File 和 Blob 容器位于同一个存储帐户中。
  2. 存储帐户是 RA-GRS

这是我正在考虑做的一些示例代码..但是感觉不太好:((伪代码也..带有验证和检查的内容)。

var file = await ShareRootDirectory.GetFileReference(fileName);
using (var stream = new MemoryStream())
{
    await file.DownloadToStreamAsync(stream);

    // Custom method that basically does:
    // 1. GetBlockBlobReference
    // 2. UploadFromStreamAsync
    await cloudBlob.AddItemAsync("some-container", stream);
}
Tom Sun - MSFT

如何将 Azure 文件复制到 Azure Blob?

我们也可以使用CloudBlockBlob.StartCopy(CloudFile)CloudFile类型也可以被 CloudBlockBlob.StartCopy 函数接受。如何将 CloudFile 复制到 blob 请参考文档以下演示代码是文档中的片段。

// Parse the connection string for the storage account.
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
    Microsoft.Azure.CloudConfigurationManager.GetSetting("StorageConnectionString"));

// Create a CloudFileClient object for credentialed access to File storage.
CloudFileClient fileClient = storageAccount.CreateCloudFileClient();

// Create a new file share, if it does not already exist.
CloudFileShare share = fileClient.GetShareReference("sample-share");
share.CreateIfNotExists();

// Create a new file in the root directory.
CloudFile sourceFile = share.GetRootDirectoryReference().GetFileReference("sample-file.txt");
sourceFile.UploadText("A sample file in the root directory.");

// Get a reference to the blob to which the file will be copied.
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("sample-container");
container.CreateIfNotExists();
CloudBlockBlob destBlob = container.GetBlockBlobReference("sample-blob.txt");

// Create a SAS for the file that's valid for 24 hours.
// Note that when you are copying a file to a blob, or a blob to a file, you must use a SAS
// to authenticate access to the source object, even if you are copying within the same
// storage account.
string fileSas = sourceFile.GetSharedAccessSignature(new SharedAccessFilePolicy()
{
    // Only read permissions are required for the source file.
    Permissions = SharedAccessFilePermissions.Read,
    SharedAccessExpiryTime = DateTime.UtcNow.AddHours(24)
});

// Construct the URI to the source file, including the SAS token.
Uri fileSasUri = new Uri(sourceFile.StorageUri.PrimaryUri.ToString() + fileSas);

// Copy the file to the blob.
destBlob.StartCopy(fileSasUri);

笔记:

如果要将 Blob 复制到文件,或将文件复制到 Blob,则必须使用共享访问签名 (SAS) 对源对象进行身份验证,即使是在同一存储帐户内复制也是如此

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将文件从URL复制到Azure BLOB

来自分类Dev

VSTS 将文件复制到 Azure Blob

来自分类Dev

如何将 Azure blob 中的文件复制到 Linux 中的某些路径

来自分类Dev

从Azure管道将多平台复制文件复制到Azure Blob存储

来自分类Dev

Azure DevOps-将文件复制到Blob存储时,AzureBlob文件复制任务失败

来自分类Dev

Nodejs Azure存储将Blob复制到新Blob

来自分类Dev

将 Blob 从 Azure 存储帐户复制到网络路径

来自分类Dev

将文件复制到Azure VM

来自分类Dev

Azure管道-解压缩伪影,将一个目录复制到Azure Blob存储YAML文件

来自分类Dev

Azure管道-解压缩伪影,将一个目录复制到Azure Blob存储YAML文件

来自分类Dev

使用 Azure 数据工厂 V2 将本地平面文件复制到 Azure Blob

来自分类Dev

如何在 box.com 中创建时自动将文件复制到 Azure blob 存储?

来自分类Dev

如何使用 Odata 链接服务将文件从共享点复制到 blob 存储 azure 数据工厂 v2

来自分类Dev

如何将Azure中的Blob复制到带有节点sdk的另一个容器

来自分类Dev

如何将文件复制到Azure Function bin文件夹中?

来自分类Dev

如何将 Azure blob 文件导入 Sql Server 2008

来自分类Dev

使用GitHub Actions将文件复制到Azure VMSS

来自分类Dev

Windows Azure Powershell将文件复制到VM

来自分类Dev

Azure函数(C#):如何将大量文件从Blob容器A复制到另一个Blob容器B?(功能在10分钟内超时)

来自分类Dev

通过Data Factory将S3文件复制到Azure Blob存储时如何保留修改日期

来自分类Dev

将现有Blob复制到Azure媒体服务时出现问题

来自分类Dev

如何将 BLOB 图像复制到文件系统

来自分类Dev

如何使用Azure数据工厂将数据复制到Azure文件服务

来自分类Dev

Azure Devops:构建一个 winforms 项目并将发布文件复制到 Azure blob 存储

来自分类Dev

Visual Studio Team Services-如何将生成的Windows服务文件复制到Azure VM

来自分类Dev

Visual Studio Team Services-如何将生成的Windows服务文件复制到Azure VM

来自分类Dev

使用Azure Data Factory将头文件从txt文件复制到其他csv文件

来自分类Dev

如何使用Azure Blob存储SDK将Blob从一个容器复制到另一个容器

来自分类Dev

有没有办法将 blob 从本地存储模拟器复制到远程 azure 存储?

Related 相关文章

  1. 1

    将文件从URL复制到Azure BLOB

  2. 2

    VSTS 将文件复制到 Azure Blob

  3. 3

    如何将 Azure blob 中的文件复制到 Linux 中的某些路径

  4. 4

    从Azure管道将多平台复制文件复制到Azure Blob存储

  5. 5

    Azure DevOps-将文件复制到Blob存储时,AzureBlob文件复制任务失败

  6. 6

    Nodejs Azure存储将Blob复制到新Blob

  7. 7

    将 Blob 从 Azure 存储帐户复制到网络路径

  8. 8

    将文件复制到Azure VM

  9. 9

    Azure管道-解压缩伪影,将一个目录复制到Azure Blob存储YAML文件

  10. 10

    Azure管道-解压缩伪影,将一个目录复制到Azure Blob存储YAML文件

  11. 11

    使用 Azure 数据工厂 V2 将本地平面文件复制到 Azure Blob

  12. 12

    如何在 box.com 中创建时自动将文件复制到 Azure blob 存储?

  13. 13

    如何使用 Odata 链接服务将文件从共享点复制到 blob 存储 azure 数据工厂 v2

  14. 14

    如何将Azure中的Blob复制到带有节点sdk的另一个容器

  15. 15

    如何将文件复制到Azure Function bin文件夹中?

  16. 16

    如何将 Azure blob 文件导入 Sql Server 2008

  17. 17

    使用GitHub Actions将文件复制到Azure VMSS

  18. 18

    Windows Azure Powershell将文件复制到VM

  19. 19

    Azure函数(C#):如何将大量文件从Blob容器A复制到另一个Blob容器B?(功能在10分钟内超时)

  20. 20

    通过Data Factory将S3文件复制到Azure Blob存储时如何保留修改日期

  21. 21

    将现有Blob复制到Azure媒体服务时出现问题

  22. 22

    如何将 BLOB 图像复制到文件系统

  23. 23

    如何使用Azure数据工厂将数据复制到Azure文件服务

  24. 24

    Azure Devops:构建一个 winforms 项目并将发布文件复制到 Azure blob 存储

  25. 25

    Visual Studio Team Services-如何将生成的Windows服务文件复制到Azure VM

  26. 26

    Visual Studio Team Services-如何将生成的Windows服务文件复制到Azure VM

  27. 27

    使用Azure Data Factory将头文件从txt文件复制到其他csv文件

  28. 28

    如何使用Azure Blob存储SDK将Blob从一个容器复制到另一个容器

  29. 29

    有没有办法将 blob 从本地存储模拟器复制到远程 azure 存储?

热门标签

归档