是否有机会创建自定义REST服务而无需创建虚拟机(无论是其他服务器还是软件都可以直接使用azure SQL)来提供服务。
情况:
我想将此过程称为REST服务,向它们发送参数(string,int)并以JSON格式获取结果。我也对这种服务的访问控制感兴趣。
我可以使用自己的软件(连接到Azure SQL)创建所有内容,但在azure本身是否有这样的机会?
我不需要完整的解决方案,如果可能的话我需要一个答案,我应该使用什么样的解决方案(资源)。我已经阅读了很多,但我仍然无法找到解决方案。
rem:我需要Azure,因为它在项目中使用了它的存储和分析引擎。
答案 0 :(得分:4)
Azure WebApp或Azure功能将成为您的选择,它们提供了运行代码的能力,而无需管理底层结构。根据您的情况,您可能会选择其中一种。
答案 1 :(得分:2)
我认为最简单的方法是使用Azure函数和Http Trigger模板。您唯一需要做的就是从内容或查询字符串中提取变量:
using System.Net;
using System.Threading.Tasks;
public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log)
{
log.Info($"C# HTTP trigger function processed a request. RequestUri={req.RequestUri}");
// parse query parameter
string name = req.GetQueryNameValuePairs()
.FirstOrDefault(q => string.Compare(q.Key, "name", true) == 0)
.Value;
// Get request body
dynamic data = await req.Content.ReadAsAsync<object>();
// Set name to query string or body data
name = 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);
}
更多信息:https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook
答案 2 :(得分:0)
我肯定会推荐Azure功能。在前面的答案中,您可以看到如何生成响应,以下是如何调用存储过程的示例 - https://www.codeproject.com/Articles/1169531/Sending-events-from-Azure-Event-Hub-to-Azure-SQL-D
Azure SQL具有FOR JSON子句,可以将sql查询的结果转换为JSON文本,因此您可以直接将其作为Http响应进行流式处理。