gpt4 book ai didi

azure - 尝试通过 Azure Function 中的 Azure Management Fluent Api 创建 KeyVault 时出现 ArgumentNullException

转载 作者:行者123 更新时间:2023-12-03 02:26:21 26 4
gpt4 key购买 nike

我添加了一个服务总线触发函数来通过 Microsoft.Azure.Management.Fluent 库创建 key 保管库。

该函数在本地运行良好,并在我的 MSDN 订阅中创建一个新的 Key Vault,但是,当它部署到 Azure 并尝试使用函数应用托管服务标识在我们公司的测试订阅中创建 Key Vault 时,它失败并显示 ArgumentNullException来自Guid.Parse

堆栈跟踪

Inner exception System.ArgumentNullException handled at CollectorFunctions.Proxies.KeyVaultProxy+d__9.MoveNext:
at System.Guid.Parse (System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
at Microsoft.Azure.Management.KeyVault.Fluent.VaultsImpl.WrapModel (Microsoft.Azure.Management.KeyVault.Fluent, Version=1.0.0.68, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
at Microsoft.Azure.Management.KeyVault.Fluent.VaultsImpl.Define (Microsoft.Azure.Management.KeyVault.Fluent, Version=1.0.0.68, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
at Microsoft.Azure.Management.KeyVault.Fluent.VaultsImpl.Microsoft.Azure.Management.ResourceManager.Fluent.Core.CollectionActions.ISupportsCreating<Microsoft.Azure.Management.KeyVault.Fluent.Vault.Definition.IBlank>.Define (Microsoft.Azure.Management.KeyVault.Fluent, Version=1.0.0.68, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
at CollectorFunctions.Proxies.KeyVaultProxy+d__9.MoveNext (CollectorFunctions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nullCollectorFunctions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null: D:\a\1\s\src\Server\CollectorFunctions\Proxies\IKeyVaultProxy.csCollectorFunctions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null: 86)

运行以下语句时发生错误,该语句取自此重现链接的 ManageKeyVault sample project。提供的参数均具有有效值,并且资源组是通过 IAzure.ResourceGroups.GetByNameAsync(resourceGroupName) 查找的。

await _azure.Vaults
.Define(newKeyVaultName)
.WithRegion(resourceGroup.Region)
.WithExistingResourceGroup(resourceGroupName)
.WithEmptyAccessPolicy()
.CreateAsync();

最佳答案

就我而言,我在获取凭据时没有意识到有一个tenantId参数。我需要提供tenantId:

var msi = new MSILoginInformation(MSIResourceType.VirtualMachine);
var creds = SdkContext.AzureCredentialsFactory.FromMSI(msi,
AzureEnvironment.AzureGlobalCloud,
*** tenantId ***);

由于您的堆栈跟踪看起来与我的完全一样,我猜这就是问题所在。如果您在获取凭据时指定tenantID,那么我认为它应该适合您。要获取 TenantId,请转到您的身份所在的 Azure AD,它应该列在概述页面上。

关于azure - 尝试通过 Azure Function 中的 Azure Management Fluent Api 创建 KeyVault 时出现 ArgumentNullException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66711942/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com