Azure SDK .NET Authenticate issues(ServicePrincipalLoginInformation should contain a valid ClientId information)

Azure SDK .NET Authenticate issues(ServicePrincipalLoginInformation should contain a valid ClientId information)

我正在尝试管理 Azure 弹性池,并按照 Microsoft 示例登录 here 但我不能使用 SdkContext.AzureCredentialsFactory.FromServicePrincipal。 我收到以下错误:

{"Cannot communicate with server. ServicePrincipalLoginInformation should contain a valid ClientId information."}

这是我的代码:

string clientId = Environment.GetEnvironmentVariable("4a8ca462-413d- ...etc.etc");
string appSecret = Environment.GetEnvironmentVariable("2ri-a1wZJzPy.C ... etc.etc");
string tenantId = Environment.GetEnvironmentVariable("d7cc8849-2174- ... etc.etc.");

var credentials = SdkContext.AzureCredentialsFactory
                    .FromServicePrincipal(clientId, appSecret, tenantId, AzureEnvironment.AzureGlobalCloud);

var azure = Azure
        .Configure()
        .Authenticate(credentials)
        .WithSubscription("x1dfe0t2-41b5-etc.etc.");

我确实尝试查看 GIT 中的代码行,因为它是开源的,但找不到为什么 clientId 为 null ...

Fluent 版本 1.37.1 和 .NET Core

根据异常信息和source code,您似乎提供了空白的客户端ID。

请检查 string clientId = Environment.GetEnvironmentVariable("4a8ca462-413d- ...etc.etc") 的结果是否为空。

例如,将client id的名称设置为AZURE_CLIENT_ID,并用guid设置值。然后在 C# 中使用变量名称获取客户端 ID。

string clientId = Environment.GetEnvironmentVariable("AZURE_CLIENT_ID");