Guia de solução de problemas de ingestão de streaming

Este documento fornece respostas para perguntas frequentes sobre a assimilação de streaming no Adobe Experience Platform. Para questões e solução de problemas relacionados a outros Platform serviços, incluindo aqueles encontrados em todas as Platform APIs, consulte o guia de solução de problemas doExperience Platform.

A Adobe Experience Platform Data Ingestion fornece APIs RESTful que você pode usar para assimilar dados em Experience Platform. Os dados ingeridos são usados para atualizar perfis individuais do cliente em tempo quase real, permitindo que você forneça experiências personalizadas e relevantes em vários canais. Leia a visão geral da Ingestão de dados para obter mais informações sobre o serviço e os diferentes métodos de ingestão. Para obter etapas sobre como usar APIs de ingestão de streaming, leia a visão geral de ingestão destreaming.

Perguntas frequentes

Veja a seguir uma lista de respostas para perguntas frequentes sobre a ingestão de streaming.

Como saber se a carga que estou enviando está formatada corretamente?

Data Ingestion aproveita os schemas Experience Data Model (XDM) para validar o formato dos dados recebidos. Enviar dados que não estejam em conformidade com a estrutura de um schema XDM predefinido causará a falha da ingestão. Para obter mais informações sobre o XDM e seu uso no Experience Platform, consulte a visão geral do SistemaXDM.

A assimilação de fluxo suporta dois modos de validação: síncrono e assíncrono. Cada método de validação lida com dados com falha de forma diferente.

A validação síncrona deve ser usada durante o processo de desenvolvimento. Os registros que falharem na validação são descartados e retornam uma mensagem de erro sobre o motivo da falha (por exemplo: "Formato de mensagem XDM inválido").

A validação assíncrona deve ser usada na produção. Quaisquer dados malformados que não passem na validação são enviados para o arquivo de lote Data Lake com falha, onde podem ser recuperados posteriormente para obter mais análises.

Para obter mais informações sobre a validação síncrona e assíncrona, consulte a visão geral da validação dostreaming. Para obter etapas sobre como visualização lotes com falha na validação, consulte o guia sobre como recuperar lotescom falha.

É possível validar uma carga de solicitação antes de enviá-la para Platform?

As cargas de solicitação só podem ser avaliadas depois de enviadas para Platform. Ao executar a validação síncrona, as cargas válidas retornam objetos JSON preenchidos enquanto cargas inválidas retornam mensagens de erro. Durante a validação assíncrona, o serviço detecta e envia todos os dados malformados para o local em Data Lake que podem ser recuperados posteriormente para análise. Consulte a visão geral da validação de streaming para obter mais informações.

O que acontece quando a validação síncrona é solicitada em uma borda que não oferece suporte a ela?

Quando a validação síncrona não é compatível com o local solicitado, uma resposta de erro 501 é retornada. Consulte a visão geral da validação de streaming para obter mais informações sobre a validação síncrona.

Como faço para garantir que os dados sejam coletados somente de fontes confiáveis?

Experience Platform oferece suporte à coleta de dados protegida. Quando a coleta de dados autenticada está ativada, os clientes devem enviar um JSON Web Token (JWT) e sua ID de organização IMS como cabeçalhos de solicitação. Para obter mais informações sobre como enviar dados autenticados para Platform, consulte o guia sobre a coleta de dadosautenticada.

Para qual é a latência do streaming de dados Real-time Customer Profile?

Eventos com transmissão contínua geralmente são refletidos em menos Real-time Customer Profile de 60 segundos. As latências reais podem variar devido a limitações de volume de dados, tamanho da mensagem e largura de banda.

É possível incluir várias mensagens na mesma solicitação de API?

É possível agrupar várias mensagens em uma única carga de solicitação e fazer o stream delas para Platform. Quando usado corretamente, agrupar várias mensagens em uma única solicitação é uma excelente maneira de otimizar suas operações de dados. Leia o tutorial sobre como enviar várias mensagens em uma solicitação para obter mais informações.

Como saber se os dados que estou enviando estão sendo recebidos?

Todos os dados enviados para Platform (com êxito ou de outra forma) são armazenados como arquivos em lote antes de serem persistentes em conjuntos de dados. O status de processamento dos lotes é exibido no conjunto de dados para o qual foram enviados.

Você pode verificar se os dados foram ingeridos com êxito verificando a atividade do conjunto de dados usando a interface do usuário doExperience Platform. Clique em Conjuntos de dados na navegação à esquerda para exibir uma lista de conjuntos de dados. Selecione o conjunto de dados para o qual você está fazendo streaming na lista exibida para abrir a página de atividade do Conjunto de Dados, mostrando todos os lotes enviados durante um período selecionado. Para obter mais informações sobre como usar Experience Platform para monitorar fluxos de dados, consulte o guia sobre como monitorar fluxosde dados de transmissão.

Se os seus dados não foram assimilados e você deseja recuperá-los, Platformé possível recuperar os lotes com falha enviando suas IDs para o Data Access API. Consulte o guia sobre como recuperar lotes com falha para obter mais informações.

Por que meus dados de transmissão não estão disponíveis no Data Lake?

Há várias razões pelas quais a ingestão em lote pode falhar ao atingir o Data Lake, como formatação inválida, dados ausentes ou erros do sistema. Para determinar por que o lote falhou, você deve recuperar o lote usando o Data Ingestion Service API e visualização seus detalhes. Para obter etapas detalhadas sobre como recuperar um lote com falha, consulte o guia sobre como recuperar lotescom falha.

Como analiso a resposta retornada para a solicitação de API?

Você pode analisar uma resposta primeiro verificando o código de resposta do servidor para determinar se sua solicitação foi aceita. Se um código de resposta bem-sucedido for retornado, você poderá revisar o objeto da responses matriz para determinar o status da tarefa de ingestão.

Uma solicitação de API de mensagem única bem-sucedida retorna o código de status 200. Uma solicitação de API de mensagem em lote bem-sucedida (ou parcialmente bem-sucedida) retorna o código de status 207.

O JSON a seguir é um exemplo de objeto de resposta para uma solicitação de API com duas mensagens: uma foi bem sucedida e outra falhou. As mensagens que fazem o stream com êxito retornam uma xactionId propriedade. As mensagens que falham no fluxo retornam uma statusCode propriedade e uma resposta message com mais informações.

{
    "inletId": "9b0cb233972f3b0092992284c7353f5eead496218e8441a79b25e9421ea127f5",
    "batchId": "1565638336649:1750:244",
    "receivedTimeMs": 1565638336705,
    "responses": [
        {
            "xactionId": "1565650704337:2124:92:3"
        },
        {
            "statusCode": 400,
            "message": "inletId: [9b0cb233972f3b0092992284c7353f5eead496218e8441a
                79b25e9421ea127f5] 
                imsOrgId: [{IMS_ORG}] 
                Message has unknown xdm format"
        }
    ]
}

Por que minhas mensagens enviadas não estão sendo recebidas por Real-time Customer Profile?

Se Real-time Customer Profile rejeitar uma mensagem, provavelmente ela se deve a informações de identidade incorretas. Isso pode ser o resultado de fornecer um valor ou namespace inválido para uma identidade.

Existem dois tipos de namespaces de identidade: padrão e personalizado. Ao usar namespaces personalizadas, verifique se a namespace foi registrada dentro Identity Service. Consulte a visão geral da namespace de identidade para obter mais informações sobre o uso de namespaces padrão e personalizadas.

Você pode usar a Experience Platform UI para ver mais informações sobre por que uma mensagem falhou na ingestão. Clique em Monitoramento na navegação à esquerda e, em seguida, visualização a guia Streaming end-to-end para ver os lotes de mensagens transmitidos durante um período selecionado.

Nesta página