API Azure Серверу не удалось аутентифицировать запрос
У меня есть задача (я пытался с рабочей ролью и загрузить консольное приложение и запустить .exe), который должен запускаться один раз в день и собирать показатели Azure для некоторых из моих виртуальных машин. Это работает безупречно локально, но в облачной службе я получаю эту ошибку:
Необработанное исключение: Microsoft.WindowsAzure.CloudException: ForbiddenError: Серверу не удалось аутентифицировать запрос. Убедитесь, что сертификат действителен и связан с этой подпиской. в Microsoft.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSucces ... и т. д.
Строка, где это происходит:
MetricDefinitionListResponse metricListResponse = metricsClient.MetricDefinitions.List(resourceId, null,
nspace);
Это часть моего кода:
string subscriptionId = "fc4xxxx5-835c-xxxx-xxx-xxxxxxx";
// The thumbprint of the certificate.
string thumbprint = "f5 b4 xxxxxxxx f7 c2";
// Get the certificate from the local store.
//X509Certificate2 cert = GetCertificate(StoreName.My, StoreLocation.LocalMachine, thumbprint);
//cert = GetCertificate(StoreName.My, StoreLocation.CurrentUser, thumbprint) ?? new X509Certificate2(("manageAzure.cer"));
var cert = new X509Certificate2(("manageAzure.cer"));
Console.WriteLine("Certificate is : " + cert);
// Create the metrics client.
var metricsClient = new MetricsClient(new CertificateCloudCredentials(subscriptionId, cert));
Console.WriteLine("metricsClient is : " + metricsClient);
// The cloud service name and deployment name, found in the dashboard of the management portal.
string cloudServiceName = "abms2-carlsberg";
string deploymentName = "abms2-carlsberg";
// Build the resource ID string.
string resourceId = ResourceIdBuilder.BuildVirtualMachineResourceId(cloudServiceName, deploymentName);
string nspace = "WindowsAzure.Availability";
// Get the metric definitions.
MetricDefinitionListResponse metricListResponse = metricsClient.MetricDefinitions.List(resourceId, null,
nspace);
Я поместил сертификат управления в свое решение, и я загружаю его оттуда (он настроен на постоянное копирование), и тот же (и тот же способ) я использую при локальном запуске.
Так на какой «сертификат» вы жалуетесь на «аутентификацию»? Я не могу понять, в чем проблема. Любая помощь будет принята с благодарностью, так как я использовал весь день на этом!
PS: я уже запускаю это в повышенном режиме!