azure - 将 Azure Batch 任务输出保留到 Azure 存储

标签 azure 7zip sqlcmd bzip2 azure-batch

假设我在 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/

相关文章:

c# - 为什么压缩流和未压缩流的长度不同

mysql - 通过CMD导入SQL数据库

sql-server - 如何在 T-SQL 脚本中声明在运行的多个脚本中通用的变量

Azure 创建的容器未显示在门户中

azure - Hub/Spoke/AppGw 场景可以应用哪些 NSG 规则?

python - .7z 文件是否有等效的 gzip.open()?

sql-server - 如果同时使用美元和括号符号,T-SQL 会出错

azure - 如何将我的日志存储到我使用语义日志记录的 Azure 表存储中

android - Azure 空间 anchor 集成问题。缺少 NativeLibrary 实现

python - 使用 PyLZMA 和 py7zlib 将文件夹递归压缩为 7z