假设我在 Azure Batch 虚拟机池中并行运行了一堆类似的任务。这些任务连接到 SQL 数据库并使用 sqlcmd 提取单个表的数据。然后通过管道将表输出传输到 7zip.exe 进行压缩。所以,命令行类似于(注意那些“”)
cmd/c sqlcmd -i.\table.sql -S 。 -E -s ","-I -h -1 -W| “c:\Program Files\7-Zip\7z.exe”a -tbzip2 -si“out.csv.bz2”
这里的问题是,通常数据会作为 out.csv.bz2 文件保存到每个虚拟机的本地存储中。但是,在 Azure Batch 下,一旦任务完成,从池中分配的 VM 就会消失。因此,我需要一种机制来将所有这些 out.csv.bz2 文件收集到 Azure 存储帐户(例如 Azure Blob 存储或 Data Lake 存储)。我似乎没有在 Azure Batch 中找到一种机制来将输出重定向/持久化,而不是将本地 VM 存储直接重定向到 Azure 存储来执行命令行任务。
有谁知道如何实现这一点吗?
最佳答案
如果您位于 VirtualMachineConfiguration 池上,则可以使用 OutputFile上传到 Azure 存储 Blob。 CloudServiceConfiguration 池中尚不支持此功能。
对于 CloudServiceConfiguration 池,请参阅 this related question .
关于azure - 将 Azure Batch 任务输出保留到 Azure 存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44185994/