繁体   English   中英

Azure Function 设置环境变量 java

[英]Azure Function Set Environment variable java

我正在尝试使用 java 的 Azure 函数。 并且能够实现一个简单的 function。

我知道本地的任何环境变量我们都可以在local.setting.json中写入,但是我们需要在 azure 云的应用程序设置中使用 azure 云中的环境变量。 纠正我如果我错了。

现在我的场景

我正在寻找仅从代码中存储环境变量的东西。 Is there any way to store environment data in local.setting.json / applications setting from java code so that this environment value get persist for other azure function.

我想做的一件事是使用数据库。 但是我不想创建数据库操作的键值对很少。

我的工具

Eclipse 版本:2019-12 (4.14.0) Azure 功能核心工具 (3.0.2245) Z86408593C34AF77FDD1390DF932F8B5236 版本:

请,任何线索都会有所帮助。 如果不清楚,请在评论中询问。

谢谢 !

据我所知,我们可以从一个 function 应用程序中的函数获取存储在应用程序设置中的环境变量,但我们无法从其他 function 应用程序中获取它 因此,如果您想从其他 function 应用程序中获取一些键值对,我建议您使用 Azure 密钥库来存储键值对。

1. 创建azure 密钥保管库并将密钥添加到密钥保管库(密钥是您存储在应用程序设置中的环境变量)。

在此处输入图像描述 在上面的屏幕截图中,我生成了一个以“testkey”为密钥、以“testvalue”为值的密钥。

2.编辑您的 java 代码如下:

import com.microsoft.azure.AzureEnvironment;
import com.microsoft.azure.keyvault.KeyVaultClient;
import com.microsoft.azure.keyvault.models.SecretBundle;
import com.microsoft.azure.credentials.AppServiceMSICredentials;

AppServiceMSICredentials credentials = new AppServiceMSICredentials(AzureEnvironment.AZURE);
KeyVaultClient keyVaultClient = new KeyVaultClient(credentials);
SecretBundle secret = keyVaultClient.getSecret("https://xxxxx.vault.azure.net/", "testkey");

return request.createResponseBuilder(HttpStatus.OK).body("Hello, " + secret.value()).build();

https://xxxxx.vault.azure.net/是您的密钥保管库的 url,您可以在 ZCF04A02E37B774C311A48F6 上的密钥保管库的“概述”选项卡中找到它

我们还需要在您的 function 项目中的 pom.xml 中添加依赖项。

<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-client-authentication</artifactId>
    <version>1.7.5</version>
</dependency>

<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-keyvault</artifactId>
    <version>1.2.4</version>
</dependency>

3. Deploy your function from local to azure and then enable MSI of your function on azure portal.

在此处输入图像描述

4.授予您的 function 应用访问密钥保管库的权限,您可以参考本教程

在此处输入图像描述

5 、之后,在azure门户上运行function,我们可以得到key的值(“testkey”)。

在此处输入图像描述

您也可以通过上述步骤获取其他 function 中的密钥库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM