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à.
Crea, configura e testa i piani di utilizzo utilizzando API Gateway CLI e REST API
Prima di configurare un piano di utilizzo, è necessario aver già eseguito le seguenti operazioni: impostato i metodi di una persona selezionata API per richiedere API le chiavi, distribuirla o ridistribuirla in una fase e creare o API importare una o più chiavi. API Per ulteriori informazioni, consulta Configura API le chiavi utilizzando il API Gateway REST API.
Per configurare un piano di utilizzo utilizzando il API Gateway RESTAPI, utilizza le seguenti istruzioni, supponendo che tu abbia già creato il piano di utilizzo da aggiungere APIs al piano di utilizzo.
Argomenti
Migrazione ai piani di utilizzo predefiniti
Quando si crea un piano di utilizzo per la prima volta, è possibile migrare API le fasi esistenti associate alle API chiavi selezionate verso un piano di utilizzo account:update
chiamando il seguente organismo:
{ "patchOperations" : [ { "op" : "add", "path" : "/features", "value" : "UsagePlans" } ] }
Per ulteriori informazioni sulla migrazione delle API fasi associate alle API chiavi, consulta Migrazione ai piani di utilizzo predefiniti nella console Gateway. API
Creazione di un piano di utilizzo
La procedura seguente illustra come creare un piano di utilizzo.
Per creare un piano di utilizzo con REST API
-
Invoca
usageplan:create
per creare un piano di utilizzo. Nel payload, specificate il nome e la descrizione del piano, le API fasi associate, i limiti di tariffa e le quote.Prendi nota dell'identificativo del piano di utilizzo. Questo valore servirà nella fase successiva.
-
Esegui una di queste operazioni:
-
Chiama
usageplankey:create
per aggiungere una API chiave al piano di utilizzo. SpecificakeyId
ekeyType
nel payload.Per aggiungere altre API chiavi al piano di utilizzo, ripeti la chiamata precedente, una API chiave alla volta.
-
Chiama
apikey:import
per aggiungere una o più API chiavi direttamente al piano di utilizzo specificato. Il payload della richiesta deve contenere i valori API chiave, l'identificatore del piano di utilizzo associato, i flag booleani per indicare che le chiavi sono abilitate per il piano di utilizzo e, possibilmente, i nomi e le descrizioni delle API chiavi.Il seguente esempio di
apikey:import
richiesta aggiunge tre API chiavi (identificate dakey
name
, edescription
) a un piano di utilizzo (come identificato da):usageplanIds
POST /apikeys?mode=import&format=csv&failonwarnings=fase HTTP/1.1 Host: apigateway.us-east-1.amazonaws.com Content-Type: text/csv Authorization: ... key,name, description, enabled, usageplanIds abcdef1234ghijklmnop8901234567, importedKey_1, firstone, tRuE, n371pt abcdef1234ghijklmnop0123456789, importedKey_2, secondone, TRUE, n371pt abcdef1234ghijklmnop9012345678, importedKey_3, , true, n371pt
Di conseguenza, vengono create tre risorse
UsagePlanKey
che vengono aggiunte aUsagePlan
.In questo modo puoi anche aggiungere API chiavi a più di un piano di utilizzo. A questo scopo, modifica ogni valore della colonna
usageplanIds
in una stringa separata da virgole contenente gli identificatori del piano di utilizzo selezionato e racchiusa tra apici ("n371pt,m282qs"
o'n371pt,m282qs'
).Nota
Una API chiave può essere associata a più di un piano di utilizzo. Un piano di utilizzo può essere associato a più fasi. Tuttavia, una determinata API chiave può essere associata a un solo piano di utilizzo per ogni fase del tuoAPI.
-
Gestisci un piano di utilizzo utilizzando il AWS CLI
I seguenti codici di esempio mostrano come aggiungere, rimuovere o modificare le impostazioni di throttling a livello di metodo in un piano di utilizzo invocando il comando update-usage-plan
.
Nota
Assicurati di us-east-1
impostare il valore della regione appropriato per il tuoAPI.
Per aggiungere o sostituire un limite di tasso per il throttling di una risorsa e un metodo singoli:
aws apigateway --region us-east-1 update-usage-plan --usage-plan-id
<planId>
--patch-operations op="replace",path="/apiStages/<apiId>
:<stage>
/throttle/<resourcePath>
/<httpMethod>
/rateLimit",value="0.1"
Per aggiungere o sostituire un limite di ottimizzazione per il throttling di una risorsa e un metodo singoli:
aws apigateway --region us-east-1 update-usage-plan --usage-plan-id
<planId>
--patch-operations op="replace",path="/apiStages/<apiId>
:<stage>
/throttle/<resourcePath>
/<httpMethod>
/burstLimit",value="1"
Per rimuovere le impostazioni di throttling a livello di metodo per una risorsa e un metodo singoli:
aws apigateway --region us-east-1 update-usage-plan --usage-plan-id
<planId>
--patch-operations op="remove",path="/apiStages/<apiId>
:<stage>
/throttle/<resourcePath>
/<httpMethod>
",value=""
Per rimuovere tutte le impostazioni di limitazione a livello di metodo per un: API
aws apigateway --region us-east-1 update-usage-plan --usage-plan-id
<planId>
--patch-operations op="remove",path="/apiStages/<apiId>
:<stage>
/throttle ",value=""
Ecco un esempio di utilizzo dell'esempio di Pet Store: API
aws apigateway --region us-east-1 update-usage-plan --usage-plan-id
<planId>
--patch-operations op="replace",path="/apiStages/<apiId>
:<stage>
/throttle",value='"{\"/pets/GET\":{\"rateLimit\":1.0,\"burstLimit\":1},\"//GET\":{\"rateLimit\":1.0,\"burstLimit\":1}}"'
Test dei piani di utilizzo
Ad esempio, utilizziamo il PetStore API, che è stato creato inTutorial: creazione di un'API REST mediante l'importazione di un esempio. Supponiamo che API sia configurato per utilizzare una API chiave diHiorr45VR...c4GJc
. La procedura seguente illustra come testare un piano di utilizzo.
Per testare il piano di utilizzo
-
Effettua una
GET
richiesta sulla risorsa Pets (/pets
), con i parametri di?type=...&page=...
query, di API (ad esempio,xbvxlpijch
) in un piano di utilizzo:GET /testStage/pets?type=dog&page=1 HTTP/1.1 x-api-key: Hiorr45VR...c4GJc Content-Type: application/x-www-form-urlencoded Host: xbvxlpijch.execute-api.ap-southeast-1.amazonaws.com X-Amz-Date: 20160803T001845Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160803/ap-southeast-1/execute-api/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-api-key, Signature={sigv4_hash}
Nota
È necessario inviare questa richiesta al
execute-api
componente di API Gateway e fornire la API chiave richiesta (ad esempio,Hiorr45VR...c4GJc
) nell'x-api-key
intestazione richiesta.Se riesce, la risposta restituisce un codice di stato
200 OK
e un payload contenente i risultati richiesti dal back-end: Se dimentichi di impostare l'intestazionex-api-key
o se la imposti con una chiave sbagliata, ottieni una risposta403 Forbidden
. Tuttavia, se non hai configurato il metodo per richiedere una API chiave, probabilmente otterrai una200 OK
risposta indipendentemente dal fatto che tu abbia impostato l'x-api-key
intestazione correttamente o meno, e i limiti di limitazione e di quota del piano di utilizzo vengono aggirati.A volte, quando si verifica un errore interno che impedisce a API Gateway di applicare i limiti o le quote di limitazione del piano di utilizzo per la richiesta, API Gateway soddisfa la richiesta senza applicare i limiti o le quote di limitazione specificati nel piano di utilizzo. Tuttavia, registra un messaggio di errore.
Usage Plan check failed due to an internal error
CloudWatch Puoi ignorare questi errori occasionali.