我正在编写一个C#程序来将文件从Sftp移动到Azure容器。使用visual studio我可以将文件从sftp移动到容器。我想通过Azure功能应用程序来实现它。下面是我在visual studio中编写的代码。在azure功能应用程序中我收到很多错误,包括未找到引用。 任何人都可以建议我如何在azure功能应用程序中使用此代码?
using System;
using System.Threading;
using System.IO;
using System.Configuration;
using Renci.SshNet;
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Blob;
using Microsoft.WindowsAzure.Storage.Auth;
using Newtonsoft.Json;
using System.Linq;
using Microsoft.Win32;
using System.Xml;
using System.Collections.Generic;
public class CloudStorageAccount
{
const string host = "";
const string username = "";
const string password = "";
const string workingdirectory = "/home/Inbound/";
const int port = 22;
//Connection to the sftp
const string StorageAccountName = "";
const string StorageAccountKey = "";
StorageCredentials storageCredentials = new
StorageCredentials(StorageAccountName, StorageAccountKey);
CloudStorageAccount cloudStorageAccount = new
CloudStorageAccount(storageCredentials, useHttps: true);
CloudBlobClient blobClient = cloudStorageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("sample");
var blobs = container.ListBlobs();
using (var client = new SftpClient(host, port, username, password))
{
client.Connect();
client.ChangeDirectory(workingdirectory);
var listDirectory = client.ListDirectory(workingdirectory);
foreach (var fi in listDirectory)
{
if (fi.Name.Contains(".txt"))
{
string remoteFileName = fi.Name;
using (StreamReader file1 = new
StreamReader(client.OpenRead(source + remoteFileName)))
{
String oldContent = file1.ReadToEnd();
CloudBlockBlob blob = container.GetBlockBlobReference(remoteFileName);
blob.UploadText(oldContent);
}
}
}
}
}
由于
答案 0 :(得分:0)
您需要确保通过Rensi.SshNet
包含所有非框架依赖项(Newtonsoft.Json
,project.json
)。见related issue on github。您可能需要通过System
样式调用包含框架依赖项(以#r "System.Linq"
开头)。
答案 1 :(得分:0)
在此之前,您可以参考an introduction to Azure Functions以了解有关Azure功能的更多信息。
我们也可以创建Azure function Application with VS。您可以按照此tutorial进行操作。
在天蓝色功能应用程序中,我收到很多错误,包括未找到引用。
如果可能,异常屏幕截图会更有帮助。