C# 在Azure函数中创建方法
我有一个Azure DevOps函数,可以在DevOps中创建一个新团队。我正在扩展代码以创建存储库和文件,并希望将不同的部分划分为方法,以使其更加精简 如果有人能指导我如何在Azure函数中创建方法并调用它们,我将不胜感激,因为我是C#新手 我正在使用Visual Studio和.NET Core 3.0 以下是迄今为止的代码:C# 在Azure函数中创建方法,c#,azure-devops,azure-functions,azure-rest-api,C#,Azure Devops,Azure Functions,Azure Rest Api,我有一个Azure DevOps函数,可以在DevOps中创建一个新团队。我正在扩展代码以创建存储库和文件,并希望将不同的部分划分为方法,以使其更加精简 如果有人能指导我如何在Azure函数中创建方法并调用它们,我将不胜感激,因为我是C#新手 我正在使用Visual Studio和.NET Core 3.0 以下是迄今为止的代码: [FunctionName("Function2")] public static async Task<HttpRespo
[FunctionName("Function2")]
public static async Task<HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)]HttpRequestMessage req)
{
var PAT = "";
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic",
Convert.ToBase64String(
ASCIIEncoding.ASCII.GetBytes(
string.Format("{0}:{1}", "", PAT))));
// Create Team
var teambody = new
{
name = "myteamname",
};
//Connecting to the DevOps REST API
var requestMessage = new HttpRequestMessage(HttpMethod.Post, $"https://dev.azure.com/{}/_apis/projects/{}/teams?api-version=6.0");
requestMessage.Content = new StringContent(JsonConvert.SerializeObject(teambody), Encoding.UTF8, "application/json");
//Reading Server Response
using (HttpResponseMessage response = await client.SendAsync(requestMessage))
{
if (!response.IsSuccessStatusCode)
{
response.EnsureSuccessStatusCode();
}
return req.CreateResponse(HttpStatusCode.Created,"Teams created successfully!");
}
// Create Repository
// Create Files
}
}
[FunctionName(“Function2”)]
公共静态异步任务运行([HttpTrigger(AuthorizationLevel.Anonymous,“get”,“post”,Route=null)]HttpRequestMessage请求)
{
var PAT=“”;
使用(HttpClient=new HttpClient())
{
client.DefaultRequestHeaders.Accept.Add(
新的MediaTypeWithQualityHeaderValue(“应用程序/json”);
client.DefaultRequestHeaders.Authorization=新的AuthenticationHeaderValue(“基本”,
Convert.tobase64字符串(
ascienceoding.ASCII.GetBytes(
格式(“{0}:{1}”,”,PAT));
//创建团队
var teambody=new
{
name=“myteamname”,
};
//连接到DevOps REST API
var requestMessage=newhttprequestmessage(HttpMethod.Post,$)https://dev.azure.com/{}/_api/projects/{}/teams?api版本=6.0“;
requestMessage.Content=newStringContent(JsonConvert.SerializeObject(teambody),Encoding.UTF8,“application/json”);
//读取服务器响应
使用(HttpResponseMessage response=wait client.SendAsync(requestMessage))
{
如果(!response.issucessStatusCode)
{
response.EnsureSuccessStatusCode();
}
return req.CreateResponse(HttpStatusCode.Created,“团队创建成功!”);
}
//创建存储库
//创建文件
}
}
您可以在函数类下添加方法(与公共静态异步任务运行处于同一级别…
)
例如:
namespace FunctionApp2
{
public static class Function2
{
[FunctionName("Function2")]
public static async Task<IActionResult> Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)]HttpRequestMessage req)
{
//use your method
string name = Method(name);
.............
}
//add your method here
public static string Method(string name)
{
return name+"abc";
}
}
}
pp2
{
公共静态类函数2
{
[功能名称(“功能2”)]
公共静态异步任务运行([HttpTrigger(AuthorizationLevel.Anonymous,“get”,“post”,Route=null)]HttpRequestMessage请求)
{
//用你的方法
字符串名称=方法(名称);
.............
}
//在此处添加您的方法
公共静态字符串方法(字符串名称)
{
返回名称+“abc”;
}
}
}
Azure函数是在一个类中实现的,添加方法与任何其他(静态)类没有区别。