我可以使用 Azure Functions 进行 SQL 查询并 return 结果吗?

Can I make a SQL query and return its result with Azure Functions?

我想将我的 C# 程序移植到 MS Azure Functions。它执行 SQL-Query 和 returns 结果(一个 IEnumerable)。我想在 PowerApps 中使用它。

我可以这样做吗?如何做?

要连接到 SQL,您需要在应用程序设置中添加连接字符串。有关详细说明,请参阅 。 这是 CSharp 中的 HTTPTrigger 示例,它使用 Linq 来 SQL 和 returns 查询结果

  • 进入功能应用程序设置 --> 转到 Kudu --> 转到 D:\home\site\wwwroot\YourFunction
  • 创建文件夹 bin
  • 上传System.Data.dll、System.Data.Linq.dll
  • 从门户网站上的查看文件 UI 或 Kudu

    上传 TodoItem.csx
    #r "System.Data.Linq.dll"
    
    using System.Data.Linq.Mapping;
    
    [Table(Name = "TodoItems")]
    public class TodoItem
    {
       [Column]
       public string Id;
       [Column]
       public string Text;
       [Column]
       public bool Complete;
    }
    

    注意:TodoItems 是一个table你的数据库

  • HttpCSharpTrigger 函数

    #r "System.Data.dll"
    #r "System.Data.Linq.dll"
    
    #load "TodoItem.csx"
    
    using System.Net;
    using System.Data.SqlClient;
    using System.Data.Linq;
    
    public static async Task<HttpResponseMessage> Run(HttpRequestMessage   req, TraceWriter log)
    {
         log.Info("C# HTTP trigger function processed a request.");
    
         var connectionString =   System.Configuration.ConfigurationManager.ConnectionStrings["sqlconn"].ConnectionString;
         SqlConnection conn = new SqlConnection(connectionString);
         DataContext db = new DataContext(conn);
         Table<TodoItem> todoItems = db.GetTable<TodoItem>();
         IEnumerable<TodoItem> items = todoItems.ToList();
    
         return req.CreateResponse(HttpStatusCode.OK, items);
    }
    

注意:sqlconn是App Setting的名称

您将可以调用此 API from Power Apps

希望对您有所帮助!