[英]Assembly referencing in azure-functions
#r "System.Data"
#r "System.Threading"
#r "Microsoft.WindowsAzure.Storage"
using System.Net;
using System.Data;
using System.Data.SqlClient;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Blob;
using Microsoft.WindowsAzure.Storage.DataMovement;
public static async Task<HttpResponseMessage> Run(HttpRequestMessage req,
TraceWriter log)
{
log.Info("C# HTTP trigger function processed a request.");
// parse query parameter
string name = req.GetQueryNameValuePairs()
.FirstOrDefault(q => string.Compare(q.Key, "name", true) == 0)
.Value;
if (name == null)
{
// Get request body
dynamic data = await req.Content.ReadAsAsync<object>();
name = data?.name;
}
return name == null
? req.CreateResponse(HttpStatusCode.BadRequest, "Please pass a name on the query string or in the request body")
: req.CreateResponse(HttpStatusCode.OK, "Hello " + name);
}
我正在尝试使用Httptriggered Azure函数在云Blob容器之间运行DataMovement。 但是我一直收到以下错误:
2018-02-06T23:59:58.392 run.csx(12,38):错误CS0234:名称空间'Microsoft.WindowsAzure.Storage'中不存在类型或名称空间名称'DataMovement'(您是否缺少程序集引用? )2018-02-06T23:59:58.407执行功能时发生异常:功能。 Microsoft.Azure.WebJobs.Script:脚本编译失败。 2018-02-06T23:59:58.407功能已完成(失败,Id = 72ab129f-706e-497c-ac70-fcebdd3b41ec,持续时间= 131ms)
我是否可以使用比此处提供的列表更多的程序集: https : //docs.microsoft.com/zh-cn/azure/azure-functions/functions-reference-csharp#referencing-external-assemblies
或不? 如果是这样,怎么办?
类型或名称空间名称“ DataMovement”在名称空间“ Microsoft.WindowsAzure.Storage”中不存在
根据您的错误,我们知道DataMovement引用不在Microsoft.WindowsAzure.Storage包中。
它属于' Microsoft.Azure.Storage.DataMovement '包。 您可以参考我的方法在Azure门户的Azure函数中安装它。
单击Azure函数>查看文件>添加一个名为'project.json'的新文件(如果不存在)。在此文件中编写以下代码,然后单击运行以安装软件包:
{ "frameworks": { "net46":{ "dependencies": { "Microsoft.Azure.Storage.DataMovement": "0.7.0" } } } }
然后,我们可以使用“ Microsoft.WindowsAzure.Storage.DataMovement”参考:
我可以使用比此处提供的列表更多的程序集吗?
是的,您可以在project.json文件中添加程序集,然后运行它进行安装。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.