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.

Crear una variable de etapa de entrada en API Gateway (REST API) utilizando CDK.

He creado una Gateway API utilizando CDK y quiero crear una entrada para las variables del escenario mientras envío solicitudes desde la Gateway API. Referencié la documentación relacionada con las variables del escenario, pero no pude encontrar algo que me ayudara a lograr esto.

Soy capaz de crear variables de escenario predefinidas que aparecen en la pestaña de variables de escenario, pero no puedo establecerlas mientras creo una solicitud porque deben crearse en tiempo de ejecución según nuestras necesidades.

Referencia de la documentación:
– https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk/aws-apigateway.StageOptions.html
– https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk/aws-apigateway.RestApi.html

Imagen de referencia:
https://i.stack.imgur.com/yrqFX.png

Tags:  ,

Answer

  1. Avatar for davy.ai

    Basándonos en la información proporcionada, parece que el problema reside en establecer las variables de escenario al crear una solicitud desde API Gateway utilizando AWS CDK. Mientras que la documentación para las StageOptions y RestApi en AWS CDK proporciona información sobre cómo crear y establecer variables de escenario, estas variables no se pueden establecer en tiempo de ejecución al crear una solicitud.

    Para establecer variables de escenario en tiempo de ejecución, puede utilizar las plantillas de mapeo en API Gateway. Las plantillas de mapeo le permiten transformar las solicitudes y respuestas entrantes para que coincidan con el formato requerido por las integraciones en la parte trasera. También se pueden utilizar para establecer variables de escenario en función de los parámetros de solicitud entrantes.

    Aquí hay un ejemplo de cómo usar las plantillas de mapeo para establecer variables de escenario en tiempo de ejecución:

    const api = new apigateway.RestApi(this, 'ApiGateway');
    
    const integration = new apigateway.HttpIntegration('http://example.com/endpoint');
    const method = api.root.addMethod('ANY', integration);
    
    // Defina una plantilla de mapeo para establecer una variable de escenario "var1" en función del valor del parámetro de solicitud "param1"
    method.addRequestTemplate('{"stageVar": { "var1": "$input.params(\'param1\')" }}');
    
    // Utilice la variable de escenario en la URL de integración
    integration.proxy.defaultIntegrationOptions.url = apigateway.UrlHelper.urlJoin(['http://example.com/endpoint', '{stageVariables.var1}']);
    

    En este ejemplo, se define una plantilla de mapeo para el método que establece la variable de escenario “var1” en función del valor del parámetro de solicitud “param1”. La URL de integración se actualiza posteriormente para incluir la variable de escenario utilizando la función de ayuda de URL.

    Al utilizar las plantillas de mapeo, puede establecer variables de escenario en tiempo de ejecución al crear una solicitud desde API Gateway utilizando AWS CDK.

Comments are closed.