菜单

此页面上的内容由机器翻译完成。某些内容的质量可能并不完美。

分享反馈

如何使用 AzCopy、PowerShell 等将文件上传到 Azure Blob 存储

目录

分享该页面

Yifat Perry
Yifat Perry

将数据从现有存储库迁移到 Azure Blob 并在混合部署中保持数据同步可能是许多组织云之旅的重大障碍。有几种 Azure 本机和第三方工具和服务可帮助将数据迁移到 Azure,最常用的是 AzCopy、Azure Import/Export、Azure Powershell 和 Azure Data Box。如何知道哪个是 Azure 迁移的正确选择?

选择合适的工具取决于几个因素,包括迁移时间表、数据大小、网络带宽可用性、在线/离线迁移要求等。此博客将分享和探索这些 Azure 迁移工具以及有关如何轻松地将文件迁移到 Azure Blob 存储的简单步骤,所有这些都可以借助 NetApp Cloud Volumes ONTAP 在 Azure Blob 存储中的数据迁移、性能和保护的高级数据管理功能进行增强。

单击以了解更多信息:

将数据上载到 Azure Blob Storage 的工具

由于数据迁移和移动性是云采用的关键组成部分,Microsoft 提供多种本机工具和服务来支持客户使用这些流程。让我们详细了解其中的一些工具。

AzCopy 是一个命令行实用程序,用于将数据传输到 Azure 存储和从 Azure 存储传输数据。它是一种轻量级工具,可以安装在 Windows、Linux 或 Mac 计算机上,以启动到 Azure 的数据传输。AzCopy 可用于多种方案,用于将数据从本地传输到 Azure Blob 和 Azure Files,或从 Amazon S3 到 Azure 存储。该工具还可用于将数据复制到 Azure Stack 或从 Azure Stack 复制数据。

单击以了解如何使用 AzCopy 将数据上传到 Azure

Azure PowerShell 是将数据从本地传输到 Azure Blob 存储的另一个命令行选项。Azure PowerShell 命令 Set-AzStorageBlobContent 可以用于将数据复制到 Azure blob 存储。

单击提前查看 Azure PowerShell 及其使用方法

Azure Import/Export 是用于大型数据传输方案的物理传输方法,其中数据需要导入到 Azure Blob 存储或从 Azure Files 导出。除了大规模数据传输之外,此解决方案还可用于内容分发和数据备份/还原等用例。数据通过客户提供的 SSD 或 HDD 传输到 Azure 数据中心。

Azure Data Box 使用 Microsoft 提供的专有 Data Box 存储设备将数据传入和传出 Azure 数据中心。在数据大小超过 40 TB 且通过网络传输数据的带宽有限的情况下,建议使用该服务。最常见的用例是数据的一次性批量迁移,初始数据传输到 Azure,然后通过网络进行增量传输,以及定期上传批量数据。

如何使用 AzCopy 将文件上传到 Azure Blob Storage

AzCopy 适用于 Windows、Linux 和 MacOS 系统。由于 AzCopy 作为可执行文件运行,因此无需安装。需要下载并解压缩适用于 Windows 和 Linux 的 zip 文件才能运行该工具。对于 Linux,必须在运行命令之前下载和解压缩 tar 文件。

AzCopy 工具可以使用 Azure AD 或 SAS 令牌授权访问 Azure Blob 存储。使用 Azure AD 身份验证时,客户可以选择在启动数据复制之前使用用户帐户进行身份验证。使用自动化脚本时,可以使用服务主体或托管标识实现 Azure AD 身份验证。

在本演练中,我们将使用通过 Azure AD 用户帐户进行身份验证的 AzCopy。应在要复制数据的存储容器中以及要使用的存储帐户、资源组和订阅中为帐户分配存储 Blob 数据参与者或存储 Blob 数据所有者角色。

  1. 浏览到下载 AzCopy 的文件夹,然后运行以下命令登录:

    azcopy login
    

    复制文件 1

    您现在将看到有关如何登录 https://microsoft.com/devicelogin 的详细信息。按照输出中的说明操作,并使用提供的代码进行身份验证。

  2. 在登录页面上,输入具有存储访问权限的 Azure 凭据,然后单击"下一步"。

    输入您的 Azure 凭据
  3. 在命令行中,您会收到一条"登录成功"消息。

    登录成功消息
  4. 执行以下 AzCopy 命令在存储帐户中创建容器以上传文件:

    azcopy make "https://.blob.core.windows.net/"
    

    使用 Azure 中存储帐户的名称更新 <Azure storage account name> 占位符,使用要创建的容器名称更新 <container>。在下面,您可以看到一个示例命令:

    azcopy make "https://teststor1110.blob.core.windows.net/folder1&quot";
    
    执行 AzCopy 命令
  5. 将文件从本地计算机复制到 Storage 帐户

    azcopy copy "https://.core.windows.net//"
    

    更新上述命令中的 <Local of file in local disk> 和 <Azure storage account name> 占位符,以反映环境的值,并将 <container> 替换为在步骤 4 中创建的存储容器的名称。

    下面给出的示例命令:

    azcopy copy 'C:azcopyTestcopyolder1ile1.txt' 'https://teststor1110.blob.core.windows.net/folder1&##39';
    

    注意:在以上示例中,上述命令中的 folder1 是在步骤 4 中创建的容器。

    将文件从本地计算机复制到存储帐户

    成功完成命令后,作业状态将显示为 Completed。

  6. 要将本地文件夹中的所有文件复制到 Azure 存储容器,请运行以下命令:

    azcopy copy " 'https://.blob.core.windows.net/&#39' --recursive
    

    更新上述命令中的 <Location of folder in local disk>、<Azure storage account name> 和 <container> 占位符以反映您环境的值。示例命令如下:

    azcopy copy "C:azcopyTestcopysample" "https://teststor1110.blob.core.windows.net/folder1&quot"; --recursive
    

    您的源文件夹内容将如下所示:

    源文件夹内容
  7. 如果浏览到 Azure 门户中的存储帐户,则可以看到该文件夹已在 Azure 存储容器中创建,并且文件已复制到该文件夹中。

    此文件夹已在 Azure 存储容器内创建
  8. 要复制本地文件夹的内容而不在 Azure 存储中创建新文件夹,可以使用以下命令:

    azcopy copy "/*" 'https://.blob.core.windows.net/'
    

    下面给出的示例命令:

    azcopy copy "C:azcopyTestcopyolder2*" "https://teststor1110.blob.core.windows.net/folder1"
    
    使用上面的命令
  9. 其他文件将从名为 folder2 的本地文件夹复制到 Azure 容器 folder1,如下所示。请注意,在这种情况下,不会创建源文件夹。

    从本地文件夹复制其他文件

什么是 Azure PowerShell 以及如何使用它

Azure PowerShell cmdlet 可用于从 PowerShell 命令和脚本管理 Azure 资源。除了 AzCopy,PowerShell 还可用于将文件从本地文件夹上传到 Azure 存储。Azure PowerShell 命令 Set-AzStorageBlobContent 用于相同的目的。

使用 Azure PowerShell 将文件传输到 Azure Blob 存储

在本节中,我们将研究可用于使用 PowerShell 从 Windows 计算机将文件上传到 Azure Blob 存储的命令。

  1. 在使用管理员权限打开的 PowerShell 会话中,使用以下命令为系统上的所有用户安装最新版本的 Azure PowerShell:

    Install-Module -Name Az -AllowClobber -Scope AllUsers
    

    出现安装软件包的权限提示时,选择"是"。

    单击"是"以安装软件包
  2. 使用以下命令并在出现提示时登录到 Azure 订阅:

    连接-AzAccount
    
    Azure 登录
  3. 使用以下命令获取要用于数据传输的存储帐户上下文:

    $uploadstorage=Get-AzStorageAccount -ResourceGroupName <resource group name> -Name <storage account name>
    
    $storcontext=$uploadstorage.Context

    使用特定于您的环境的值更新占位符 <resource group name> 和 <storage account name>,如下面的示例命令所示:

    $uploadstorage=Get-AzStorageAccount -ResourceGroupName cvo177 -Name teststor1110
    

    $storcontext=$uploadstorage.Context
    更新 <resource group name> 和 <storage account name> 值
  4. 运行以下命令将文件从本地目录上传到 Azure 存储中的容器:

    Set-AzStorageBlobContent -Container “<storage container name>” -File “<Location of file in local disk>” -Context $storcontext
    

    将占位符 <storage container name> 和 <Location of file in local disk> 替换为特定于您的环境的值。示例如下:

    Set-AzStorageBlobContent -Container “<storage container name>” -File “<Location of file in local disk>” -Context $storcontext
    

    文件成功上传后,您将收到一条类似于以下屏幕截图的消息:

    文件上传确认消息
  5. 要上传当前文件夹中的所有文件,请运行以下命令

    Get-ChildItem -File -Recurse | Set-AzStorageBlobContent -Container "<storage container name>" -Context $storcontext
    

    下面给出的示例命令:

    Get-ChildItem -File -Recurse | Set-AzStorageBlobContent -Container "folder2" -Context $storcontext
    
    运行上面的命令以上传当前文件夹中的所有文件
  6. 如果您浏览到 Azure 存储容器,您会看到在步骤 4 和 5 中上传的所有文件。

    复制文件

NetApp Cloud Volumes ONTAP:加速云数据迁移

我们已经讨论了如何使用 AzCopy 和 Azure PowerShell 命令轻松实现到 Azure 的数据迁移。客户还可以利用 NetApp Cloud Volumes ONTAP 通过可信的 NetApp 复制和克隆技术将数据迁移到云。Cloud Volumes ONTAP 提供跨越本地以及多个云环境的混合数据管理解决方案。

Cloud Volumes ONTAP 的独特之处在于它通过高可用性、数据保护和存储效率功能(如重复数据删除、压缩和精简配置)为客户提供价值。Cloud Volumes ONTAP 卷可以通过 SMB/NFS 协议被 Azure 中的虚拟机访问,并通过这些功能帮助实现无与伦比的存储经济性。由于存储使用效率更高,Azure 存储成本也大大降低。

NetApp Snapshot 技术和 SnapMirror® 数据复制可以简化从本地环境到云的数据迁移。虽然可以使用 SnapShot 技术从本地 NetApp 存储获取数据的时间点备份副本,但 SnapMirror 数据复制有助于将它们复制到 Azure 中的 Cloud Volumes ONTAP 卷。该服务还可用于保持本地和云环境之间的数据同步,以实现灾难恢复目的。

NetApp FlexClone® 数据克隆技术有助于创建内部卷的存储高效可写克隆,这些克隆可以集成到 CI/CD 流程中,以在云中部署测试/开发环境。这增强了从本地到云以及云内的数据可移植性,所有这些都可以从统一的管理平台进行管理。因此,Cloud Volumes ONTAP 可帮助组织实现其应用程序的敏捷性和更快的上市时间。

另一种 NetApp 数据迁移服务是 Cloud Sync,它可以快速高效地将数据从任何存储库迁移到云中的基于对象的存储,无论是来自本地系统还是云之间。

结束语

客户可以从 AzCopy 和 Azure PowerShell 等本机工具中进行选择,将文件上传到 Azure Blob Storage。他们还可以利用 Cloud Volumes ONTAP 使用 SnapMirror 复制、NetApp 快照和 FlexClone 等功能进行高级数据管理和迁移。

后续步骤

Drift chat loading