Je travaille avec AWS API Gateway et AWS Lambda. Souvent, je fais face à ce type de message d'erreur lorsque je tente de déployer l'API. Le message d'erreur indique de sélectionner une étape de déploiement. Mais je sélectionne et essaie toujours de déployer! mais la même erreur se produit!
Dans cette API, j'ai plusieurs ressources avec plusieurs méthodes. Auparavant, je réussis à déployer cette même API de la même manière. Mais maintenant, je ne peux pas le déployer.
S'il vous plaît, quelqu'un m'aide à le réparer. Pour plus: je n'utilise pas l'outil AWS CLI, il suffit d'utiliser le tableau de bord Web AWS.
J'ai parlé avec le centre de service client d'AWS. Le problème était:
Dans cette API, il y avait une méthode non intégrée. Supposons qu'il existe une ressource image
et que je crée une méthode POST
pour cette ressource. Mais j'ai oublié de l'intégrer à n'importe quelle fonction AWS Lambda ou HTTP. L'API ne peut donc pas être déployée.
Si la méthode n'est pas nécessaire, supprimez-la. OR vous pouvez l'intégrer comme point de terminaison Mock
. Vous pouvez modifier ce point de terminaison à tout moment.
Remarque: Pour ce problème de désintégration, AWS donne ce type de message d'erreur incorrect. Ils doivent mettre à jour leur message pour gagner du temps au développeur.
J'obtenais la même erreur mais lors de la création d'API à l'aide de CloudFormation.
Il s'est avéré que dans mon AWS::ApiGateway::Deployment
ressource, je devais inclure l'attribut DependsOn
qui "dépend" de toutes mes méthodes API.
Par exemple, lorsque vous créez une API avec deux AWS::ApiGateway::Method
Ressources, AWS::ApiGateway::Deployment
doit dépendre de ces deux méthodes:
MyFirstApiMethod:
Type: AWS::ApiGateway::Method
Properties:
<your properties>
MySecondApiMethod:
Type: AWS::ApiGateway::Method
Properties:
<your properties>
MyDeployment:
Type: AWS::ApiGateway::Deployment
DependsOn: [MyFirstApiMethod, MySecondApiMethod] # <-- REQUIRED
Properties:
RestApiId: !Ref MyRestApi
Sans l'attribut DependOn
sur toutes les méthodes d'API, CloudFormation peut les créer après la ressource de déploiement, ce qui entraîne No integration defined for method
Erreur.