Che cos'è un criterio?

Questa pagina si applica a Apigee e Apigee ibrido.

Visualizza la documentazione di Apigee Edge.

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

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 le funzionalità del proxy API e ti consentono di innovare in aggiunta alle funzionalità di gestione di base supportate dai criteri di Apigee.

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 nella piattaforma API di esempio su GitHub.

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

Gestione del traffico

I criteri nella categoria di gestione del traffico consentono di controllare il flusso dei messaggi di richiesta e risposta attraverso un proxy API. Questi criteri supportano il controllo sia a livello operativo che aziendale. Consentono di controllare la velocità effettiva non elaborata e il traffico per ogni singola app. I tipi di criteri di gestione del traffico consentono di applicare le quote e consentono anche di mitigare gli attacchi denial of service.

Sicurezza

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

Mediazione

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

Estensione

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

Ogni tipo di criterio è documentato in dettaglio nella Panoramica dei riferimenti ai criteri. Questo argomento illustra l'interazione generale, mostrando come creare criteri e come collegarli ai flussi in una configurazione proxy API.

Deployment delle modifiche ai criteri

Affinché le modifiche ai criteri abbiano effetto, 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 la UI di Apigee o l'API Apigee per eseguire il deployment delle modifiche.

Verificare l'applicazione dei criteri

Per verificare che un criterio venga applicato correttamente, l'API deve essere richiamata da un client HTTP. Per verificare questa configurazione di Quota, invia più richieste all'API, superando il limite di quota impostato nei criteri per le quote. (Il percorso dell'URI, configurato come impostazione del percorso di base nel ProxyEndpoint, nella richiesta seguente è /weather).

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

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

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

Questo indica che il criterio Quota è 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, è necessario 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: serie di norme comuni

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

Convalida delle chiavi API di base

Flusso di richieste 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 della richiesta:
  1. SpikeArrest
  2. JSONThreatProtection
  3. Convalida delle chiavi API
  4. Quota
  5. JSONToXML
Flusso di risposta:
  1. XMLToJSON
  2. ResponseCache