你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Microsoft行星计算机 Pro GeoCatalog 中的数据引入问题通常分为两类:访问权限问题和 STAC(SpatioTemporal 资产目录)验证错误。 本文可帮助你识别和解决这些常见的摄取故障。
先决条件
- 有效的 Microsoft Planetary Computer Pro GeoCatalog
- 已安装并经过身份验证的 Azure CLI
- 访问包含地理空间数据的存储帐户
- 符合 STAC 标准的地理空间资产元数据
症状
数据引入工作流失败,并出现特定 错误代码。 可能会遇到两个主要类别的问题:
- 访问和权限错误: 引入过程失败,因为 GeoCatalog 服务无法读取源数据。 你可能会看到错误代码,例如
IngestionAuthenticationFailed,IngestionResourceForbidden或IngestionResourceUriNotFound。 - STAC 验证错误: 引入失败,因为提供的 STAC 元数据不符合 STAC 标准或服务特定的规则。 你可能会看到错误代码,例如
StacValidationFailed,InvalidStacCatalog或InvalidInputData。
识别数据引入期间的错误
对于 单项引入,如果发生引入错误,API 响应或用户界面将返回错误代码。
对于 批量引入,每个 STAC 项的错误可能有所不同。 若要查看各个错误,请导航到 Azure 门户,找到 GeoCatalog 资源的 诊断设置 。 在这里,可以启用 引入日志。
启用日志记录后,再次尝试数据导入。 如果引入失败,请转到诊断设置中指定的位置以查看错误。
原因 1:GeoCatalog 无法访问源数据
GeoCatalog 服务缺少读取 STAC 元数据(例如 catalog.json)和相关数据资产(例如 GeoTIFF 文件)的必要权限。 此错误是因为未为存储位置配置有效的 引入源 。 如果元数据文件和资产文件配置在不同位置,则必须为它们配置导入来源。
解决方案 1:配置引入源权限
验证引入源是否存在
- 导航到 GeoCatalog 的 “设置 ”选项卡
- 检查是否为存储容器配置了引入源
- 如果没有, 请创建引入源
验证凭据
对于托管标识:
- 确保托管标识具有“存储 Blob 数据读取者”角色
- 验证角色分配是否位于正确的范围(存储帐户或容器级别)
- 检查托管标识是否与 GeoCatalog 相关联
对于 SAS 令牌:
- 验证令牌是否未过期
- 确保令牌具有
read和list权限 - 确认令牌范围设置为正确的容器
检查对所有所需位置的访问权限
批量引入支持静态 STAC 目录,这些目录引用存储在
catalog.json文件中的容器之外的存储中的资产。 但是,每个存储容器都需要 GeoCatalog 的引入源来维护引入数据的权限。确保 GeoCatalog 有权:
- STAC 目录 JSON 文件
- 所有 STAC 项 JSON 文件
- STAC 项中引用的所有资产文件
重试引入: 验证并更正引入源配置后,请再次尝试引入。
原因 2:STAC 元数据验证失败
引入服务严格执行 STAC 规范。 如果 STAC 目录、集合或项 JSON 不符合标准或满足特定的 GeoCatalog 要求,则引入失败。
解决方案 2.1:修复无效的 STAC 格式和值
在本地验证: 在引入之前,请使用类似于
pystac验证 STAC 对象的库。 在引入数据之前,此方法可能会捕获许多常见的格式设置问题。检查必填字段:
- 确保元数据中存在所有必需的 STAC 字段。
- 对于单项引入,STAC 项 JSON 必须 包含
collection该字段,其值设置为 GeoCatalog 中目标集合的 ID。
设置日期/时间格式:验证所有
datetime字段是否符合 ISO 8601 标准(例如)。YYYY-MM-DDTHH:MM:SSZ该pystac库提供实用工具来正确设置日期时间的格式。检查是否有无效字符和不正确的长度:
- STAC
Item IDs和Asset keys:- 必须仅包含以下字符:
- 字母:
A-Z,a-z - 位数:
0-9 - 符号:
-、、_、+,、(、)、.
- 字母:
- 所有其他字符都无效。
Item IDs必须少于 150 个字符。Asset keys必须少于 256 个字符。
- 必须仅包含以下字符:
- STAC
Collection IDs:- 必须仅包含以下字符:
- 字母:
A-Z,a-z - 位数:
0-9 - 符号:
-、、_、.
- 字母:
- 所有其他字符都无效
Collection IDs必须少于 243 个字符。
- 必须仅包含以下字符:
- STAC
重试引入: 更正 STAC 元数据后,再次尝试引入。
解决方案 2.2:简化 STAC 扩展
- 标识扩展: 检查 STAC 项是否使用任何 STAC 扩展。 虽然功能强大,但它们为验证增添了复杂性,而且许多人没有处于最终状态。
- 删除非基本扩展: 如果怀疑扩展导致了
StacValidationFailed错误,请尝试将其从 STAC 项stac_extensions列表和任何关联的字段中删除。 - 重新验证并重试: 在本地验证简化的 STAC 项,然后重试引入。


