Che cos'è un criterio?

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
info

Apigee Edge ti consente di "programmare" il comportamento dell'API senza scrivere codice, utilizzando "policies". Un criterio è simile a un modulo che implementa una funzione di gestione specifica e limitata. I criteri sono progettati per consentirti di aggiungere facilmente i tipi comuni di funzionalità di gestione a un'API e in modo affidabile. I criteri offrono funzionalità come sicurezza, limitazione di frequenza, trasformazione e mediazione evitando di dover scrivere codice e gestire autonomamente questa funzionalità.

Non sei limitato all'insieme di tipi di criteri forniti da Apigee Edge. Puoi anche scrivere codice e script personalizzati (ad esempio applicazioni JavaScript e Node.js), che estendono la funzionalità del proxy API e ti consentono di innovare oltre le funzionalità di gestione di base supportate da Apigee Policies.

Guarda questo video per un'introduzione al collegamento e all'applicazione delle norme.

Tipi di criteri

Tecnicamente, un criterio è un file di configurazione in formato XML. La struttura di ogni tipo di criterio (ad esempio gli elementi di configurazione obbligatori e facoltativi) è definita da uno schema XML. Se conosci bene gli strumenti XML, vale la pena familiarizzare con gli schemi dei criteri presenti negli esempi di piattaforma API su GitHub.

I tipi di criteri Edge sono raggruppati nelle seguenti categorie funzionali:

Gestione del traffico

I criteri nella categoria di gestione del traffico consentono di controllare il flusso di richieste e di risposta tramite un proxy API. Questi criteri supportano sia operazioni a livello aziendale. Ti offrono il controllo sulla velocità effettiva non elaborata e possono anche controllare il traffico per le singole app. I tipi di criteri di gestione del traffico consentono di applicare le quote e anche e ti aiutano a mitigare gli attacchi DoS.

Sicurezza

I criteri nella categoria di sicurezza supportano l'autenticazione, l'autorizzazione, sicurezza basata sui contenuti.

Mediazione

I criteri nella categoria di mediazione ti consentono di manipolare attivamente i messaggi durante il flusso tramite proxy API. Consentono di trasformare i formati dei messaggi, da XML a JSON (e viceversa) o di trasformare un formato XML in un altro. Ti consentono inoltre di analizzare i messaggi, generare nuovi messaggi e modificare i valori dei messaggi in uscita. I criteri di mediazione interagiscono anche con i servizi di base esposti dai servizi API, consentendoti di recuperare i dati su app, sviluppatori, token di sicurezza e prodotti API in fase di esecuzione.

Estensione

I criteri nella categoria di estensione ti consentono di sfruttare l'estensibilità dei servizi API per implementare un comportamento personalizzato nel linguaggio di programmazione che preferisci.

Ogni tipo di norme è documentato in dettaglio nella Panoramica di riferimento delle norme. Questo argomento illustra l'interazione generale e mostra come creare norme e come collegarli ai flussi in una configurazione proxy API.

Implementazione di modifiche ai criteri

Affinché le modifiche ai criteri vengano applicate, devi eseguire il deployment della revisione del proxy API in un ambiente. Dopo aver collegato un criterio o apportato modifiche a un criterio esistente, utilizza l'interfaccia utente di gestione o l'API di gestione dei dati per eseguire il deployment delle modifiche.

Verificare l'applicazione dei criteri

Per verificare che un criterio venga applicato correttamente, l'API deve essere invocata da un client HTTP. A verificare questa configurazione della quota, inviare più richieste all'API, superare il limite di quota che hai impostato nel criterio per le quote. Il percorso URI, configurato come impostazione del percorso di base in ProxyEndpoint, nella richiesta di seguito è /weather.

http://{org_name}-test.apigee.net/weather/forecastrss?w=12797282

Dopo aver inviato più di una richiesta entro un minuto, dovresti visualizzare il seguente errore messaggio:

{  
   "fault":{  
      "faultstring":"policies.ratelimit.QuotaViolation",
      "detail":{  
         "errorcode":"policies.ratelimit.QuotaViolation"
      }
   }
}

Questo indica che il criterio per le quote viene applicato dai servizi API.

Gestione degli errori basata su criteri

Prendi nota del formato del messaggio di errore riportato sopra. Contiene una proprietà faultstring e una proprietà errorcode. In molti casi, è necessario implementare un comportamento per a gestire questi errori. Ad esempio, potresti voler inviare un messaggio personalizzato a uno sviluppatore la cui dell'app ha superato la quota.

Per saperne di più sulla gestione degli errori, consulta Gestione degli errori.

Best practice: serie di norme comuni

Per soddisfare i requisiti di gestione di base, i proxy API in genere applicano i seguenti criteri:

Chiave API di base convalida

Flusso di richieste di ProxyEndpoint:
  1. SpikeArrest
  2. XMLThreatProtection o JSONThreatProtection
  3. Convalida delle chiavi API
  4. Quota
  5. ResponseCache
Flusso di risposta degli endpoint proxy:
  1. ResponseCache

Trasformazione di base: da JSON a XML

Flusso di richiesta:
  1. SpikeArrest
  2. JSONThreatProtection
  3. Convalida delle chiavi API
  4. Quota
  5. JSONToXML
Flusso di risposta:
  1. XMLToJSON
  2. ResponseCache