执行New-AzSynapseRoleAssignment报错:请求名称有效但无对应数据
解决New-AzSynapseRoleAssignment报错:无法解析Synapse工作区域名
问题场景
执行以下PowerShell命令为指定Object ID分配Synapse Administrator权限:
$ws = Get-AzSynapseWorkspace -Name <workspace_name> $ws | New-AzSynapseRoleAssignment -RoleDefinitionName "Synapse Administrator" -ObjectId "xxx"
其中Get-AzSynapseWorkspace执行正常,但New-AzSynapseRoleAssignment返回重试失败的报错,核心错误为The requested name is valid, but no data of the requested type was found,指向无法解析Synapse工作区的域名(如xx.dev.azuresynapse.net)。
排查与解决步骤
验证DNS解析能力
在执行命令的机器上,运行nslookup xx.dev.azuresynapse.net或Resolve-DnsName xx.dev.azuresynapse.net检查域名解析状态。如果无有效解析记录:- 切换至公共DNS服务器(如8.8.8.8、1.1.1.1)后重试
- 排查企业防火墙/代理是否拦截了Synapse域名的DNS请求
检查Synapse工作区网络配置
若Synapse工作区启用了专用端点或虚拟网络隔离:- 确保执行命令的机器位于同一VNet,或通过对等连接、VPN连接到该VNet
- 检查工作区防火墙规则,确认允许执行机器的IP地址访问
更新Az.Synapse模块
旧版本Az模块可能存在域名解析相关bug,运行以下命令更新至最新版本:Update-Module -Name Az.Synapse -Force更新完成后重新执行分配权限的命令
直接指定工作区参数
尝试绕过管道传递,直接指定工作区名称和资源组参数执行命令:$ws = Get-AzSynapseWorkspace -Name <workspace_name> New-AzSynapseRoleAssignment -WorkspaceName $ws.Name -ResourceGroupName $ws.ResourceGroupName -RoleDefinitionName "Synapse Administrator" -ObjectId "xxx"检查本地代理设置
如果机器使用网络代理,确认代理配置允许访问Azure Synapse域名,可临时关闭代理后重试命令
内容的提问来源于stack exchange,提问作者learner
相关产品推荐
相关产品推荐

