如何使用Powershell编写的Azure函数应用程序中访问环境变量?

时间:2019-06-26 15:47:56

标签: azure powershell azure-functions azure-powershell

我正在用Powershell(运行时2.0.12507.0)编写一个Azure函数应用程序。

要在我的功能应用程序中执行操作,它必须使用Connect-AzAccount函数向Azure进行身份验证。我将用于连接的敏感凭据存储在“管理>功能键”中,但无法以编程方式访问这些键。

Here I have the function keys set under the manage section of my function.

我已经尝试使用$ Env:NAME_OF_MY_KEY来访问键值,但是当我尝试该键值时,该值将显示为null或空。据我了解,“功能键”只是环境变量,应该以这种方式访问​​。

using namespace System.Net

# Input bindings are passed in via param block.
param($Request, $TriggerMetadata)

# Get the service principal secret as a secure string
$secpasswd = ConvertTo-SecureString $env:SP_Secret -AsPlainText -Force 

# Create a new PSCredential using the principal secret and app id
$mycreds = New-Object System.Management.Automation.PSCredential ($env:SP_AppID, $secpasswd) 

# Connect to the Azure account using the powershell credentials and tenant id
$result = Connect-AzAccount -ServicePrincipal -Tenant $env:SP_Tenant -Credential $mycreds 

我希望能够访问这些功能键;但是,即使我回显了$ env:SP_Secret的值,我仍然会得到一个空字符串。这是访问Azure Function应用程序中功能键的正确方法吗?

2 个答案:

答案 0 :(得分:0)

Key Management API的帮助下,您可以使用GET PUT POST使用http requests键。您不必将键重新添加为环境变量。

您可以在Github

上找到密钥管理API 文档。

答案 1 :(得分:-1)

功能键不作为环境变量公开。要设置环境变量,必须在应用程序设置中设置它们。

在这里,导航到功能应用程序时,您会看到“管理应用程序设置”链接。

Go to your application settings

然后,您可以在此处添加密钥。

Add environment variables in your application settings.