首页 > 解决方案 > Azure 函数不解析变量

问题描述

我一直在尝试通过 Azure 中的函数应用从 Google Analytics 获取 OAuth 2.0 令牌。

我正在关注本教程:

https://richardswinbank.net/adf/access_google_analytics_with_azure_data_factory#get_an_oauth_token_in_adf

有一部分是从变量中提取 URL:

var kvClient = new SecretClient(new Uri(Environment.GetEnvironmentVariable("KEY_VAULT_URL")), new ManagedIdentityCredential());
            string keyJson = kvClient.GetSecret("KEY_VAULT_URL").Value.Value;

在 Azure 门户中,在我的函数应用 -> 设置 -> 配置 -> 应用程序设置下是 KEY_VAULT_URL 的定义。

但是变量似乎没有解决,因为我收到了这个错误:

2021-10-14T14:02:24.371 [Error] Executed 'GetOAuthToken' (Failed, Id=bad02220-c792-4c53-af41-621c6a9d12345, Duration=32ms)The request URI contains an invalid name: KEY_VAULT_URLStatus: 400 (Bad Request)ErrorCode: BadParameterContent:{"error":{"code":"BadParameter","message":"The request URI contains an invalid name: KEY_VAULT_URL"}}Headers:Cache-Control: no-cachePragma: no-cachex-ms-keyvault-region: germanywestcentralx-ms-client-request-id: 0344c4b6-98d9-4ade-9c7f-cb058abd123x-ms-request-id: d35bd092-faf4-4567-99e4-4aba0123d7bx-ms-keyvault-service-version: 1.9.132.3x-ms-keyvault-network-info: conn_type=Ipv4;addr=51.216.128.119;act_addr_fam=InterNetwork;X-Powered-By: REDACTEDStrict-Transport-Security: REDACTEDX-Content-Type-Options: REDACTEDDate: Thu, 14 Oct 2021 14:02:23 GMTContent-Length: 101Content-Type: application/json; charset=utf-8Expires: -1

变量的值如下所示:

https://mykeyvault.vault.azure.net/

也许有一个错误?我删除了尾部斜杠,但输出始终相同。

标签: azureoauth-2.0azure-functions

解决方案


这行在教程中是错误的。它不应该是一个变量。它必须是秘密的名称。

kvClient.GetSecret("KEY_VAULT_URL")

推荐阅读