1. Using Http trigger Azure function and showing in url call
using System;
using System.IO;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using System.Data.SqlClient;
using System.Collections.Generic;
namespace SQLFunction
{
public static class Function1
{
[FunctionName("DatabaseFunction")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
log.LogInformation("Connecting to SQL Database");
//string _conn_string = "Server=adminserver1.database.windows.net,1433;Initial Catalog=ProductDb;Persist Security Info=False;User ID=adminserver1;Password=Admin@123;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;";
string _conn_string = Environment.GetEnvironmentVariable("sql_connection");
List<Product> _products = new List<Product>();
using (SqlConnection _connection = new SqlConnection(_conn_string))
{
_connection.Open();
string _query = "select Id,Name,price from Products";
using (SqlCommand _cmd = new SqlCommand(_query, _connection))
{
SqlDataReader _reader = _cmd.ExecuteReader();
while (_reader.Read())
{
Product obj = new Product();
obj.Id = _reader.GetInt32(0);
obj.Name = _reader.GetString(1);
obj.price = _reader.GetString(2);
_products.Add(obj);
}
}
}
return new OkObjectResult(_products);
}
}
}
and for sql data client add below
<ItemGroup>
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="3.0.3" />
<PackageReference Include="System.Data.SqlClient" Version="4.8.1" />
</ItemGroup>
<ItemGroup>