Azure Powershell New-AzSynapseManagedPrivateEndpoint 定义文件格式?
Azure Powershell New-AzSynapseManagedPrivateEndpoint Definition File format?
我正在尝试将托管专用终结点部署到我的突触实例,以将其连接到同一资源组中的密钥保管库。 Bicep 中相同部署的文档非常不完整,因此我想使用以下命令试试 PowerShell 的运气:
New-AzSynapseManagedPrivateEndpoint `
-WorkspaceName "synapse-test-joao" `
-Name "managedPrivateEndpointKeyVault" `
-DefinitionFile file.json
但是,我似乎无法在 Internet 上的任何地方找到定义文件的格式,所以想知道是否有人有任何关于 json 格式以及需要在其中包含哪些参数的信息。
这将非常有帮助,
若奥
示例 -DefinitionFile
应采用以下格式:
{
# here i am using sample blob storage
"name": "testblob", #ManagePrivate Endpoint Name
"properties": {
"privateLinkResourceId": "/subscriptions/<subscription ID>/resourceGroups/<ResourceGroup name>/providers/Microsoft.Storage/storageAccounts/<Storage Account Name>",
"groupId": "blob"
}
}
要获取-DefinitionFile
示例文件按照以下方式:
方式一:
- 转到您的 Azure Synapse 工作区 -> 托管专用终结点
- 将光标拖到您的私有端点,您可以看到 {} -(代码) 从那里您可以获得示例
-DefinitionFile
.
方式二:
这样就可以得到ManagedPrivateEndpoint
的PrivateLinkResourceId
$ds = Get-AzSynapseWorkspace -Name <Synapse workspaces Name>
$ws | Get-AzSynapseManagedPrivateEndpoint -Name <Your Created Managed Private Endpoint Name>
# Private Link Resource Id
/subscriptions/<subscription ID>/resourceGroups/<ResourceGroup name>/providers/Microsoft.Storage/storageAccounts/<Storage Account Name>
参考here
在 devOps 管道中为 Synapse 部署托管专用端点的代码如下:
param(
$environment,
$synapseWorkspaceVar,
$subscriptionId,
$resourceGroupNameVar,
$keyVaultNameVar
)
$createPrivateEndpointJsonString = @"
{
"properties": {
"privateLinkResourceId": "/subscriptions/$subscriptionId/resourceGroups/$resourceGroupNameVar/providers/Microsoft.KeyVault/vaults/$keyVaultNameVar",
"groupId": "vault"
}
}
"@
write-output $createPrivateEndpointJsonString
$tempFolderPath = ".\temp"
if (!(Test-path -path $tempFolderPath)) {
echo "new file"
New-Item -ItemType directory -path $tempFolderPath
}
write-output "creating the PrivateEndpoint Definition Json file...."
$jsonpath = ".$tempFolderPath\createprivateendpoint.json"
Set-Content -Path $jsonpath -value $createPrivateEndpointJsonString
echo "Creating new Managed Private Endpoint from Synapse to KeyVault..."
New-AzSynapseManagedPrivateEndpoint `
-WorkspaceName $synapseWorkspaceVar `
-Name "managedPrivateEndpointKeyVaultACEP" `
-DefinitionFile $jsonpath
Get-AzSynapseManagedPrivateEndpoint -WorkspaceName $synapseWorkspaceVar
我正在尝试将托管专用终结点部署到我的突触实例,以将其连接到同一资源组中的密钥保管库。 Bicep 中相同部署的文档非常不完整,因此我想使用以下命令试试 PowerShell 的运气:
New-AzSynapseManagedPrivateEndpoint `
-WorkspaceName "synapse-test-joao" `
-Name "managedPrivateEndpointKeyVault" `
-DefinitionFile file.json
但是,我似乎无法在 Internet 上的任何地方找到定义文件的格式,所以想知道是否有人有任何关于 json 格式以及需要在其中包含哪些参数的信息。 这将非常有帮助, 若奥
示例 -DefinitionFile
应采用以下格式:
{
# here i am using sample blob storage
"name": "testblob", #ManagePrivate Endpoint Name
"properties": {
"privateLinkResourceId": "/subscriptions/<subscription ID>/resourceGroups/<ResourceGroup name>/providers/Microsoft.Storage/storageAccounts/<Storage Account Name>",
"groupId": "blob"
}
}
要获取-DefinitionFile
示例文件按照以下方式:
方式一:
- 转到您的 Azure Synapse 工作区 -> 托管专用终结点
- 将光标拖到您的私有端点,您可以看到 {} -(代码) 从那里您可以获得示例
-DefinitionFile
.
方式二:
这样就可以得到ManagedPrivateEndpoint
的PrivateLinkResourceId$ds = Get-AzSynapseWorkspace -Name <Synapse workspaces Name>
$ws | Get-AzSynapseManagedPrivateEndpoint -Name <Your Created Managed Private Endpoint Name>
# Private Link Resource Id
/subscriptions/<subscription ID>/resourceGroups/<ResourceGroup name>/providers/Microsoft.Storage/storageAccounts/<Storage Account Name>
参考here
在 devOps 管道中为 Synapse 部署托管专用端点的代码如下:
param(
$environment,
$synapseWorkspaceVar,
$subscriptionId,
$resourceGroupNameVar,
$keyVaultNameVar
)
$createPrivateEndpointJsonString = @"
{
"properties": {
"privateLinkResourceId": "/subscriptions/$subscriptionId/resourceGroups/$resourceGroupNameVar/providers/Microsoft.KeyVault/vaults/$keyVaultNameVar",
"groupId": "vault"
}
}
"@
write-output $createPrivateEndpointJsonString
$tempFolderPath = ".\temp"
if (!(Test-path -path $tempFolderPath)) {
echo "new file"
New-Item -ItemType directory -path $tempFolderPath
}
write-output "creating the PrivateEndpoint Definition Json file...."
$jsonpath = ".$tempFolderPath\createprivateendpoint.json"
Set-Content -Path $jsonpath -value $createPrivateEndpointJsonString
echo "Creating new Managed Private Endpoint from Synapse to KeyVault..."
New-AzSynapseManagedPrivateEndpoint `
-WorkspaceName $synapseWorkspaceVar `
-Name "managedPrivateEndpointKeyVaultACEP" `
-DefinitionFile $jsonpath
Get-AzSynapseManagedPrivateEndpoint -WorkspaceName $synapseWorkspaceVar