Che cos'è un criterio?

Questa pagina si applica ad Apigee e Apigee hybrid.

Visualizza la documentazione di Apigee Edge.

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

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

Questo argomento fornisce una panoramica dei tipi di criteri e del loro utilizzo in Apigee. Per informazioni su criteri specifici, consulta la Panoramica di riferimento dei criteri.

Tipi e categorie di criteri

Tecnicamente, un criterio è un file di configurazione in formato XML. La struttura di ogni criterio (ad esempio gli elementi di configurazione obbligatori e facoltativi) è definita da un schema XML. Se hai dimestichezza con gli strumenti XML, vale la pena acquisire familiarità con gli schemi delle norme negli esempi della piattaforma API su GitHub.

I criteri Apigee sono raggruppati nelle seguenti categorie funzionali. Le norme disponibili per ogni categoria sono elencate nella Panoramica di riferimento delle norme.

Gestione del traffico

I criteri nella categoria di gestione del traffico ti consentono di controllare il flusso di messaggi di richiesta e risposta tramite un proxy API. Questi criteri supportano il controllo sia a livello operativo che a livello di attività. Ti consentono di controllare la larghezza di banda non elaborata e possono anche controllare il traffico su base app. I tipi di criteri di gestione del traffico ti consentono di applicare le quote e anche di mitigare gli attacchi di tipo denial of service.

Sicurezza

I criteri nella categoria Sicurezza supportano l'autenticazione, l'autorizzazione e la sicurezza basata sui contenuti.

Mediazione

I criteri nella categoria Mediazione ti consentono di manipolare attivamente i messaggi mentre passano attraverso i proxy API. Ti consentono di trasformare i formati dei messaggi, da XML a JSON (e viceversa) o da un formato XML a un altro formato XML. 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 da Apigee, consentendoti di recuperare i dati su app, sviluppatori, token di sicurezza e prodotti API in fase di esecuzione.

Estensione

I criteri nella categoria delle estensioni ti consentono di sfruttare l'estensibilità di Apigee per implementare un comportamento personalizzato nel linguaggio di programmazione che preferisci.

Collegamento dei criteri

Affinché un criterio venga applicato al proxy API, devi collegarlo al proxy in un flusso. Per informazioni, consulta gli altri argomenti di questa sezione, tra cui Collegare e configurare i criteri nell'interfaccia utente e Collegare e configurare i criteri nei file XML.

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 allegato un criterio o apportato modifiche a un criterio esistente, utilizza l'interfaccia utente di Apigee o l'API Apigee per eseguire il deployment delle modifiche.

Verificare l'applicazione delle norme

Per verificare che un criterio venga applicato correttamente, l'API deve essere invocata da un client HTTP. Per verificare una configurazione Quota, imposta una quota (ad esempio una richiesta al minuto), quindi invia più richieste all'API superando il limite di quota impostato nel criterio di quota. 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 messaggio di errore:

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

Ciò indica che il criterio Quota viene applicato da Apigee.

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, devi implementare un comportamento per gestire questi errori. Ad esempio, potresti voler inviare un messaggio personalizzato a uno sviluppatore la cui app ha superato il limite di Quota.

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

Best practice: insiemi di norme comuni

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

Convalida di base delle chiavi API

Flusso di richieste di ProxyEndpoint:
  1. SpikeArrest
  2. XMLThreatProtection o JSONThreatProtection
  3. Convalida delle chiavi API
  4. Quota
  5. ResponseCache
Flusso di risposta di ProxyEndpoint:
  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