Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Aggiungere regole a un gateway
Le regole del gateway consentono di controllare l'instradamento del traffico e di sovrascrivere le configurazioni di destinazione sul gateway senza ridistribuire le destinazioni. Crei bundle di configurazione che sovrascrivono il comportamento di un target, quindi utilizzi le regole per controllare quale versione del pacchetto si applica a quale traffico. Le regole supportano anche il routing delle richieste verso destinazioni diverse in base al percorso della richiesta o all'identità del chiamante.
Utilizza le regole del gateway per raggiungere i seguenti obiettivi:
-
Sperimenta con le versioni del pacchetto di configurazione tramite test A/B
-
Aggiungi principi specifici a una versione del pacchetto di configurazione per il debug
-
Indirizza il traffico verso destinazioni specifiche in base al percorso della richiesta o all'identità del chiamante
-
Imposta un pacchetto o un target di configurazione predefinito per tutto il traffico
Come funzionano le regole del gateway
Ogni regola del gateway contiene i seguenti componenti:
| Componente | Description |
|---|---|
|
Priorità |
Un numero intero compreso tra 1 e 1.000.000. I numeri più bassi indicano una precedenza più elevata. Ogni valore di priorità deve essere univoco all'interno di un gateway. |
|
Conditions (Condizioni) (facoltativa) |
Criteri che determinano se la regola corrisponde a una richiesta. Una regola senza condizioni agisce come un insieme che corrisponde a tutto il traffico. |
|
Azioni (obbligatorie) |
L'azione da intraprendere quando la regola corrisponde. Puoi sovrascrivere i pacchetti di configurazione, indirizzare verso destinazioni specifiche o entrambi. |
|
Descrizione (facoltativa) |
Una descrizione testuale dello scopo della regola. |
Risoluzione della regola
Il gateway valuta le regole in ordine di priorità crescente (prima i numeri più bassi). Il gateway risolve ogni tipo di azione in modo indipendente utilizzando la semantica di prima corrispondenza.
La tabella seguente mostra come il gateway risolve le regole per una richiesta di esempio. In questo esempio, il ruolo QA invia una richiesta a. /my-target-canary/chat
| Priorità | Condizioni | Azioni | Corrisponde alla richiesta? | Risultato |
|---|---|---|---|---|
|
100 |
Un ruolo |
|
Sì |
Si risolve |
|
200 |
Percorso |
|
Sì |
Si risolve in |
|
1000000 |
Nessuno (catch-all) |
|
Sì |
Entrambi i tipi di azione sono già stati risolti. Saltato. |
Risultato finale: la richiesta utilizza la versione A del pacchetto e viene indirizzata a. my-target-canary
Suggerimento
Lascia degli spazi tra i numeri di priorità (ad esempio, 100, 200, 300) in modo da poter inserire le regole in un secondo momento senza rinumerare le regole esistenti.
Condizioni
Le condizioni determinano a quali richieste corrisponde una regola. Una regola può avere un massimo di 2 condizioni. Una regola senza condizioni corrisponde a tutto il traffico.
Il gateway supporta i seguenti tipi di condizioni:
- Match Princials
-
Corrisponde alle richieste in base all'indirizzo IAM del chiamante. L'
anyOfelenco contiene da 1 a 100 voci. Ogni voce specifica unaiamPrincipalcon i seguenti campi:-
arn— L'ARN principale IAM da abbinare. -
operator(opzionale) — L'operatore di confronto. I valori validi sonoStringEquals(default) eStringLike. Da utilizzareStringLikeper la corrispondenza con i caratteri jolly.
-
- Abbina percorsi
-
Corrisponde alle richieste in base al percorso della richiesta. L'
anyOfelenco contiene da 1 a 10 voci. Ogni voce deve utilizzare il formato/<targetName>/*, dove<targetName>corrisponde al nome di una destinazione HTTP esistente sul gateway. La destinazione deve essere nelloReadystato. LamatchPathscondizione è supportata solo per i gateway con destinazioni HTTP. I seguenti prefissi di percorso riservati non sono consentiti:/mcp,,,/a2a,/responses./converse/.well-known
Logica di valutazione delle condizioni
-
All'interno di un tipo di condizione: il gateway utilizza la logica OR. Una richiesta corrisponde se soddisfa una voce nell'
anyOfelenco. -
Tutti i tipi di condizioni: il gateway utilizza la logica AND. Se una regola ha entrambi i
matchPrincipalsvalori ematchPaths, la richiesta deve corrispondere ad almeno una voce per ogni tipo di condizione.
Azioni
Le azioni definiscono cosa fa il gateway quando una regola corrisponde. Una regola può avere un massimo di 2 azioni.
Il gateway supporta i seguenti tipi di azioni:
- Il pacchetto di configurazione sostituisce ()
configurationBundle -
Sostituisci il pacchetto di configurazione applicato al traffico corrispondente.
-
staticOverride— Associa tutto il traffico corrispondente a una versione specifica del pacchetto di configurazione. Specifica l'ARN del bundle e l'ID della versione. -
weightedOverride— Suddivide il traffico tra due versioni del pacchetto di configurazione. L'trafficSplitelenco deve contenere esattamente 2 voci con un peso pari a 100. Il pacchetto di configurazione deve trovarsi nello stesso account del gateway.
-
- Routing di destinazione ()
routeToTarget -
Percorsi che abbinano il traffico a un obiettivo specifico. La destinazione deve utilizzare il protocollo HTTP ed essere nello
Readystato.-
staticRoute— Indirizza tutto il traffico corrispondente a una destinazione specifica per nome. -
weightedRoute— Divide il traffico tra due obiettivi. L'trafficSplitelenco deve contenere esattamente 2 voci con pesi la somma di 100. I nomi delle voci relative alla suddivisione del traffico devono essere univoci.
-
Limits
La tabella seguente elenca i limiti per le regole del gateway.
| Risorsa | Limite |
|---|---|
|
Regole per gateway |
20 |
|
Intervallo di priorità |
Da 1 a 1.000.000 |
|
Condizioni massime per regola |
2 |
|
Numero massimo di azioni per regola |
2 |
|
|
100 |
|
|
10 |
|
|
Esattamente 2 |
|
|
da 1 a 99 |