Partilhar via


Solução de problemas de ingestão de dados no Microsoft Planetary Computer Pro

Os problemas de ingestão de dados no Microsoft Planetary Computer Pro GeoCatalog normalmente se enquadram em duas categorias: problemas de permissão de acesso e erros de validação STAC (SpatioTemporal Asset Catalog). Este artigo ajuda a identificar e resolver essas falhas comuns de ingestão.

Pré-requisitos

Sintomas

Os fluxos de trabalho de ingestão de dados falham com códigos de erro específicos. Poderá deparar-se com duas categorias principais de problemas:

  1. Erros de acesso e permissão: O processo de ingestão falha porque o serviço GeoCatalog não consegue ler os dados de origem. Poderá ver códigos de erro como IngestionAuthenticationFailed, IngestionResourceForbiddenou IngestionResourceUriNotFound.
  2. Erros de validação STAC: A ingestão falha porque os metadados STAC fornecidos não estão em conformidade com o padrão STAC ou regras específicas do serviço. Poderá ver códigos de erro como StacValidationFailed, InvalidStacCatalogou InvalidInputData.

Identificação de erros durante a ingestão

Para Ingestão de Item Único, se ocorrer um erro de ingestão, a resposta da API ou a interface do usuário retornará o código de erro.

Captura de tela de um único erro de ingestão de item, incluindo um destaque de onde encontrar o código de erro.

Para ingestão em massa, os erros podem ser diferentes para cada um dos Itens STAC individuais. Para ver os erros individuais, navegue até o portal do Azure e localize as Configurações de Diagnóstico para seu recurso GeoCatalog. Aqui, você pode ativar os Logs de Ingestão.

Captura de ecrã a mostrar a pesquisa de GeoCatálogos no portal do Azure.

Assim que o registo estiver ativado, tente a sua ingestão novamente. Se a ingestão falhar, vá para o local especificado nas configurações de diagnóstico para revisar os erros.

Causa 1: O GeoCatalog não consegue aceder aos dados de origem

O serviço GeoCatalog não tem as permissões necessárias para ler seus metadados STAC (por exemplo, catalog.json) e os ativos de dados associados (por exemplo, arquivos GeoTIFF). Este erro ocorre porque uma fonte de ingestão válida não está configurada para o local de armazenamento. As fontes de ingestão devem ser configuradas para os arquivos de metadados e os arquivos de ativos se estiverem configurados em locais diferentes.

Solução 1: Configurar permissões da fonte de ingestão

  1. Verificar se a fonte de ingestão existe

    • Navegue até a guia Configurações do GeoCatálogo
    • Verifique se uma fonte de ingestão está configurada para o seu recipiente de armazenamento
    • Caso contrário, crie uma fonte de ingestão
  2. Validar credenciais

    Para identidade gerenciada:

    • Assegure-se de que a identidade gerida tenha a função Leitor de Dados de Blob de Armazenamento
    • Verifique se a atribuição de função está no escopo correto (nível de conta de armazenamento ou contêiner)
    • Verifique se a identidade gerenciada está associada ao seu GeoCatalog

    Para tokens SAS:

    • Verifique se o token não expirou
    • Verifique se o token tem read e list permissões
    • Confirme se o token tem o escopo definido para o contentor correto
  3. Verifique o acesso a todos os locais necessários

    Diagrama de um catálogo STAC mostrando a hierarquia de onde o GeoCatalog precisa de acesso.

    A ingestão em massa suporta catálogos STAC estáticos que fazem referência a ativos localizados no armazenamento além do contêiner no qual o catalog.json arquivo está armazenado. No entanto, cada contêiner de armazenamento requer uma fonte de ingestão para o GeoCatalog para manter as permissões para ingerir dados.

    Verifique se o GeoCatalog tem permissões para:

    • Arquivo JSON do catálogo STAC
    • Todos os arquivos JSON do item STAC
    • Todos os arquivos de ativos referenciados nos itens STAC
  4. Repetição da ingestão: Depois de verificar e corrigir a configuração da fonte de ingestão, tente a ingestão novamente.

Causa 2: Falha na validação de metadados STAC

O serviço de ingestão aplica estritamente a especificação STAC. Sua ingestão falhará se os JSONs de Catálogo, Coleção ou Item STAC não estiverem em conformidade com o padrão ou atenderem aos requisitos específicos do GeoCatalog.

Solução 2.1: Corrigir o formato e os valores STAC inválidos

  1. Validar localmente: Antes de ingerir, use uma biblioteca como pystac para validar seus objetos STAC. Essa abordagem pode detetar muitos problemas comuns de formatação antes de ingerir dados.

  2. Verifique os campos obrigatórios:

    • Certifique-se de que todos os campos STAC obrigatórios estão presentes nos seus metadados.
    • Para a ingestão de um item único, o JSON de item STAC deve incluir o campo collection, com o seu valor definido como o ID da coleção de destino no GeoCatalog.
  3. Formato Datetime: Verifique se todos os datetime campos estão em conformidade com a norma ISO 8601 (por exemplo, YYYY-MM-DDTHH:MM:SSZ). A pystac biblioteca fornece utilitários para formatar datas e horários corretamente.

  4. Verifique se há caracteres e comprimentos inválidos:

    • STAC Item IDs, e Asset keys:
      • Deve conter apenas os seguintes caracteres:
        • Letras: A-Z, a-z
        • Dígitos: 0-9
        • Símbolos: -, _, +, ,, (, ), .
      • Todos os outros caracteres são inválidos.
      • Item IDs deve ter menos de 150 caracteres.
      • Asset keys deve ter menos de 256 caracteres.
    • STAC Collection IDs:
      • Deve conter apenas os seguintes caracteres:
        • Letras: A-Z, a-z
        • Dígitos: 0-9
        • Símbolos: -, _, .
      • Todos os outros caracteres são inválidos
      • Collection IDs deve ter menos de 243 caracteres.
  5. Repetição da ingestão: Depois de corrigir os metadados STAC, tente a ingestão novamente.

Solução 2.2: Simplifique as extensões STAC

  1. Identificar extensões: Verifique se os seus itens STAC utilizam alguma extensão STAC. Embora poderosos, eles adicionam complexidade à validação, e muitos não estão em um status finalizado.
  2. Remova extensões não essenciais: Se suspeitar que uma extensão está a causar um StacValidationFailed erro, tente removê-la da lista de itens stac_extensions STAC e de quaisquer campos associados.
  3. Revalide e tente novamente: Valide o Item STAC simplificado localmente e, em seguida, tente novamente a ingestão.