web-dev-qa-db-fra.com

CDK a divisé la pile API Gateway en 2 petites piles

J'essaie de créer une pile CDK afin de créer une passerelle API. Tout fonctionne comme sauf si je crée la pile en "petits morceaux" (commenter une partie des ressources), mais lorsque j'essaye de créer la pile terminée, j'obtiens cette exception:

 Number of resources, 224, is greater than maximum allowed, 200

Par conséquent, j'ai essayé de diviser ma grande pile en 2 piles plus petites, une pile crée la ressource et crée la moitié des ressources et l'autre remplit les données pertinentes.

Extrait de code:


const api = new apigateway.RestApi(this, 'ApiGWEndPoint', {
  restApiName: 'API_NAME,
  deployOptions: {
    stageName: 'STAGE_NAME',
  },
  description: "MyDescription",
  endpointTypes: [apigateway.EndpointType.REGIONAL]
});

J'ai essayé de créer cross-stack ou nested-stack et passez-y les données de l'API, mais pas de chance pour l'instant.

Mon objectif est de créer une pile qui contiendra 2 petites piles - les deux pointeront vers la même API. Ou, si cela est possible, créez une solution de contournement pour la limite de ressources.

Toute aide sera très appréciée.


Mise à jour 1.10.2020:

Actuellement, il n'y a pas de solution de contournement pour ce problème, a fini par diviser la passerelle API en plusieurs passerelles API.

5
Amit Baranes

Transmettez simplement les données en utilisant les propriétés.

Cela nécessite de définir des propriétés publiques sur la pile qui fournit des variables de sortie et de créer une interface qui étend StackProperties avec les propriétés requises à transmettre.

Le résultat peut ressembler à ceci:

const domain = new DomainStack(app, 'domain', {
  env: env,
  domainName: domainName,
  hostedZoneId: hostedZoneId
});

new WebsiteStack(app, 'website', {
  env: env,
  domainName: domainName,
  certificate: domain.certificate,
  hostedZone: domain.hostedZone,
});
0
Console