gpt4 book ai didi

azure - 如何使突触管理的专用端点 privateLinkResourceId 成为workspace_publish分支中的参数

转载 作者:行者123 更新时间:2023-12-03 07:04:06 24 4
gpt4 key购买 nike

借助 Azure DevOps 中最新版本的 Synapse 工作区部署任务,现在可以“在模板中部署托管专用终结点”。遗憾的是,托管专用终结点的属性 privateLinkResourceId 不是workspace_publish 分支中 TemplateParametersForWorkspace.json 文件中的参数。

我已按照建议将文件 arm-template-parameters-definition.json 添加到主分支 here

"Microsoft.DataFactory/factories/managedVirtualNetworks/managedPrivateEndpoints": {
"properties": {
"privateLinkResourceId": "="
}
}

但我仍然无法将 privateLinkResourceId 属性作为 TemplateParametersForWorkspace.json 中的参数,以便能够覆盖部署中不同环境的参数。

有没有人对此有任何运气或者可以指出我正确的方向?

最佳答案

对OP的回答

这里的问题是,您正在使用 Synapse 中不存在的 DataFactory 管理的专用端点,即使它们的名称相同。将 Microsoft.DataFactory/factories 替换为 Microsoft.Synapse/workspaces,如下所示,它应该可以工作:

"Microsoft.Synapse/workspaces/managedVirtualNetworks/managedPrivateEndpoints": {
"properties": {
"privateLinkResourceId": "="
}
}

此外,您可能需要考虑更完整、更清晰的导出:

"Microsoft.Synapse/workspaces/managedVirtualNetworks/managedPrivateEndpoints": {
"properties": {
"privateLinkResourceId": "-:-privateLinkResourceId",
"groupId": "-:-groupId",
"fqdns": "-:-fqdns:array"
}
}

回答@BSCooper

您始终可以使用 Azure CLI 批准专用端点,但您始终需要一些有关 PE 的信息才能找到它(我要求开发人员始终在与环境无关的 MPE 中使用标准名称) .

考虑以下脚本,该脚本批准链接到以下资源的数据工厂上的托管专用端点(尚未使用 Synapse 进行测试,因为不需要):

  1. Key vault: myKeyvault
  2. Storage account: myStorage
  3. Synapse worspace: mySynapse
$approvalMessage = "Auto-Approved by Azure DevOps"

#KeyVault
$keyVaultPE = (az network private-endpoint-connection list -g "myKeyVaultRG" -n "myKeyVault" --type "Microsoft.KeyVault/vaults" --query "[?contains(properties.privateEndpoint.id, 'MPE_AKV')].id") | convertfrom-json
az network private-endpoint-connection approve --id $keyVaultPE --description "$approvalMessage"

#Storage
$storagePE = (az network private-endpoint-connection list -g "mystorageRG" -n "mystorage" --type "Microsoft.Storage/storageAccounts" --query "[?contains(properties.privateEndpoint.id, 'MPE_Blob')].id") | convertfrom-json
az network private-endpoint-connection approve --id $storagePE --description "$approvalMessage"

#Synapse
$synapsePE = (az network private-endpoint-connection list -g "mySynapseRG" -n "mySynapse" --type "Microsoft.Synapse/workspaces" --query "[?contains(properties.privateEndpoint.id, 'MPE_Synapse')].id") | convertfrom-json
az network private-endpoint-connection approve --id $synapsePE --description "$approvalMessage"

请注意如何通过在 JmesPath 上传递部分名称来查询 PE,该命名约定是我要求开发人员在其分支中使用的命名约定。另请注意,您始终可以将 jmespath 更改为您可以用来查找它的任何路径。

关于azure - 如何使突触管理的专用端点 privateLinkResourceId 成为workspace_publish分支中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71740672/

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