Sobes.tech
Junior — Middle

Explique o que se entende por metadados no protocolo gRPC e qual é o papel que desempenham.

sobes.tech IA

Resposta da IA

No gRPC, os metadados são informações adicionais que são transmitidas juntamente com a solicitação ou resposta, mas não fazem parte do corpo principal da mensagem.

Papel dos metadados:

  • Transmitir informações de serviço, como tokens de autenticação, identificadores de sessão, configurações de idioma.
  • Gerenciar o comportamento da chamada (por exemplo, tempos limite, prioridades).
  • Ajudar a implementar níveis adicionais de lógica sem alterar a estrutura da mensagem principal.

Em Go, os metadados são representados como pares chave-valor e podem ser adicionados ao contexto da chamada. Por exemplo:

import (
    "context"
    "google.golang.org/grpc/metadata"
)

md := metadata.Pairs("authorization", "Bearer token123")
ctx := metadata.NewOutgoingContext(context.Background(), md)
// ctx é passado na chamada gRPC