gpt4 book ai didi

azure - 如何使用 Azure DevOps 管道变量配置 Azure Function?

转载 作者:行者123 更新时间:2023-12-02 07:39:44 28 4
gpt4 key购买 nike

我能够注入(inject)environmental variables从 Microsoft Azure Functions 应用程序仪表板进入 Azure Functions 应用程序即可:

Azure Functions App Application Settings

使用System.Environment.GetEnvironmentVariable("AppName"),我可以检索配置的值:

[FunctionName("Status")]
public static async Task<IActionResult> Status(
[HttpTrigger(AuthorizationLevel.Anonymous, "get")] HttpRequest req)
{
var appName = System.Environment.GetEnvironmentVariable("AppName");

return new OkObjectResult($"{appName} - OK");
}

并且它可靠地返回: Postman Result

但我希望环境变量来自 Azure DevOps 管道变量,作为发布管道的一部分,以便该值可以与特定版本、范围等相关联: Azure DevOps Pipeline Variables

如何做到这一点? 做到吗?

最佳答案

Azure Dev Ops (ADO) 通常会将您的管道变量或来自其库的管道变量链接组作为应用程序设置提供,但这意味着不同堆栈中的不同内容。

要将这些 ADO 定义的管道变量用作 System.Environment.EnvironmentVariable,因为 C#/dotnet 使用它们(并且您正在使用的库或框架可能需要这些变量),可以使用以下方法:一个额外的步骤。

在 ADO 中部署任务“部署 Azure Function App”的选项中,有一个名为“应用程序和配置设置”的部分,在该可展开部分中有一个“应用程序设置”的文本框。在这里,您可以定义将注入(inject)的内容作为 System.Environment.EnvironmentVariable,并为它们提供一个引用您在 ADO 中设置的管道变量的值。

语法为-FUNCTION_APP_ENVIRONMENT_VARIABLE_NAME $(PipelineOrGroupVariableName)。其中破折号后面的文本是 dotnet 应用程序中 enviro 变量的最终名称,后跟一个空格和值。要使该值引用 ADO 管道变量的值,请将管道变量名称放在 $() 中的括号之间。

多个变量可以,用空格分隔即可,不要使用换行符。如果管道变量的值中有空格,则必须在对其引用处使用双引号,如下所示:"$(PipelineVariableName)"

在OP的情况下,该文本框中的-AppName $(AppName)将允许他们在运行时使用var appName = System.Environment.GetEnvironmentVariable()检索其值作为环境变量( “应用程序名称”);

image of azure devops portal's Application and Configuration Settings section, with the App Settings text box filled with -FUNCTION_APP_ENVIRONMENT_VARIABLE_NAME $(PipelineOrGroupVariableName)

关于azure - 如何使用 Azure DevOps 管道变量配置 Azure Function?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57432991/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com