无法将Blob从一个容器复制到另一个容器

兰迪·明德

我正在创建一个控制台应用程序,它将所有容器中的所有blob从我们用于生产的帐户复制到我们用于开发的另一个帐户。我有以下方法可以做到这一点。'productionStorage'和'developmentStorage'对象位于另一个存储Azure存储客户端方法的程序集中。

    static void CopyBlobsToDevelopment()
    {
        // Get a list of containers in production
        List<CloudBlobContainer> productionBlobContainers = productionStorage.GetContainerList();

        // For each container in production...
        foreach (var productionContainer in productionBlobContainers)
        {
            // Get a list of blobs in the production container
            var blobList = productionStorage.GetBlobList(productionContainer.Name);

            // Need a referencee to the development container
            var developmentContainer = developmentStorage.GetContainer(productionContainer.Name);

            // For each blob in the production container...
            foreach (var blob in blobList)
            {
                CloudBlockBlob targetBlob = developmentContainer.GetBlockBlobReference(blob.Name);
                targetBlob.StartCopyFromBlob(new Uri(blob.Uri.AbsoluteUri));
            }
        }
    }

targetBlob.StartCopyFromBlob()在行上遇到错误(404)但是我不明白为什么会出现404错误。Blob确实存在于源(生产)中,我想将其复制到目标(开发)中。不知道我在做什么错。

停止捐款

由于源Blob容器的ACL为Private,因此您需要做的是创建具有Read权限的SAS令牌(在Blob容器上或在该容器中的各个Blob上),然后将此SAS令牌附加到Blob的URL上。请在下面查看修改后的代码:

    static void CopyBlobsToDevelopment()
    {
        // Get a list of containers in production
        List<CloudBlobContainer> productionBlobContainers = productionStorage.GetContainerList();

        // For each container in production...
        foreach (var productionContainer in productionBlobContainers)
        {
            //Gaurav --> create a SAS on source blob container with "read" permission. We will just append this SAS
            var sasToken = productionContainer.GetSharedAccessSignature(new SharedAccessBlobPolicy()
            {
                Permissions = SharedAccessBlobPermissions.Read,
                SharedAccessExpiryTime = DateTime.UtcNow.AddDays(1),
            });
            // Get a list of blobs in the production container
            var blobList = productionStorage.GetBlobList(productionContainer.Name);

            // Need a referencee to the development container
            var developmentContainer = developmentStorage.GetContainer(productionContainer.Name);

            // For each blob in the production container...
            foreach (var blob in blobList)
            {
                CloudBlockBlob targetBlob = developmentContainer.GetBlockBlobReference(blob.Name);
                targetBlob.StartCopyFromBlob(new Uri(blob.Uri.AbsoluteUri + sasToken));
            }
        }
    }

我尚未尝试运行此代码,因此,如果您在使用此代码时遇到任何错误,请原谅。但希望您能明白。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将范围从一个容器复制到另一个容器

来自分类Dev

将架构从一个容器复制到另一个

来自分类Dev

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

来自分类Dev

将$ Logs容器数据复制到另一个Blob位置

来自分类Dev

通过运行手册将一个 blob 容器数据复制到 azure 中的另一个 blob 容器中

来自分类Dev

是否可以轻松地将记录从一个CloudKit容器复制到另一个容器?

来自分类Dev

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

来自分类Dev

将像素从一个图像复制到另一个

来自分类Dev

将文件从一个目录复制到另一个

来自分类Dev

将元素从一个内存复制到另一个

来自分类Dev

将数据从一个hbase表复制到另一个

来自分类Dev

将Android Activity从一个应用复制到另一个

来自分类Dev

将数据从一个表复制到另一个表

来自分类Dev

将内容从一个元素复制到另一个

来自分类Dev

将条件从一个对象复制到另一个对象

来自分类Dev

将特定的列从一个DataTable复制到另一个

来自分类Dev

将JS事件从一个元素复制到另一个

来自分类Dev

将消息从一个队列复制到另一个队列

来自分类Dev

将文件从一个目录复制到另一个目录

来自分类Dev

将几列从一个表复制到另一个

来自分类Dev

将文件从一个拉链复制到另一个?

来自分类Dev

将文件从一个拉链复制到另一个?

来自分类Dev

将文件从一个NAS复制到另一个

来自分类Dev

将特定的列从一个DataTable复制到另一个

来自分类Dev

将文件从一个目录复制到另一个目录

来自分类Dev

将文本从一个终端复制到另一个终端

来自分类Dev

将数据从一个hbase表复制到另一个

来自分类Dev

将文件从一个目录复制到另一个目录

来自分类Dev

将条目从一个keepass文件复制到另一个

Related 相关文章

  1. 1

    将范围从一个容器复制到另一个容器

  2. 2

    将架构从一个容器复制到另一个

  3. 3

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

  4. 4

    将$ Logs容器数据复制到另一个Blob位置

  5. 5

    通过运行手册将一个 blob 容器数据复制到 azure 中的另一个 blob 容器中

  6. 6

    是否可以轻松地将记录从一个CloudKit容器复制到另一个容器?

  7. 7

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

  8. 8

    将像素从一个图像复制到另一个

  9. 9

    将文件从一个目录复制到另一个

  10. 10

    将元素从一个内存复制到另一个

  11. 11

    将数据从一个hbase表复制到另一个

  12. 12

    将Android Activity从一个应用复制到另一个

  13. 13

    将数据从一个表复制到另一个表

  14. 14

    将内容从一个元素复制到另一个

  15. 15

    将条件从一个对象复制到另一个对象

  16. 16

    将特定的列从一个DataTable复制到另一个

  17. 17

    将JS事件从一个元素复制到另一个

  18. 18

    将消息从一个队列复制到另一个队列

  19. 19

    将文件从一个目录复制到另一个目录

  20. 20

    将几列从一个表复制到另一个

  21. 21

    将文件从一个拉链复制到另一个?

  22. 22

    将文件从一个拉链复制到另一个?

  23. 23

    将文件从一个NAS复制到另一个

  24. 24

    将特定的列从一个DataTable复制到另一个

  25. 25

    将文件从一个目录复制到另一个目录

  26. 26

    将文本从一个终端复制到另一个终端

  27. 27

    将数据从一个hbase表复制到另一个

  28. 28

    将文件从一个目录复制到另一个目录

  29. 29

    将条目从一个keepass文件复制到另一个

热门标签

归档