我正在执行一个 azure-batch 作业,它创建一个 zip 文件作为其输出。批处理由负责将输出文件移动到 blob 的协调器执行。我有这个工作,但感觉很笨重 - 即我将文件本地下载到协调器然后上传到 blob:
CloudTask task; // executed task...
var node = task.GetNodeFile(fileName);
using (var stream = File.OpenWrite(localFile))
{
node.CopyToStream(stream);
}
var blobRef = _blobContainer.GetBlockBlobReference(blobFileName);
blobRef.UploadFromFile(localFile, FileMode.Open);
我尝试将 blob 流直接传递给 CopyToStream 方法,但没有任何内容移动到 blob:
node.CopyToStream(blobRef.OpenWrite());
是否可以在没有这个额外跃点的情况下将输出文件从批处理 vm 复制到 blob?