作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下 Azure Key Vault 资源代码:
$tempkeyid = (Get-AzKeyVaultKey -VaultName $vaultname -Name $tempkeyname).Id
$tempkeyid = $tempkeyid.Substring(0, $tempkeyid.LastIndexOf('/'))
$tempkeyid
New-AzSynapseWorkspaceKey -ResourceGroupName $resourcegroup -WorkspaceName $workspacename -Name $tempkeyname -EncryptionKeyIdentifier $tempkeyid
第 2 行之所以存在,是因为 key 保管库返回版本化标识符,但第 4 行需要无版本标识符
第 3 行 $tempkeyid 的值为:
https://keyvaultname.vault.azure.net:443/keys/keyname
我收到错误:
New-AzSynapseWorkspaceKey: Key Vault URL should be a normalized URL
我尝试使用下面的代码对 URL 进行编码和解码,但编码尝试出现相同的错误,解码尝试出现错误,提示“无效 URI:无法确定 URI 的格式”。我不确定如何将其标准化,或者具体哪些内容未标准化。 $tempkeyid 的值对我来说看起来是正确的。
$tempkeyid = [System.Web.HttpUtility]::UrlEncode($tempkeyid)
$tempkeyid = [System.Web.HttpUtility]::UrlDecode($tempkeyid)
最佳答案
编码与 URI 规范化不同,URI 规范化是指以标准格式表达 uri。 (参见wikipedia entry)。就您而言,我猜它不喜欢使用默认端口(:443)。要系统地获取规范化的 uri,请尝试如下操作:
$tempkeyiduri = [System.Uri]($tempkeyid)
$tempkeyid = $tempkeyiduri.AbsoluteUri
关于azure - 如何在 powershell 中规范化此 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72021389/
我是一名优秀的程序员,十分优秀!