es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Establezca el valor de la URL de punto final HTTP para la API REST de AWS CDK.

Estoy tratando de tener una variable de etapa de serviceHost establecida para cada solicitud desde API GATEWAY, exactamente como se muestra en la imagen adjunta a continuación.

Según la documentación https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-set-stage-variables-aws-console.html, podemos tener algo como esto desde la consola, pero como mi aplicación está completamente en CDK, solo quería encontrar una manera de configurarlo a través de CDK en sí mismo.

No encontré eso en https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.IntegrationOptions.html o en ningún otro lugar.

¿Es posible lograrlo a través de CDK de alguna manera?

(Imagen adjunta: https://i.stack.imgur.com/IXKQb.png)

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible establecer variables de etapa para cada solicitud utilizando AWS CDK. Puede usar la estructura aws-apigateway.Stage para crear una etapa y luego usar la propiedad variables para establecer las variables de la etapa.

    Aquí hay un ejemplo de código:

    import * como cdk de 'aws-cdk-lib';
    import * como apigateway de 'aws-cdk-lib/aws-apigateway';
    
    const app = new cdk.App ();
    const stack = new cdk.Stack (app, 'MyStack');
    
    const myApi = new apigateway.RestApi (stack, 'MyApi');
    
    const myResource = myApi.root.addResource ('myResource');
    const myMethod = myResource.addMethod ('GET', new apigateway.MockIntegration ());
    
    const myStage = new apigateway.Stage (stack, 'MyStage', {
      deployment: myApi.latestDeployment,
      variables: {serviceHost: 'myservice.example.com'},
    });
    
    myApi.deploymentStage = myStage;
    

    En este ejemplo, creamos una API REST con un recurso y un método que utiliza una integración ficticia. Luego, creamos una etapa llamada MyStage con la propiedad variables establecida en {serviceHost: 'myservice.example.com'}. Finalmente, establecemos la etapa de implementación de la API en MyStage.

    Esto debería establecer la variable de etapa serviceHost para cada solicitud realizada a su punto de enlace de API Gateway.

Comments are closed.