Resolver problemas de desempacotamento de payload

Esta página mostra como resolver problemas com a abertura de payload.

Erros de código de status HTTP

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

400 Bad Request

O erro a seguir ocorre quando o Pub/Sub não consegue processar a solicitação devido a uma configuração incorreta ou à falta de dados.

400 Bad Request

Esse erro ocorre por vários motivos. Confira a seguir algumas das causas mais 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 payload (dados da mensagem). Verifique se ele corresponde ao 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 aos 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 individuais que não podem ser entregues. É útil ativar a DLQ se você notar um pequeno número de erros 400 que quer inspecionar.

401 não autorizado / 403 proibido

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

401 unauthorized / 403 forbidden

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

Para resolver esse problema, tente o seguinte:

  • Ative a Autenticação push. O uso da autenticação push é importante se você estiver fazendo a integração com o Cloud Run ou o App Engine.

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

415 Tipo de mídia incompatível

O erro a seguir ocorre quando o Pub/Sub não consegue processar a solicitação porque o formato do payload não é aceito.

415 Unsupported Media Type

Esse erro ocorre por vários motivos. Confira a seguir algumas das causas mais comuns do erro:

  • O endpoint não tem o cabeçalho "media-type" necessário.

Para resolver esse problema, tente o seguinte:

  • Seu endpoint provavelmente requer um cabeçalho Content-Type. Por padrão, o desempacotamento de payload não define um cabeçalho de tipo de mídia. É possível definir um cabeçalho Content-Type anexando-o como um atributo de publicação de mensagem.

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

O erro a seguir ocorre quando o Pub/Sub não consegue 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 uma mensagem do Pub/Sub excederem o tamanho limite do cabeçalho de um servidor.

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 individuais que não podem ser entregues. Depois disso, a assinatura continua funcionando, mas as mensagens com erros são redirecionadas para um tópico separado para análise.

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 serviço.

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

  3. Na tabela de configuração, encontre os seguintes valores: Descompactação de dados da mensagem e Gravar metadados da mensagem.

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

A seguir