Resolver problemas de desencapsulamento de payload

Nesta página, mostramos como resolver problemas com desencapsulamento de payload.

Erros de código de status HTTP

Ao usar o desencapsulamento de payload, podem ocorrer erros comuns no código de status HTTP. É possível monitorar os erros com a métrica push_request_count.

400 solicitação inválida

O seguinte erro ocorre quando o Pub/Sub não pode processar a solicitação devido a uma configuração incorreta ou dados ausentes.

400 Bad Request

Esse erro ocorre por vários motivos. Confira a seguir Causas comuns do erro:

  • O payload (dados da mensagem) não corresponde ao formato de solicitação esperado especificado. pelo endpoint HTTP.
  • Os cabeçalhos necessários para processar a solicitação estão ausentes.
  • Um endpoint HTTP incorreto está configurado para a assinatura.

Para resolver esse problema, tente o seguinte:

  • Verifique o formato do seu payload (dados da mensagem). Certifique-se de que ele corresponde o formato de solicitação esperado especificado pelo endpoint HTTP.
  • Verifique se a solicitação contém os cabeçalhos necessários. Se os cabeçalhos estiverem ausentes, talvez seja necessário adicioná-los nos atributos da mensagem. Um exemplo pode incluir Content-Type, mas outros também podem ser necessários.
  • Confirme se o endpoint HTTP configurado para sua assinatura é válido.
  • Ative a Fila de mensagens inativas (DLQ). na sua assinatura push. Isso redireciona mensagens que não podem ser entregues. É útil ativar o DLQ se você vir um pequeno número de erros 400 que você quer inspecionar.

401 não autorizado / 403 proibido

O seguinte erro ocorre quando o Pub/Sub não pode processar a solicitação devido a credenciais incorretas ou inválidas.

401 unauthorized / 403 forbidden

Esse erro ocorre porque a assinatura de push não foi autenticada.

Para resolver esse problema, tente o seguinte:

  • Ative a Autenticação por push. Como usar o Push a autenticação é importante se você estiver integrando o Cloud Run ou o App Engine.

    Se a autenticação por push não funcionar com sua solução, talvez seja necessário para adicionar sua própria chave de autorização ou de API nos atributos da mensagem de publicação.

415 Tipo de mídia incompatível

O seguinte erro ocorre quando o Pub/Sub não pode processar a solicitação porque o formato do payload está em um formato incompatível.

415 Unsupported Media Type

Esse erro ocorre por vários motivos. Confira a seguir Causas comuns do erro:

  • Falta o cabeçalho de tipo de mídia necessário no endpoint.

Para resolver esse problema, tente a seguinte solução:

  • Seu endpoint provavelmente exige um cabeçalho Content-Type. Por padrão, o payload desencapsulamento, não define um cabeçalho de tipo de mídia. Você pode definir um cabeçalho Content-Type anexando-o como um atributo de mensagem de publicação.

Campos do cabeçalho da solicitação 431 muito grandes / Conteúdo 413 muito grande

O seguinte erro ocorre quando o Pub/Sub não pode processar a solicitação porque o conteúdo enviado na solicitação é muito grande.

431 request header fields too Large / 413 content too large

Esse erro ocorre se os atributos em um tópico do Pub/Sub mensagem excede o tamanho do limite de cabeçalho de um de rede.

Para resolver esses problemas, tente as seguintes soluções:

  • Desative a opção Gravar metadados.
  • Ative a Fila de mensagens inativas (DLQ). na sua assinatura push. Isso redireciona mensagens que não podem ser entregues. Depois disso, sua assinatura continua funcionando, mas as mensagens com erros são redirecionados a um tópico separado para análise posterior.

Verificar se o desencapsulamento de payload está ativado

  1. No console do Google Cloud, acesse a página Assinaturas.

    Abrir assinaturas do Pub/Sub

  2. Clique no nome do seu serviço.

    A página de detalhes do serviço é aberta.

  3. Na tabela de configuração, encontre os seguintes valores: Message data desencapsulamento e Gravar metadados de mensagens.

    O status do encapsulamento de payload (ativado ou desativado) é exibido no linha de tabela correspondente.

A seguir