Azure Identity ClientSecretCredential выдает ошибку «Метод не найден» dotnet SDK версии 1.10.4C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Azure Identity ClientSecretCredential выдает ошибку «Метод не найден» dotnet SDK версии 1.10.4

Сообщение Anonymous »

Я использую пакет SDK клиента Azure Identity dotnet 1.10.4 и класс clientsecretcredential для создания токена для чтения из моего большого двоичного объекта. Я проследил за BLOB-объектом списка в образце контейнера по этой ссылке
https://learn.microsoft.com/en-us/azure ... blobs-list
Я получаю следующую ошибку
Azure.Identity.AuthenticationFailedException: Ошибка аутентификации ClientSecretCredential: метод не найден: 'Void System.Text.Json.Serialization.Metadata .JsonObjectInfoValues

Код: Выделить всё

1.set_ObjectCreator(System.Func
1)'.
---> System.MissingMethodException: метод не найден: 'Void System.Text.Json.Serialization.Metadata.JsonObjectInfoValues

Код: Выделить всё

1.set_ObjectCreator(System.Func
1)'.
в Microsoft.Identity.Client.Platforms.net6.MsalJsonSerializerContext.get_InstanceDiscoveryResponse()
в Microsoft.Identity.Client.Platforms.net6.MsalJsonSerializerContext.GetTypeInfo (Тип типа)
at System.Text.Json.JsonSerializer.GetTypeInfo(контекст JsonSerializerContext, тип inputType)
at System.Text.Json.JsonSerializer.Deserialize(String json, Type returnType, контекст JsonSerializerContext)в Microsoft.Identity.Client.Utils.JsonHelper.DeserializeFromJson[T](String json)
в Microsoft.Identity.Client.OAuth2.OAuth2Client.CreateResponse[T](ответ HttpResponse, RequestContext requestContext)
at Microsoft.Identity.Client.OAuth2.OAuth2Client.ExecuteRequestAsync[T](Uri endPoint, метод HttpMethod, RequestContext requestContext, логическое значение ожидаемых ошибокOn200OK, логическое значение addCommonHeaders, Func

Код: Выделить всё

2 onBeforePostRequestData) at Microsoft.Identity.Client.OAuth2.OAuth2Client.DiscoverAadInstanceAsync(Uri endpoint, RequestContext requestContext) at Microsoft.Identity.Client.Instance.Discovery.NetworkMetadataProvider.SendInstanceDiscoveryRequestAsync(Uri authority, RequestContext requestContext) at Microsoft.Identity.Client.Instance.Discovery.NetworkMetadataProvider.FetchAllDiscoveryMetadataAsync(Uri authority, RequestContext requestContext) at Microsoft.Identity.Client.Instance.Discovery.NetworkMetadataProvider.GetMetadataAsync(Uri authority, RequestContext requestContext) at Microsoft.Identity.Client.Instance.Discovery.InstanceDiscoveryManager.FetchNetworkMetadataOrFallbackAsync(RequestContext requestContext, Uri authorityUri) at Microsoft.Identity.Client.Instance.Discovery.InstanceDiscoveryManager.GetMetadataEntryAsync(AuthorityInfo authorityInfo, RequestContext requestContext, Boolean forceValidation) at Microsoft.Identity.Client.Instance.AuthorityManager.RunInstanceDiscoveryAndValidationAsync() at Microsoft.Identity.Client.Internal.Requests.ClientCredentialRequest.GetAccessTokenAsync(CancellationToken cancellationToken, ILoggerAdapter logger) at Microsoft.Identity.Client.Internal.Requests.ClientCredentialRequest.ExecuteAsync(CancellationToken cancellationToken) at Microsoft.Identity.Client.Internal.Requests.RequestBase.RunAsync(CancellationToken cancellationToken) at Microsoft.Identity.Client.ApiConfig.Executors.ConfidentialClientExecutor.ExecuteAsync(AcquireTokenCommonParameters commonParameters, AcquireTokenForClientParameters clientParameters, CancellationToken cancellationToken) at Azure.Identity.AbstractAcquireTokenParameterBuilderExtensions.ExecuteAsync[T](AbstractAcquireTokenParameterBuilder
1 строитель, Boolean async, CancellationToken cancelToken)
в Azure.Identity.MsalConfidentialClient.AcquireTokenForClientCoreAsync(области String[], String tenantId, Boolean EnableCae, Boolean async, CancellationToken cancelToken)
в Azure. Identity.MsalConfidentialClient.AcquireTokenForClientAsync(области String[], String tenantId, Boolean EnableCae, Boolean async, CancellationToken cancelToken)
at Azure.Identity.ClientSecretCredential.GetTokenAsync(TokenRequestContext requestContext, CancellationToken cancelToken)
--- End трассировки внутреннего стека исключений ---
at Azure.Identity.CredentialDiagnosticScope.FailWrapAndThrow(Exception ex, String extraMessage, Boolean isCredentialUnavailable)
at Azure.Identity.ClientSecretCredential.GetTokenAsync(TokenRequestContext requestContext, CancellationToken cancelToken)at Azure.Core.Pipeline.BearerTokenAuthenticationPolicy.AccessTokenCache.GetHeaderValueFromCredentialAsync(TokenRequestContext context, Boolean async, CancellationToken cancelToken)
at Azure.Core.Pipeline.BearerTokenAuthenticationPolicy.AccessTokenCache.GetHeaderValueAsync(Http) Сообщение сообщения, контекст TokenRequestContext, логическое асинхронное значение )
в Azure.Core.Pipeline.BearerTokenAuthenticationPolicy.AccessTokenCache.GetHeaderValueAsync(сообщение HttpMessage, контекст TokenRequestContext, Boolean async)
в Azure.Core.Pipeline.BearerTokenAuthenticationPolicy.AuthenticateAndAuthorizeRequestAsync(сообщение HttpMessage, TokenRe) контекст questContext)
at Azure.Storage.StorageBearerTokenChallengeAuthorizationPolicy.AuthorizeRequestInternal(сообщение HttpMessage, Boolean async)
at Azure.Core.Pipeline.BearerTokenAuthenticationPolicy.ProcessAsync(сообщение HttpMessage, ReadOnlyMemory

Код: Выделить всё

1 pipeline, Boolean async) at Azure.Core.Pipeline.HttpPipelineSynchronousPolicy.InnerProcessAsync(HttpMessage message, ReadOnlyMemory
1 конвейер)
в Azure.Core.Pipeline.RedirectPolicy.ProcessAsync(сообщение HttpMessage, ReadOnlyMemory

Код: Выделить всё

1 pipeline, Boolean async) at Azure.Core.Pipeline.RetryPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory
1 конвейер, Boolean async)
в Azure.Core.Pipeline.RetryPolicy.ProcessAsync (сообщение HttpMessage, ReadOnlyMemory

Код: Выделить всё

1 pipeline, Boolean async) at Azure.Storage.Blobs.ContainerRestClient.ListBlobFlatSegmentAsync(String prefix, String marker, Nullable
1 максимальное количество результатов, IEnumerable

Код: Выделить всё

1 include, Nullable
1 тайм-аут, CancellationToken cancelToken)
в Azure.Storage.Blobs.BlobContainerClient.GetBlobsInternal(строковый маркер, черты BlobTraits, состояния BlobStates, строковый префикс, значение NULL

Код: Выделить всё

1 pageSizeHint, Boolean async, CancellationToken cancellationToken) at Azure.Storage.Blobs.Models.GetBlobsAsyncCollection.GetNextPageAsync(String continuationToken, Nullable
1 pageSizeHint, Boolean async, CancellationToken cancelToken)
в Azure.Storage.StorageCollectionEnumerator

Код: Выделить всё

1.StorageAsyncPageable.AsPages(String continuationToken, Nullable
1 pageHintSize)+MoveNext()
в Azure.Storage.StorageCollectionEnumerator

Код: Выделить всё

1.StorageAsyncPageable.AsPages(String continuationToken, Nullable
1 pageHintSize)+System.Threading.Tasks.Sources.IValueTaskSource.GetResult()
ниже приведен мой код
'''

Код: Выделить всё

     var tenantId = tenantid;
var clientId = ClientId;
var clientSecret = clientSecret;
var credential = new Azure.Identity.ClientSecretCredential(
tenantId,
clientId,
clientSecret,
new TokenCredentialOptions
{
AuthorityHost = new Uri("https://login.microsoftonline.com")
});

Console.WriteLine($"credential object {credential}");

var  blobServiceClient = new
BlobServiceClient(new Uri($"https://.blob.core.windows.net"),credential)
;

Console.WriteLine(blobServiceClient);

//Console.WriteLine(blobcontainerClient);

var blobcontainerClient = blobServiceClient.GetBlobContainerClient("containername");

Console.WriteLine(blobcontainerClient);

int? segmentSize = null;

// Call the listing operation and return pages of the specified size.
var resultSegment = blobcontainerClient.GetBlobsAsync()
.AsPages(default, segmentSize);

// Enumerate the blobs returned for each page.

try
{
***await foreach (Azure.Page blobPage in resultSegment)***
{
foreach (BlobItem blobItem in blobPage.Values)
{
Console.WriteLine("Blob name: {0}", blobItem.Name);
}

Console.WriteLine("all complete");
}
}
catch(Exception ex)
{
Console.WriteLine(ex);
}
'''
Я получаю исключение в строке ожидания foreach. Это та же самая строка из примера ссылки на Learn.microsoft.
Мы будем очень признательны за любые подсказки и помощь.

Подробнее здесь: https://stackoverflow.com/questions/781 ... ror-dotnet
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»