معرفی
Azure Functions به شما امکان می دهد بدون نیاز به ایجاد VM یا انتشار یک برنامه وب، کد خود را در یک محیط بدون سرور اجرا کنید.
در این مقاله نحوه ایجاد یک تابع Azure با استفاده از ابزارهای Visual Studio 2017 را یاد می گیرید. سپس کد تابع را در Azure منتشر می کنید. سپس با استفاده از برنامه ASP.NET Core Web این تابع را فراخوانی می کنید.
ایجاد تابع Azure
برای ایجاد یک تابع Azure از طریق Visual Studio 2017، در ویژوال استودیو در منوی File، New > Project را انتخاب کنید.
![ایجاد و مصرف تابع Azure از ASP.NET Core](http://pezhvak24.ir/dl/10kcor/cscd/article/create-and-consume-azure-function-from-asp-net-core/Images/Create And Consume Azure Function From ASP.NET Core.png)
Cloud > Azure Functions را انتخاب کنید
![ایجاد و مصرف تابع Azure از ASP.NET Core](http://pezhvak24.ir/dl/10kcor/cscd/article/create-and-consume-azure-function-from-asp-net-core/Images/Create And Consume Azure Function From ASP.NET Core02.png)
یک تابع جدید به نام HR Leave Request List Function ایجاد کنید.
Http Trigger، برای حساب ذخیره سازی None و برای حقوق دسترسی Function را انتخاب کنید.
در تابع زیر حقوق دسترسی، باید کلید تابع را در درخواستها برای دسترسی به نقطه پایانی تابع خود ارائه دهید.
![ایجاد و مصرف تابع Azure از ASP.NET Core](http://pezhvak24.ir/dl/10kcor/cscd/article/create-and-consume-azure-function-from-asp-net-core/Images/Create%20And%20Consume%20Azure%20Function%20From%20ASP.NET%20Core03.png)
در این مقاله، من باید یک تابع ساده ایجاد کنم که لیستی از درخواست های مرخصی را برمی گرداند. بنابراین ابتدا باید کلاس entity را برای درخواست مرخصی ایجاد کنم.
روی پروژه کلیک راست کرده و Add > Class را انتخاب کنید
![ایجاد و مصرف تابع Azure از ASP.NET Core](http://pezhvak24.ir/dl/10kcor/cscd/article/create-and-consume-azure-function-from-asp-net-core/Images/Create%20And%20Consume%20Azure%20Function%20From%20ASP.NET%20Core04.png)
نام کلاس را به LeaveRequest تغییر دهید . کد زیر را به کلاس LeaveRequest اضافه کنید.
- public class LeaveRequest
- {
- [JsonProperty(PropertyName = "employeeId")]
- public string EmployeeId { get; set; }
- public string Name { get; set; }
- public DateTime From { get; set; }
- public DateTime To { get; set; }
- }
در کلاس تابع کد زیر را اضافه کنید:
- public static class HrLeaveRequest
- {
- [FunctionName("LeaveRequestList")]
- public static async Task<IActionResult> Run(
- [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req )
- {
- List<LeaveRequest> lst = null;
- string EmployeeId = string.Empty;
- string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
- dynamic data = JsonConvert.DeserializeObject(requestBody);
- EmployeeId = data?.employeeId;
- if(EmployeeId != null)
- {
- lst = new List<LeaveRequest>();
- for (int i = 1; i < 4; i++)
- {
- lst.Add(new LeaveRequest() { EmployeeId = "10", Name = $"Employee {i}", From= DateTime.Now.AddDays(-i -1), To = DateTime.Now.AddDays(-i)});
- }
- return (ActionResult)new OkObjectResult(lst);
- }
- return new BadRequestObjectResult("Please pass a employee Id in the request body");
- }
- }
کد بالا لیستی از درخواست های مرخصی را به عنوان داده های ثابت برای اهداف نمایشی برمی گرداند.
تابع ما اکنون برای آزمایش محلی آماده است. از Debug گزینه Start Debugging را انتخاب کنید.
![ایجاد و مصرف تابع Azure از ASP.NET Core](http://pezhvak24.ir/dl/10kcor/cscd/article/create-and-consume-azure-function-from-asp-net-core/Images/Create%20And%20Consume%20Azure%20Function%20From%20ASP.NET%20Core05.png)
![ایجاد و مصرف تابع Azure از ASP.NET Core](http://pezhvak24.ir/dl/10kcor/cscd/article/create-and-consume-azure-function-from-asp-net-core/Images/Create%20And%20Consume%20Azure%20Function%20From%20ASP.NET%20Core06.png)
![ایجاد و مصرف تابع Azure از ASP.NET Core](http://pezhvak24.ir/dl/10kcor/cscd/article/create-and-consume-azure-function-from-asp-net-core/Images/Create%20And%20Consume%20Azure%20Function%20From%20ASP.NET%20Core07.png)
URL تابع را از برنامه کنسول کپی کنید و از ابزار Postman URL را به صورت زیر قرار دهید:
![ایجاد و مصرف تابع Azure از ASP.NET Core](http://pezhvak24.ir/dl/10kcor/cscd/article/create-and-consume-azure-function-from-asp-net-core/Images/Create%20And%20Consume%20Azure%20Function%20From%20ASP.NET%20Core08.png)
در مرحله بعد، باید این تابع را در Azure مستقر کنید. روی پروژه کلیک راست کرده و Publish را انتخاب کنید.
![ایجاد و مصرف تابع Azure از ASP.NET Core](http://pezhvak24.ir/dl/10kcor/cscd/article/create-and-consume-azure-function-from-asp-net-core/Images/Create%20And%20Consume%20Azure%20Function%20From%20ASP.NET%20Core09.png)
Create New را انتخاب کنید. و تمام فیلدهای الزامی را پر کنید.
![ایجاد و مصرف تابع Azure از ASP.NET Core](http://pezhvak24.ir/dl/10kcor/cscd/article/create-and-consume-azure-function-from-asp-net-core/Images/Create%20And%20Consume%20Azure%20Function%20From%20ASP.NET%20Core10.png)
![ایجاد و مصرف تابع Azure از ASP.NET Core](http://pezhvak24.ir/dl/10kcor/cscd/article/create-and-consume-azure-function-from-asp-net-core/Images/Create%20And%20Consume%20Azure%20Function%20From%20ASP.NET%20Core11.png)
سپس بر روی دکمه ایجاد کلیک کنید.
پس از انتشار تابع، باید کلیدها را دریافت کنیم. کلیدها به عنوان بخشی از برنامه عملکرد شما در Azure ذخیره می شوند. برای مشاهده کلیدهای خود، به یکی از عملکردهای فعال شده با HTTP خود در پورتال Azure بروید و مدیریت را انتخاب کنید.
![ایجاد و مصرف تابع Azure از ASP.NET Core](http://pezhvak24.ir/dl/10kcor/cscd/article/create-and-consume-azure-function-from-asp-net-core/Images/Create%20And%20Consume%20Azure%20Function%20From%20ASP.NET%20Core12.png)
اکثر الگوهای راهانداز HTTP به یک کلید API در درخواست نیاز دارند. بنابراین، درخواست HTTP شما معمولاً شبیه URL زیر است:
کپی 🀄