Ошибка VB.NET после вызова Dim secret = Ожидайте client.GetSecretAsync

У меня возникает ошибка сразу после вызова третьей строки ниже:

Dim kvUri = $"https://{KEY_VAULT_NAME}.vault.azure.net"

Dim client = New SecretClient(New Uri(kvUri), New DefaultAzureCredential())

Dim secret = Await client.GetSecretAsync(KEY_ID)

KEY_VAULT_NAME и KEY_ID представляют собой строку и имеют правильные значения.

Код находится внутри Main модуля, который помечен как

 Public Async Sub Main()

Ошибка: ссылка на объект не установлена ​​на экземпляр объекта.

Через некоторое время secret.Value.Value получает желаемое значение, но мне трудно понять, почему у меня возникла ошибка и как ее исправить.

Я попробовал документацию Microsoft и StackOverflow.

Вероятно, ваш код пытается использовать secret, хотя он еще Nothing. Вам следует заменить любые методы Async Sub на Async Function ... Of Task и Await их.

Stephen Cleary 03.06.2024 23:09

Где возникает ошибка? В одной из строк здесь или в чем-то, чего вы не показали?

Craig 04.06.2024 15:17
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
63
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ошибка VB.NET возникает после вызова Dim secret = Await client.GetSecretAsync().

Используйте приведенный ниже код, чтобы получить секретное значение Azure Key Vault с помощью Visual Basic .NET:

Код:

Imports Azure.Identity
Imports Azure.Security.KeyVault.Secrets

Module Program
    Public Sub Main()
        Dim secretValue = GetSecretAsync().GetAwaiter().GetResult()
        Console.WriteLine($"Secret value: {secretValue}")
    End Sub

    Private Async Function GetSecretAsync() As Task(Of String)
        Const KEY_VAULT_NAME As String = "samplevault326"
        Const KEY_NAME As String = "secret1"
        Dim kvUri = $"https://{KEY_VAULT_NAME}.vault.azure.net"

        Dim credential = New DefaultAzureCredential()
        Dim client = New SecretClient(New Uri(kvUri), credential)
        Dim secret = Await client.GetSecretAsync(KEY_NAME)

        If secret Is Nothing Then
            Console.WriteLine("Secret not found")
            Return Nothing
        Else
            Return secret.Value.Value
        End If
    End Function
End Module

Убедитесь, что вы передаете правильные параметры, такие как key vault name, secret name, и проходите аутентификацию с правильными учетными данными.

Выход:

Secret value: Welcome!!!

Ссылка: Краткое руководство — клиентская библиотека секретов Azure Key Vault для .NET | Microsoft Learn

Другие вопросы по теме

База данных SQL Azure недоступна при первой попытке подключения
Ошибка конвейера Azure DevOps: пароль не является целым числом в команде SnowSQL
Невозможно получить несколько секретов из Azure Key Vault в конвейере Azure DevOps
Создайте подключение API к Azure KeyVault, используя проверку подлинности субъекта-службы через шаблон ARM
Сертификат Azure KeyVault с неэкспортируемым ключом по-прежнему может экспортировать ключ через KeyVault Secret
Как задать отдельные строки подключения к базе данных для слотов развертывания службы приложений Azure
Стоимость удаленного Azure Key Vault с включенной защитой от очистки
Невозможно получить доступ к Azure Key Vault из сценария Python через «os.environ["VAULT_URL]" — ошибка ключа: «VAULT_URL»
Найдите список виртуальных сетей/подсетей, которые имеют доступ к хранилищу ключей в Azure
В configBuilder «AzureKeyVault» произошел сбой при обработке раздела конфигурации «appSettings»