zoukankan      html  css  js  c++  java
  • Azure Blob数据迁移工具

    数据迁移备份,更多的应用场景见https://docs.azure.cn/zh-cn/storage/common/storage-moving-data?toc=%2fstorage%2fblobs%2ftoc.json

    本文档是针对近期数据冷热备份实际工作的一个小结。实际使用过Azcopy和AzureClient这两种方式。据与Microsoft的交流,目前的工具都没有提供内置压缩算法(Azcopy正在开发中)。

    1、Azcopy

    AzCopy 是一个 Windows 命令行实用程序,用于将数据高性能复制到 Azure 存储(或从中进行复制)。 还可在存储帐户内或在存储帐户间复制数据。

    具体的命令请参考https://docs.azure.cn/zh-cn/storage/common/storage-use-azcopy

    本文要说的一个点:关于权限。

    通过Azcopy移动数据后,目标数据的权限跟源数据的权限完全一致(Linux目录和文件的权限,包括owner/group/permissions)。如果前后两个环境的owner/group不一致,则复制后的数据可能存在权限问题。

    2、WindowsAzure.Storage Client

     参考:

    https://docs.azure.cn/zh-cn/storage/files/storage-dotnet-how-to-use-files?toc=%2fstorage%2fblobs%2ftoc.json

    该方法同样要说的一个点,也是权限问题。

    新new出来的blob实例,是不带权限的,需要手工赋值。

    CloudBlockBlob hotBlockBlob = this.hotBlobContainer.GetBlockBlobReference(hotBlockName);
    this.SetProperties(hotBlockBlob.Properties, blob.Properties);
    if (blobFloderNames.Contains(blob.Name))
    {
      hotBlockBlob.Metadata.Add("hdi_isfolder", "true");
       hotBlockBlob.Metadata.Add("hdi_permission", "{"owner":""+ hotPermission_Owner + "","group":""+ hotPermission_Group + "","permissions":"rwxr-xr-x"}");
    }else
       hotBlockBlob.Metadata.Add("hdi_permission", "{"owner":"" + hotPermission_Owner + "","group":"" + hotPermission_Group + "","permissions":"rw-r--r--"}");

    3、Microsoft.Azure.Storage.DataMovement

     参考:https://www.nuget.org/packages/Microsoft.Azure.Storage.DataMovement

  • 相关阅读:
    SQLite常用SQL语句
    delphi设计浮动窗口
    在Delphi中使用键盘勾子获取键盘输入(译--5月7日)
    Delphi制作软键盘
    Delphi格式化输出函数(1): Format
    《你不知道的 CSS》之等比例缩放的盒子
    请用心练完这16个webpack小例子
    JavaScript高级内容笔记:原型链、继承、执行上下文、作用域链、闭包
    表格组件神器:bootstrap table详细使用指南
    玩转JavaScript正则表达式
  • 原文地址:https://www.cnblogs.com/xianhan/p/7475116.html
Copyright © 2011-2022 走看看