Django / Production

Fare un passo 25 Di 25

Webhook e cache

Utilizza la cache di Django per velocizzare la lettura locale delle traduzioni ed esponi un webhook firmato per gli aggiornamenti di Altified.

Per l'ambiente di produzione, configura una cache Django condivisa come Redis in modo che tutti i web worker leggano le stesse traduzioni.

settings.py
CACHES = { "default": { "BACKEND": "django.core.cache.backends.redis.RedisCache", "LOCATION": "redis://127.0.0.1:6379", } }

Esporre l'endpoint webhook dell'SDK se si desidera che Altified invii le traduzioni completate nella cache dell'applicazione.

urls.py
from django.urls import include, path urlpatterns = [ ..., path("altified/", include("django_altified.urls")), ]
  • L'URL del webhook è /altified/webhook/.
  • Altified firma i corpi dei webhook con HMAC-SHA256 utilizzando la ALTIFIED_API_KEY esistente.
  • L'SDK memorizza le traduzioni valide dei webhook nella cache di Django.
  • La cache di memoria locale va bene per lo sviluppo, ma non è sufficiente per la produzione multi-worker.

Intestazione della firma

Le richieste Webhook devono includere X-Altified-Signature: sha256=<digest>La chiave API non elaborata non viene mai inviata come token webhook.