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