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 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 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 a DLQ se você notar um pequeno número de erros 400 que 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 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 Causas 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 exige um cabeçalho Content-Type. Por padrão, o desempacotamento de payload 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, a assinatura continua funcionando, mas as mensagens com erros são redirecionadas para 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 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