You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PowerShell调用REST API获取Azure Purview术语表条目?

通过PowerShell调用Azure Purview REST API获取术语表条目

问题背景

我正在用PowerShell集成Azure Purview与其他系统,目标是通过REST API批量获取Purview中的所有术语表条目。已完成Azure认证并获取到有效的Bearer令牌,但调用API时返回"Not found"错误,核心问题是不知道**术语表ID(glossaryId)**的获取方式,也不确定正确的API请求结构。


解决方案

1. 先获取术语表ID

术语表ID(即guid)需要先通过API查询,无法直接留空。运行以下脚本可获取所有术语表的名称和对应ID:

# 替换为你的Purview账户名
$purviewAccountName = "PurviewAccountName"
$token = Get-AzAccessToken -ResourceUrl "https://purview.azure.net" | Select-Object -ExpandProperty AccessToken

# 获取所有术语表的API端点
$glossaryListEndpoint = "https://$purviewAccountName.purview.azure.com/datamap/api/atlas/v2/glossary?api-version=2023-09-01"

$headers = @{
    'Authorization' = "Bearer $token"
    'Content-Type' = 'application/json'
}

try {
    $glossaries = Invoke-RestMethod -Uri $glossaryListEndpoint -Headers $headers -Method Get
    # 输出所有术语表的名称和ID
    $glossaries | Select-Object name, guid
}
catch {
    Write-Error "获取术语表列表失败: $_"
}

运行后会返回所有术语表的name(名称)和guid(即所需的glossaryId),默认术语表通常名为"Glossary",复制其guid即可。

2. 获取指定术语表的所有条目

将拿到的glossaryId替换到脚本中,注意limit参数建议设为较大值(如1000),若条目数量超过该值需分页处理:

$purviewAccountName = "PurviewAccountName"
# 替换为上面获取到的术语表ID
$glossaryId = "your-glossary-guid-here"
$token = Get-AzAccessToken -ResourceUrl "https://purview.azure.net" | Select-Object -ExpandProperty AccessToken

# 正确的术语表条目查询端点,支持分页和排序
$endpoint = "https://$purviewAccountName.purview.azure.com/datamap/api/atlas/v2/glossary/$glossaryId/terms?api-version=2023-09-01&limit=1000&offset=0&sort=name:ASC"

$headers = @{
    'Authorization' = "Bearer $token"
    'Content-Type' = 'application/json'
}

try {
    $response = Invoke-RestMethod -Uri $endpoint -Headers $headers -Method Get
    # 按需输出条目核心字段,可根据需求调整
    $response | Select-Object guid, name, definition, status
}
catch {
    # 捕获详细错误信息用于排查
    Write-Error "获取术语表条目失败: $($_.Exception.Message)"
    if ($_.ErrorDetails) {
        Write-Error "API返回错误: $($_.ErrorDetails.Message)"
    }
}

关键注意事项

  • 分页处理:若术语表条目超过limit设置的数量,需循环递增offset参数,直到返回的条目数为0。
  • API版本:建议使用最新稳定版API(如2023-09-01),避免旧版本兼容性问题。
  • 权限验证:确保当前Azure账户拥有Purview的Data Curator或Data Reader权限,否则会返回权限错误。

内容的提问来源于stack exchange,提问作者Nicol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 00:55:07