3

这是我的场景

Invoke-sqlcmd -query "Select * from master.sys.table" -ServerInstance myserver -database -mydb | convert-csv | select -skip 2 | .\7z.exe a -si tgzip $gzipedfilename 

现在我正在$gzipedfilename使用 azcopy 将其上传到 blob 存储。当我在多个线程中运行上面的脚本时,这会导致巨大的磁盘 I/O 和队列。我正在尝试通过执行上述脚本的输出来管道 Azcopy

| .\7z.exe a -si tgzip -so | Azcopy -----

但我不知道 Azcopy 是否支持管道以及如何。有人可以帮忙吗?或者有没有其他方法可以绕过整个中间压缩文件来实现这一点?

4

3 回答 3

2

使用 azcopy_windows_amd64_10.2.1 我检查了他们的帮助

.\azcopy.exe copy --help

这表明您至少现在可以使用块 blob 使用管道

Upload a single file with a SAS using piping (block blobs only):
  - cat "/path/to/file.txt" | azcopy cp "https://..../[container]/[path/to/blob]?[SAS]"
于 2019-09-17T15:20:05.147 回答
1

是的,现在它支持示例:

cat testfile.txt | azcopy copy "https://[storage-account].blob.core.windows.net/[container]/[filename]?[sas_token]" --from-to PipeBlob

于 2021-02-23T10:11:49.630 回答
1

目前 AzCopy 不支持管道。如果您希望 AzCopy 将来支持它,您可以在http://aka.ms/azcopy下提出您的反馈。

于 2017-04-05T03:39:49.617 回答