System.Private.Uri:Azure 函数的值不能为空错误
System.Private.Uri: Value cannot be null error with Azure Function
我在 Visual Studio 代码中创建了一个 C# Azure 函数。当我 运行 Visual Studio 代码中的函数时,出现以下错误:
[8/21/2020 1:27:34 AM] A host error has occurred during startup operation '803d7235-e81a-4768-a68d-15fcd93d8518'.
[8/21/2020 1:27:34 AM] System.Private.Uri: Value cannot be null. (Parameter 'uriString').
[8/21/2020 1:27:34 AM] Stopping JobHost
Value cannot be null. (Parameter 'provider')
我该如何解决?
您可以检查几项内容:
- 如果我们正在使用任何连接端点并从应用程序设置中读取值。如果是,请检查该设置的值。
- 请确认我们在这种情况下是否使用了有效的服务总线连接端点。 (如果有的话)
这些是对问题陈述的非常笼统的解释,因为它没有提供更多细节。对于函数,我们多次看到此错误,因为如果连接字符串值是从 Azure Key Vault 读取的,而您错过了在 Azure 函数配置的应用程序设置中设置此值。在此方案中,在 Key Vault 配置中创建了一个访问策略,以便 Azure Function 应用程序可以从 Key Vault 中读取值。
因此您需要重新验证访问策略以确保键的应用设置值具有有效值。
这似乎是一个普遍问题,如果任何 azure 服务无法使用 Uri
连接到任何其他服务,您就会看到此错误。如果问题发生在调用之前,即在 Startup.cs
中,您似乎就明白了。因此,请检查所有 Uri
调用是否具有正确的 url/connection 字符串。
对我来说,问题是我启动时的这一行:
builder.AddSecretClient(new Uri(Environment.GetEnvironmentVariable("KeyVaultUrl")));
该环境变量为空。
对我来说,问题是我将错误的连接字符串值粘贴到 local.settings.json
- 而不是 "EndPoint=...
我有 "\"Endpoint=...
我在 Visual Studio 代码中创建了一个 C# Azure 函数。当我 运行 Visual Studio 代码中的函数时,出现以下错误:
[8/21/2020 1:27:34 AM] A host error has occurred during startup operation '803d7235-e81a-4768-a68d-15fcd93d8518'.
[8/21/2020 1:27:34 AM] System.Private.Uri: Value cannot be null. (Parameter 'uriString').
[8/21/2020 1:27:34 AM] Stopping JobHost
Value cannot be null. (Parameter 'provider')
我该如何解决?
您可以检查几项内容:
- 如果我们正在使用任何连接端点并从应用程序设置中读取值。如果是,请检查该设置的值。
- 请确认我们在这种情况下是否使用了有效的服务总线连接端点。 (如果有的话)
这些是对问题陈述的非常笼统的解释,因为它没有提供更多细节。对于函数,我们多次看到此错误,因为如果连接字符串值是从 Azure Key Vault 读取的,而您错过了在 Azure 函数配置的应用程序设置中设置此值。在此方案中,在 Key Vault 配置中创建了一个访问策略,以便 Azure Function 应用程序可以从 Key Vault 中读取值。 因此您需要重新验证访问策略以确保键的应用设置值具有有效值。
这似乎是一个普遍问题,如果任何 azure 服务无法使用 Uri
连接到任何其他服务,您就会看到此错误。如果问题发生在调用之前,即在 Startup.cs
中,您似乎就明白了。因此,请检查所有 Uri
调用是否具有正确的 url/connection 字符串。
对我来说,问题是我启动时的这一行:
builder.AddSecretClient(new Uri(Environment.GetEnvironmentVariable("KeyVaultUrl")));
该环境变量为空。
对我来说,问题是我将错误的连接字符串值粘贴到 local.settings.json
- 而不是 "EndPoint=...
我有 "\"Endpoint=...