Вы должны убедиться, что вы указали AzureEnvironment.AzureUSGovernment
для вашего AzureCredentials
(строка # 2 ниже) следующим образом:
var servicePrincipal = new ServicePrincipalLoginInformation { ClientId = "<your-client-id>", ClientSecret = "<your-client-secret" };
var creds = new AzureCredentials(servicePrincipal, tenantId: "<your-tenant-id>", AzureEnvironment.AzureUSGovernment);
var azure = Azure.Configure().Authenticate(creds).WithDefaultSubscription();
var rgs = await azure.ResourceGroups.ListAsync();
В качестве альтернативы, вы можете использовать ResourceManagementClient
, чтобы сделать то же самое, что иприведенный выше код, хотя код ResourceManagementClient
более подробный, поэтому я рекомендую в большинстве случаев использовать приведенный выше код, но здесь есть альтернатива:
var servicePrincipal = new ServicePrincipalLoginInformation { ClientId = "<your-client-id>", ClientSecret = "<your-client-secret" };
var creds = new AzureCredentials(servicePrincipal, tenantId: "<your-tenant-id>", AzureEnvironment.AzureUSGovernment);
var restClient = RestClient
.Configure()
.WithEnvironment(AzureEnvironment.AzureUSGovernment)
.WithCredentials(creds)
.Build();
var resourceManagementClient = new ResourceManagementClient(restClient);
resourceManagementClient.SubscriptionId = "<your-subscription-id>";
var rgs = await resourceManagementClient.ResourceGroups.ListAsync();