Configurazione di piani di utilizzo per REST API in Gateway API
Prima di creare un piano di utilizzo, è necessario avere configurato le chiavi API desiderate. Per ulteriori informazioni, consulta Configurazione di chiavi API per REST API in Gateway API.
Eseguire la migrazione dell'API a Piani di utilizzo predefiniti (se necessario)
Se hai iniziato a usare API Gateway dopo l'introduzione della caratteristica dei piani di utilizzo l'11 agosto 2016, troverai che i piani di utilizzo sono abilitati automaticamente in tutte le regioni supportate.
Se hai iniziato a utilizzare API Gateway prima di quella data, potrebbe essere necessario migrare ai piani di utilizzo predefiniti. Ti verrà proposta l'opzione Enable Usage Plans (Abilita piani di utilizzo) prima di usare i piani di utilizzo per la prima volta nella regione selezionata. Quando abiliti questa opzione, vengono creati piani di utilizzo predefiniti per ogni fase API univoca associata alle chiavi API esistenti. Nel piano di utilizzo predefinito, non vengono impostati inizialmente throttle o limiti di quota e le associazioni tra le chiavi API e le fasi API sono copiate sui piani di utilizzo. Il comportamento dell'API resta inalterato. Tuttavia è necessario utilizzare la proprietà UsagePlan
di apiStages
per associare valori di fasi API specifici (apiId
e stage
) alle chiavi API incluse (mediante UsagePlanKey
), anziché utilizzare la proprietà ApiKey di stageKeys
.
Per controllare se hai già eseguito la migrazione ai piani di utilizzo predefiniti, utilizza il comando della CLI get-account
. Nell'output del comando, l'elenco features
include una voce "UsagePlans"
quando i piani di utilizzo sono abilitati.
Puoi anche migrare le tue API ai piani di utilizzo predefiniti utilizzando AWS CLI come segue:
Per eseguire la migrazione di piani di utilizzo predefiniti utilizzando AWS CLI
-
Invoca questo comando della CLI: update-account
.
-
Per il parametro cli-input-json
, utilizza il seguente JSON:
[
{
"op": "add",
"path": "/features",
"value": "UsagePlans"
}
]
Creazione di un piano di utilizzo
La procedura seguente illustra come creare un piano di utilizzo.
- AWS Management Console
Per creare un piano di utilizzo
Accedere alla console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway.
-
Nel riquadro di navigazione principale di Gateway API, scegli Piani di utilizzo e quindi Crea piano di utilizzo.
-
In Nome, immetti un nome.
-
(Facoltativo) In Description (Descrizione), immettere una descrizione.
-
Per impostazione predefinita, i piani di utilizzo abilitano la limitazione (della larghezza di banda della rete). Immetti un valore in Tariffa e Ottimizzazione per il tuo piano di utilizzo. Scegli Throttling per disattivare la limitazione (della larghezza di banda della rete).
-
Per impostazione predefinita, i piani di utilizzo abilitano una quota per un periodo di tempo. In Richieste, immetti il numero totale di richieste che un utente può effettuare nel periodo di validità del tuo piano di utilizzo. Scegli Quota per disattivare la quota.
-
Scegli Crea piano di utilizzo.
- AWS CLI
Il comando create-usage-plan seguente crea un piano di utilizzo che si ripristina all’inizio del mese:
aws apigateway create-usage-plan \
--name "New Usage Plan" \
--description "A new usage plan" \
--throttle burstLimit=10,rateLimit=5 \
--quota limit=500,offset=0,period=MONTH
- REST API
Invoca usageplan:create
per creare un piano di utilizzo.
Aggiunta di una fase a un piano di utilizzo
La procedura seguente illustra come aggiungere una fase a un piano di utilizzo.
- AWS Management Console
-
Per aggiungere una fase a un piano di utilizzo
-
Seleziona il piano di utilizzo.
-
Nella scheda Fasi associate, scegli Aggiungi fase.
-
In API, seleziona un'API.
-
In Fase, seleziona una fase.
-
(Facoltativo) Per attivare la limitazione (della larghezza di banda della rete) a livello di metodo, esegui le operazioni indicate di seguito:
-
Scegli Throttling a livello di metodo e quindi Aggiungi metodo.
-
InRisorsa, seleziona una risorsa nella tua API.
-
In Metodo, seleziona un metodo nella tua API.
-
Immetti un valore in Tariffa e Ottimizzazione per il tuo piano di utilizzo.
-
Scegli Aggiungi al piano di utilizzo.
- AWS CLI
-
Il comando update-usage-plan seguente aggiunge la fase Prod
di un’API a un piano di utilizzo:
aws apigateway update-usage-plan \
--usage-plan-id abc123 \
--patch-operations op="add",path="/apiStages",value="a1b1c2:Prod"
- REST API
Chiama usageplan:update
per aggiornare un piano di utilizzo.
Aggiunta di una chiave API a un piano di utilizzo
La procedura seguente descrive come aggiungere una chiave API a un piano di utilizzo.
- AWS Management Console
-
Per aggiungere una chiave a un piano di utilizzo
-
Nella scheda Chiavi API associate, scegli Aggiungi chiave API.
-
-
Per associare una chiave esistente al tuo piano di utilizzo, seleziona Aggiungi chiave esistente, quindi seleziona la chiave esistente nel menu a discesa.
-
Per creare una nuova chiave API, seleziona Crea e aggiungi nuova chiave, quindi crea una nuova chiave. Per ulteriori informazioni su come creare una nuova chiave, consulta Creazione di una chiave API.
-
Scegli Aggiungi chiave API.
- AWS CLI
-
Il comando create-usage-plan-key seguente associa una chiave API esistente a un piano di utilizzo:
aws apigateway create-usage-plan-key \
--usage-plan-id a1b2c3 \
--key-type "API_KEY" \
--key-id aaa111bbb
- REST API
-
Chiama usageplankey:create
per associare una chiave API esistente a un piano di utilizzo.
È anche possibile associare direttamente le chiavi API a un piano di utilizzo quando vengono importate. Invoca apikey:import
per aggiungere una o più chiavi API direttamente al piano di utilizzo specificato. Il payload della richiesta deve contenere valori di chiavi API, l'identificativo del piano di utilizzo associato, i flag booleani che indicano che le chiavi sono abilitate per il piano di utilizzo e, possibilmente, nomi e descrizioni delle chiavi API.
L'esempio che segue della richiesta apikey:import
aggiunge tre chiavi API (identificate da key
, name
e description
) a un piano di utilizzo (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 a UsagePlan
.
Puoi aggiungere chiavi API anche 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'
).
Una chiave API può essere associata a più piani di utilizzo. Un piano di utilizzo può essere associato a più fasi. Tuttavia, una determinata chiave API può essere associata a un solo piano di utilizzo per ogni fase dell'API.