Azure 函数中 SSH 私钥和临时 SFTP 下载数据的位置
Location for SSH private key and temporary SFTP download data in Azure functions
我正在编写一个 Azure 函数,该函数使用 WinSCP 库通过 SFTP 下载文件并将文件上传到 blob 存储。该库不允许以 Stream
形式获取文件。唯一的选择是在本地下载它们。我的代码还使用私钥文件。所以我有2个问题。
sessionOptions.SshPrivateKeyPath = Path.GetFullPath("privateKey2.ppk");
在本地工作。我已经在带有“复制到输出”选项的解决方案中添加了这个文件并且它有效。但是部署了Azure函数就可以了吗?
在获取文件时,我需要指定要下载文件的本地路径。
var transferResult = session.GetFiles(
file.FullName, Path.GetTempPath() + @"SomeFolder\" + file.Name, false,
transferOptions);
第二个参数为本地路径
在部署 Azure 功能时,我应该使用什么来代替 Path.GetTempPath()
?
对于私钥,只需将其与您的函数项目一起部署即可。您可以简单地将它添加到您的 VS 项目中。
另见 。
下载:最新版本的WinSCP已经支持流式传输文件。使用 Session.GetFile
method.
要回答有关临时位置的问题,请参阅:
- Azure Functions Temp storage.
我正在编写一个 Azure 函数,该函数使用 WinSCP 库通过 SFTP 下载文件并将文件上传到 blob 存储。该库不允许以 Stream
形式获取文件。唯一的选择是在本地下载它们。我的代码还使用私钥文件。所以我有2个问题。
sessionOptions.SshPrivateKeyPath = Path.GetFullPath("privateKey2.ppk");
在本地工作。我已经在带有“复制到输出”选项的解决方案中添加了这个文件并且它有效。但是部署了Azure函数就可以了吗?
在获取文件时,我需要指定要下载文件的本地路径。
var transferResult = session.GetFiles( file.FullName, Path.GetTempPath() + @"SomeFolder\" + file.Name, false, transferOptions);
第二个参数为本地路径
在部署 Azure 功能时,我应该使用什么来代替
Path.GetTempPath()
?
对于私钥,只需将其与您的函数项目一起部署即可。您可以简单地将它添加到您的 VS 项目中。
另见
下载:最新版本的WinSCP已经支持流式传输文件。使用 Session.GetFile
method.
要回答有关临时位置的问题,请参阅:
- Azure Functions Temp storage.