1

Quelqu'un peut-il expliquer la propriété parentId du type de ressource aws AWS :: ApiGateway :: Resource? La documentation peut être trouvée here, la documentation est très limitée et montre seulement comment obtenir le rootResourceId. En utilisant cela, j'ai été capable de créer la structure suivante. ce qui me donne ces chemins.Comment créer un chemin de ressource imbriqué dans AWS RestAPI à l'aide de Cloudformation?

/portfolio

/ressources

/{resourceId}

/ 
/portfolio 
    GET 
    OPTIONS 
/resource 
    GET 
    OPTIONS 
/{resourceId} 
    GET 
    OPTIONS 

Maintenant, ma question est de savoir comment atteindre la structure comme celui-ci où, en {resourceId} est imbriqué dans ressource, de sorte que mon chemin ressemble à /resource/{resourceId}.

/ 
/portfolio 
    GET 
    OPTIONS 
/resource 
    GET 
    OPTIONS 
    /{resourceId} 
    GET 
    OPTIONS 

Ceci est mon modèle qui crée des ressources

"getPortfoliosResource": { 
     "Type": "AWS::ApiGateway::Resource", 
     "Properties": { 
      "RestApiId": { 
       "Ref": "myAPI" 
      }, 
      "ParentId": { 
       "Fn::GetAtt": ["myAPI", "RootResourceId"] 
      }, 
      "PathPart": "portfolios" 
     } 
    }, 
    "getResourcesResource": { 
     "Type": "AWS::ApiGateway::Resource", 
     "Properties": { 
      "RestApiId": { 
       "Ref": "myAPI" 
      }, 
      "ParentId": { 
       "Fn::GetAtt": ["myAPI", "RootResourceId"] 
      }, 
      "PathPart": "resources" 
     } 
    }, 
    "getResourceid": { 
     "Type": "AWS::ApiGateway::Resource", 
     "Properties": { 
      "RestApiId": { 
       "Ref": "epmoliteAPI" 
      }, 
      "ParentId": { 
       "Fn::GetAtt": ["epmoliteAPI", "RootResourceId"] 
      }, 
      "PathPart": "{resourceId}" 
     } 
    }, 

Répondre

1

Le ParentId doit faire référence à la ressource que vous voulez mettre dans.

"getPortfoliosResource": { 
    "Type": "AWS::ApiGateway::Resource", 
    "Properties": { 
     "RestApiId": { 
      "Ref": "myAPI" 
     }, 
     "ParentId": { 
      "Fn::GetAtt": ["myAPI", "RootResourceId"] 
     }, 
     "PathPart": "portfolios" 
    } 
}, 
"getResourcesResource": { 
    "Type": "AWS::ApiGateway::Resource", 
    "Properties": { 
     "RestApiId": { 
      "Ref": "myAPI" 
     }, 
     "ParentId": { 
      "Fn::GetAtt": ["myAPI", "RootResourceId"] 
     }, 
     "PathPart": "resources" 
    } 
}, 
"getResourceid": { 
    "Type": "AWS::ApiGateway::Resource", 
    "Properties": { 
     "RestApiId": { 
      "Ref": "myAPI" 
     }, 
     "ParentId": { 
      "Ref": "getResourcesResource" 
     }, 
     "PathPart": "{resourceId}" 
    } 
}, 
+0

oui, effectivement compris que out, quand j'ai vérifié script compilé sans serveur, en essayant je faisais une erreur stupide en passant 'Ref' comme 'ref'. Je vous remercie! – Veer3383