无需中间文件即可将Azure Blob直接上传到SFTP服务器

时间:2019-07-16 21:41:39

标签: c# .net sftp azure-blob-storage ssh.net

我正在尝试将Azure Azure Blob直接上传到SFTP服务器。

从本地位置上传文件很简单:

using (var sftp = new SftpClient(connectionInfo)){
    sftp.Connect();
    using (var uplfileStream = System.IO.File.OpenRead(fileName)){
        sftp.UploadFile(uplfileStream, fileName, true);
    }
    sftp.Disconnect();
}

是否可以将Blob从Blob存储直接复制到SFTP服务器?

1 个答案:

答案 0 :(得分:1)

  1. CloudBlob.OpenReadSftpClient.UploadFile组合在一起:

    $request->request->all()
  2. 或将SftpClient.CreateCloudBlob.DownloadToStream组合:

    using (var blobReadStream = blockBlob.OpenRead())
    {
        sftp.UploadFile(blobReadStream, remotePath, true);
    }
    

using (var sftpWriteStream = sftp.Create(remotePath)) { blockBlob.DownloadToStream(sftpWriteStream); } 返回的SftpClient.UploadFile相比,第一种方法应该是使用SFTP术语的方法,因为SftpFileStream得到了优化。