У меня возникает ошибка сразу после вызова третьей строки ниже:
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.
Где возникает ошибка? В одной из строк здесь или в чем-то, чего вы не показали?
Ошибка 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
Вероятно, ваш код пытается использовать
secret
, хотя он ещеNothing
. Вам следует заменить любые методыAsync Sub
наAsync Function ... Of Task
иAwait
их.