Dans un modèle de CloudFormation, je définir une application serverless avec une fonction lambda déclenchée par une passerelle API, comme suit:Obtenir une référence au api qui déclenche une AWS :: Serverless :: Fonction dans CloudFormation
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
MyFunction:
Type: AWS::Serverless::Function
Properties:
# ...
Events:
GetStuff:
Type: Api
Properties:
Path: /stuff
Method: get
Cela génère une ressource API Gateway configurée pour recevoir les requêtes GET
et les transférer vers mon lambda, et cela fonctionne comme je le souhaite.
Cependant, je ne peux pas comprendre comment référencer cette instance API dans la section Output
du modèle:
Output:
MyGatewayId:
Description: Id of the auto-generated API Gateway resource
Value: # what do I put here?
J'ai essayé !GetAtt MyFunction.RootResourceId
comme suggéré here, mais qui a abouti à un échec quand je a tenté de déployer la pile:
Echec de la création du changeset: Waiter ChangeSetCreateComplete a échoué: le serveur a rencontré un état de panne du terminal. Statut: ECHEC. Raison: propriété de modèle de modèle non valide 'MyGatewayId'
Depuis mon objectif final était d'obtenir le script de déploiement à la sortie de ces paramètres, un couple de CLI supplémentaire appelle est parfaitement bien. Merci! –