Riferimento alle variabili di fase di Gateway API per le REST API in Gateway API
È possibile usare le variabili di fase di API Gateway nei casi seguenti.
Espressioni di mappatura dei parametri
Una variabile di fase può essere utilizzata in un'espressione di mappatura dei parametri per un parametro di intestazione di risposta o di richiesta del metodo API, senza alcuna sostituzione parziale. Nell'esempio che segue si fa riferimento alla variabile di fase senza il simbolo $ e il simbolo {...} di chiusura.
-
stageVariables.<variable_name>
Modelli di mappatura
Una variabile di fase può essere utilizzata ovunque in un modello di mappatura, come mostrato negli esempi seguenti.
-
{ "name" : "$stageVariables.<variable_name>"} -
{ "name" : "${stageVariables.<variable_name>}"}
URI di integrazione HTTP
Una variabile di fase può essere utilizzata come parte di un URL di integrazione HTTP, come mostrato negli esempi seguenti:
-
Un URI completo senza protocoll –
http://${stageVariables.<variable_name>} -
Un dominio completo –
http://${stageVariables.<variable_name>}/resource/operation -
Un sottodominio –
http://${stageVariables.<variable_name>}.example.com/resource/operation -
Un percorso –
http://example.com/${stageVariables.<variable_name>}/bar -
Una stringa di query –
http://example.com/foo?q=${stageVariables.<variable_name>}
URI di integrazione AWS
Una variabile di fase può essere utilizzata come parte dell'operazione URI AWS o dei componenti di percorso, come mostrato nell'esempio seguente.
-
arn:aws:apigateway:<region>:<service>:${stageVariables.<variable_name>}
AWSURI di integrazione (funzioni Lambda)
Una variabile di fase può essere utilizzata al posto del nome o della versione/dell'alias di una funzione Lambda, come mostrato negli esempi seguenti.
-
arn:aws:apigateway:<region>:lambda:path/2015-03-31/functions/arn:aws:lambda:<region>:<account_id>:function:${stageVariables.<function_variable_name>}/invocations -
arn:aws:apigateway:<region>:lambda:path/2015-03-31/functions/arn:aws:lambda:<region>:<account_id>:function:<function_name>:${stageVariables.<version_variable_name>}/invocations
Nota
Per utilizzare una variabile di fase per una funzione Lambda, la funzione deve essere nello stesso account dell'API. Le variabili di fase non supportano le funzioni Lambda tra più account.
Bacino d'utenza di Amazon Cognito
Una variabile di fase può essere utilizzata al posto di un pool di utenti di Amazon Cognito per un sistema di autorizzazione COGNITO_USER_POOLS.
-
arn:aws:cognito-idp:<region>:<account_id>:userpool/${stageVariables.<variable_name>}
AWS Credenziali di integrazione
Una variabile di fase può essere utilizzata come parte dell'ARN delle credenziali utente/ruolo AWS, come mostrato nell'esempio seguente.
-
arn:aws:iam::<account_id>:${stageVariables.<variable_name>}