如何从本地计算机上运行的Windows应用程序调用Azure上的Azure函数,而无需在应用程序中嵌入键?
是否有类似于WCF服务的客户端代理生成器,而是Azure功能?或者你只是使用网络客户端?
答案 0 :(得分:2)
如果您的azure功能应用程序正在使用HttpTrigger,则它与任何非Azure WebAPI应用程序没有什么不同。您可以使用基本的HttpClient
或者像RestSharp这样的包装器库通过休息客户端调用它。
您无需处理任何特殊内容,请查找有关如何调用WebAPI应用程序的任何教程以获取更多信息。
答案 1 :(得分:1)
从.NET应用程序调用Azure功能只需向端点发出HTTP请求:https://social.msdn.microsoft.com/Forums/azure/en-US/2c676980-8dd3-4112-ae41-a2c4f4825fe3/how-to-call-a-azure-function-from-aspnet-webhook?forum=AzureFunctions
Azure和客户端应用程序之间的通信使用SSL加密。
就密钥而言,您可以将其硬编码到客户端代码或配置中,也可以从您的某些服务中检索它。
答案 2 :(得分:1)
您可以使用Restsharp访问Azure功能。
您将需要从门户网站获取包含主机密钥的完整网址。
在门户中导航至您的功能。
使用函数的</> Get function URL
链接获取完整的URL(位于页面顶部的“运行”按钮旁边)。密钥在“ code =“
var fullUrl = "https://myfunciton1000.azurewebsites.net/api/ResourceGroupNameExists?code=ENp/dFAluLqHM8TDr...Sk5YJ7DSEbs0PHPzTVw==";
var url = "https://myfunciton1000.azurewebsites.net/api";
var securityCode = "ENp/dFAluLqHM8TDr...YJ7DSEbs0PHPzTVw==";
var client = new RestSharp.RestClient(url);
var request = new RestSharp.RestRequest("ResourceGroupNameExists", RestSharp.Method.POST);
request.AddHeader("x-functions-key", securityCode);
request.AddQueryParameter("ResourceGroupName", "ImageStormSource");
var response = client.Execute(request);