New-AzureRmKeyVault:'vaultName' 与预期模式不匹配
New-AzureRmKeyVault : 'vaultName' does not match expected pattern
我正尝试按照本教程为我的应用程序设置 Azure Key Vault:https://blogs.technet.microsoft.com/kv/2015/06/02/azure-key-vault-step-by-step/
在本教程的创建和配置密钥保管库部分,在执行以下两个步骤之后:
我无法执行此步骤:
它在我的 PowerShell 中显示错误消息:
New-AzureRmKeyVault : 'vaultName' does not match expected pattern '^[a-zA-Z0-9-]{3,24}$'.
At line:1 char:1
+ New-AzureRmKeyVault -VaultName ProfileKeyVault -ResourceGro ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [New-AzureRmKeyVault], ValidationException
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.KeyVault.NewAzureKeyVault
尝试将保管库名称放在引号中。
New-AzureRmKeyVault -VaultName 'Contoso03Vault' -ResourceGroupName 'Group14' -Location 'East US'
当我收到错误时
'vaultName' does not match expected pattern
我发现将 Powershell 与原始 Az CLI 命令一起使用时,您必须使用双引号才能创建 KeyVault。
az keyvault create --name "vault-Name-01" --resource-group $resourceGroupName --location $location --sku Standard --enabled-for-disk-encryption true
在 Powershell 脚本中,您传入用双引号引起来的变量
[string]$vaultName = "vault-Name-01"
az keyvault create --name $vaultName --resource-group $resourceGroupName --location $location -sku Standard --enabled-for-disk-encryption true
然后当你想设置一个值时你删除双引号:
az keyvault secret set --vault-name $vaultName.Replace("`"","") --name $_.name --value $_.value
进一步调查显示问题适用于列出和显示金库秘密,我遇到了臭名昭著的错误:
尝试连接到 Vault 时已超过最大重试次数。保管库可能不存在,或者您可能需要刷新 DNS 缓存并稍后重试。
KeyVault 存在,因为我可以使用不带引号的 VaultName 列出保管库机密:
$secretNames = az keyvault secret list --vault-name $sourceVaultName.Replace("`"","") -o json --query "[].name" | ConvertFrom-Json
但是,如果您在尝试 显示 秘密时不包含引号 $sourceVaultName
,则会出现 Max Retires 错误:
$secrets = $secretNames | % {
$secret = az keyvault secret show --name $_ --vault-name $sourceVaultName -o json | ConvertFrom-Json
[PSCustomObject]@{
name = $_;
value = $secret.value;
}
}
如果这些调用中的任何一个超时并且结果为空,请参考此解决方案:
这几乎就像两个开发人员在代码上工作并且有不同的意见...... https://github.com/Azure/azure-cli/issues/13952
我正尝试按照本教程为我的应用程序设置 Azure Key Vault:https://blogs.technet.microsoft.com/kv/2015/06/02/azure-key-vault-step-by-step/
在本教程的创建和配置密钥保管库部分,在执行以下两个步骤之后:
我无法执行此步骤:
它在我的 PowerShell 中显示错误消息:
New-AzureRmKeyVault : 'vaultName' does not match expected pattern '^[a-zA-Z0-9-]{3,24}$'. At line:1 char:1 + New-AzureRmKeyVault -VaultName ProfileKeyVault -ResourceGro ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : CloseError: (:) [New-AzureRmKeyVault], ValidationException + FullyQualifiedErrorId : Microsoft.Azure.Commands.KeyVault.NewAzureKeyVault
尝试将保管库名称放在引号中。
New-AzureRmKeyVault -VaultName 'Contoso03Vault' -ResourceGroupName 'Group14' -Location 'East US'
当我收到错误时
'vaultName' does not match expected pattern
我发现将 Powershell 与原始 Az CLI 命令一起使用时,您必须使用双引号才能创建 KeyVault。
az keyvault create --name "vault-Name-01" --resource-group $resourceGroupName --location $location --sku Standard --enabled-for-disk-encryption true
在 Powershell 脚本中,您传入用双引号引起来的变量
[string]$vaultName = "vault-Name-01"
az keyvault create --name $vaultName --resource-group $resourceGroupName --location $location -sku Standard --enabled-for-disk-encryption true
然后当你想设置一个值时你删除双引号:
az keyvault secret set --vault-name $vaultName.Replace("`"","") --name $_.name --value $_.value
进一步调查显示问题适用于列出和显示金库秘密,我遇到了臭名昭著的错误:
尝试连接到 Vault 时已超过最大重试次数。保管库可能不存在,或者您可能需要刷新 DNS 缓存并稍后重试。
KeyVault 存在,因为我可以使用不带引号的 VaultName 列出保管库机密:
$secretNames = az keyvault secret list --vault-name $sourceVaultName.Replace("`"","") -o json --query "[].name" | ConvertFrom-Json
但是,如果您在尝试 显示 秘密时不包含引号 $sourceVaultName
,则会出现 Max Retires 错误:
$secrets = $secretNames | % {
$secret = az keyvault secret show --name $_ --vault-name $sourceVaultName -o json | ConvertFrom-Json
[PSCustomObject]@{
name = $_;
value = $secret.value;
}
}
如果这些调用中的任何一个超时并且结果为空,请参考此解决方案:
这几乎就像两个开发人员在代码上工作并且有不同的意见...... https://github.com/Azure/azure-cli/issues/13952