【问题标题】:Azure Automation RunBook Download File from Blob To VMAzure 自动化 RunBook 将文件从 Blob 下载到 VM
【发布时间】:2017-06-06 19:33:29
【问题描述】:

有没有办法使用 Azure 自动化从 Azure 存储下载文件?我目前可以使用库中的模板连接到 VM 以创建文件/文件夹,但是如何从存储中下载文件?

我目前正在尝试使用来自 Invoke-command -ScriptBlock 的 Get-AzureStorageBlob 命令

【问题讨论】:

    标签: azure azure-blob-storage azure-powershell


    【解决方案1】:

    如果您尝试使用 powershell cmdlet,您需要记住在执行它们之前登录到 Azure。见the documentation。您需要在远程计算机上登录(即:在脚本块内)。

    另一种方法是让 azcopy 可访问,并通过自动化凭据简单地传递关键信息。

    【讨论】:

    • 我可以使用基本的 PS 命令在脚本块内创建文件。前任。新物品。我将尝试使用 AzCopy,但可能需要先通过 DSC 安装它。谢谢你的推荐,我会试试看的。
    【解决方案2】:

    如果您想这样做,根据我的经验,您需要执行以下步骤。

    1.在目标 VM 上安装 Azure PowerShell。

    2.在您的虚拟机上启用 Winrm,您需要在 Windows 防火墙和 Azure NSG 上打开端口 5986。您还需要 VM 上的配置证书。您可以逐步检查此blog,以在 Azure VM 上启用 winrm。

    注意:你应该在 https 上启用 winrm 监听,如果你在 http 上启用它,你不能在 runbook 脚本上 winrm 你的虚拟机。

    3.在Runbook中登录你的Azure订阅,你可以参考这个link关于这个。

    4.使用New-PSSession 在 Runbook 中登录您的 VM 并执行您的 PowerShell cmlet。你可以查看我的answer 关于这个。

    【讨论】:

    • 我会尝试启动一个新的 PS 会话并从那里运行命令。 Azure PS 模块安装在目标计算机上。正在下载到目标 VM 的 blob 大约为 15GB。
    • @DXH 为什么不在目标 VM 上下载 blob?您需要每天还是每月自动下载 blob?
    • 需要此解决方案,因为我们有一个与我们的云 vnet 断开连接的客户端。每天都会进行一次数据库刷新。目前,我使用的是使用任务计划程序在 VM 上本地运行的 PS 脚本。也许我可以使用 Azure 自动化来启动存储在本地的 PS 脚本,但我正在尝试集中我的所有脚本,这样在多台服务器上管理它就不会是一场噩梦。此外,凭据是一个问题。每次更改密码时,我都必须在每台服务器上更新,我可以使用存储帐户密钥绕过它,但它会暴露出来。
    • @DXH 是的,您可以使用自动化帐户来执行本地 PowerShell 脚本。您应该做的是您需要 Runbook 来登录您的 VM,但如果您的 VM 的凭据发生更改,如果可能,您可以创建一个使用 Runbook 执行本地脚本的帐户。如果您只想赢取您的 VM,则无需登录您的 Azure 订阅。
    猜你喜欢
    • 2020-11-11
    • 2019-11-06
    • 1970-01-01
    • 2020-03-24
    • 2020-08-18
    • 2017-08-20
    • 2019-05-17
    • 2017-05-06
    相关资源
    最近更新 更多