Sobes.tech
Junior — Middle

Vysvětlete, co se rozumí pod metadaty v protokolu gRPC a jakou roli hrají.

sobes.tech AI

Odpověď od AI

V gRPC jsou metadata doplňující informace, které se přenášejí spolu s požadavkem nebo odpovědí, ale nepatří do hlavního těla zprávy.

Role metadat:

  • Přenos servisních informací, například tokenů pro autentizaci, identifikátorů relací, jazykových nastavení.
  • Řízení chování volání (například časové limity, priority).
  • Pomáhají implementovat další vrstvy logiky bez změny struktury hlavní zprávy.

V Go jsou metadata reprezentována jako páry klíč-hodnota a mohou být přidána do kontextu volání. Například:

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

md := metadata.Pairs("authorization", "Bearer token123")
ctx := metadata.NewOutgoingContext(context.Background(), md)
// ctx je předáno volání gRPC