Tutorial: Cree una API Calc REST con dos integraciones AWS de servicios y una integración Lambda sin proxy - Amazon API Gateway

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Tutorial: Cree una API Calc REST con dos integraciones AWS de servicios y una integración Lambda sin proxy

El tutorial de introducción a integraciones sin proxy solamente utiliza la integración de Lambda Function. La integración de Lambda Function es un caso especial del tipo de integración de AWS Service que configura por usted la mayor parte de la integración; por ejemplo, la incorporación automática de los permisos basados en recursos necesarios para invocar la función de Lambda. Aquí, dos de las tres integraciones usan integración de AWS Service. En este tipo de integración, tiene más control, pero tendrá que realizar manualmente tareas como la creación y especificación de un rol de IAM que contenga los permisos adecuados.

En este tutorial, creará una función Calc de Lambda que implementa operaciones aritméticas básicas, aceptando y devolviendo entradas y salidas con formato JSON. A continuación, creará una API REST y la integrará con la función de Lambda de la siguiente forma:

  1. Exponiendo un método de GET en el recurso /calc para invocar la función de Lambda, proporcionando la entrada como parámetros de cadena de consulta. (Integración de AWS Service)

  2. Exponiendo un método de POST en el recurso /calc para invocar la función de Lambda, proporcionando la entrada en la carga de la solicitud del método. (Integración de AWS Service)

  3. Exponiendo un método GET en recursos /calc/{operand1}/{operand2}/{operator} anidados para invocar la función de Lambda, proporcionando la entrada como parámetros de ruta. (Integración de Lambda Function)

Además de probar con este tutorial, sugerimos que estudie el archivo de definición de OpenAPI para la API de Calc, que puede importar a API Gateway siguiendo las instrucciones de Configuración de una API de REST mediante OpenAPI.

Crear un rol de IAM asumible

Para que su API invoque su función Calc de Lambda, necesitará tener un rol de IAM asumible por API Gateway, que es un rol de IAM con la siguiente relación de confianza:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "apigateway.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

El rol que cree necesitará tener el permiso de Lambda InvokeFunction. De lo contrario, el intermediario de la API recibirá una respuesta 500 Internal Server Error. Para dar al rol este permiso, asociará la siguiente política de IAM:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": "*" } ] }

A continuación, se explica cómo realizar todo esto:

Crear un rol de IAM asumible por API Gateway
  1. Inicie sesión en la consola de IAM.

  2. Elija Roles.

  3. Elija Create Role.

  4. En Select type of trusted entity (Seleccionar el tipo de entidad de confianza), elija AWS Service (Servicio de AWS ).

  5. En Choose the service that will use this role (Elegir el servicio que usará este rol), elija Lambda.

  6. Elija Next: Permissions (Siguiente: permisos).

  7. Elija Create Policy (Crear política).

    Se abrirá una nueva ventana de consola Create Policy (Crear política). En esa ventana, haga lo siguiente:

    1. En la pestaña JSON, reemplace la política existente por la siguiente:

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": "*" } ] }
    2. Elija Review policy (Revisar política).

    3. En Review Policy (Revisar política) haga lo siguiente:

      1. En Nombre, escriba un nombre, como lambda_execute.

      2. Elija Create Policy (Crear política).

  8. En la ventana de consola Create Role (Crear rol) original, haga lo siguiente:

    1. En Attach permissions policies (Asociar políticas de permisos), elija la política lambda_execute de la lista desplegable.

      Si no ve su política en la lista, haga clic en el botón Refresh (Actualizar) en la parte superior de la lista. (¡No actualice la página del navegador!)

    2. Elija Next: Tags (Siguiente: Etiquetas).

    3. Elija Next: Review.

    4. En Role name (Nombre de rol), escriba un nombre como lambda_invoke_function_assume_apigw_role.

    5. Elija Create role (Crear rol).

  9. Elija el rol lambda_invoke_function_assume_apigw_role de la lista de roles.

  10. Seleccione la pestaña Trust Relationships (Relaciones de confianza).

  11. Elija Edit trust relationship (Editar relación de confianza).

  12. Reemplace la política existente por la siguiente:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "lambda.amazonaws.com", "apigateway.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
  13. Elija Update Trust Policy.

  14. Anote el ARN del rol que acaba de crear. Lo necesitará más adelante.

Creación de una función Calc de Lambda

A continuación, creará una función de Lambda con la consola de Lambda.

  1. En la consola de Lambda, elija Create function (Crear función).

  2. Elija Author from Scratch (Crear desde cero).

  3. En Name (Nombre) escriba Calc.

  4. En Tiempo de ejecución, elija el último tiempo de ejecución de Node.js o Python compatible.

  5. Seleccione Crear función.

  6. Copie la siguiente función de Lambda en el tiempo de ejecución de su preferencia y péguela en el editor de código en la consola de Lambda.

    Node.js
    export const handler = async function (event, context) { console.log("Received event:", JSON.stringify(event)); if ( event.a === undefined || event.b === undefined || event.op === undefined ) { return "400 Invalid Input"; } const res = {}; res.a = Number(event.a); res.b = Number(event.b); res.op = event.op; if (isNaN(event.a) || isNaN(event.b)) { return "400 Invalid Operand"; } switch (event.op) { case "+": case "add": res.c = res.a + res.b; break; case "-": case "sub": res.c = res.a - res.b; break; case "*": case "mul": res.c = res.a * res.b; break; case "/": case "div": if (res.b == 0) { return "400 Divide by Zero"; } else { res.c = res.a / res.b; } break; default: return "400 Invalid Operator"; } return res; };
    Python
    import json def lambda_handler(event, context): print(event) try: (event['a']) and (event['b']) and (event['op']) except KeyError: return '400 Invalid Input' try: res = { "a": float( event['a']), "b": float( event['b']), "op": event['op']} except ValueError: return '400 Invalid Operand' if event['op'] == '+': res['c'] = res['a'] + res['b'] elif event['op'] == '-': res['c'] = res['a'] - res['b'] elif event['op'] == '*': res['c'] = res['a'] * res['b'] elif event['op'] == '/': if res['b'] == 0: return '400 Divide by Zero' else: res['c'] = res['a'] / res['b'] else: return '400 Invalid Operator' return res
  7. Bajo Execution role (Rol de ejecución) elija Choose an existing role (Elegir un rol existente).

  8. Escriba el ARN del rol para el rol lambda_invoke_function_assume_apigw_role que creó anteriormente.

  9. Elija Deploy (Implementar).

Esta función requiere dos operandos (a y b) y un operador (op) del parámetro de entrada event. La entrada es un objeto JSON con el siguiente formato:

{ "a": "Number" | "String", "b": "Number" | "String", "op": "String" }

Esta función devuelve el resultado calculado (c) y la entrada. Si se trata de una entrada no válida, la función devuelve el valor null o la cadena "Invalid op" como resultado. La salida tiene el siguiente formato JSON:

{ "a": "Number", "b": "Number", "op": "String", "c": "Number" | "String" }

Debe probar la función en la consola de Lambda antes de integrarla con la API en el siguiente paso.

Probar la función Calc de Lambda

Indicamos aquí como probar la función Calc en la consola de Lambda.

  1. Elija la pestaña Prueba.

  2. Para el nombre del evento de prueba, escriba calc2plus5.

  3. Sustituya la definición del evento de prueba por lo siguiente:

    { "a": "2", "b": "5", "op": "+" }
  4. Seleccione Save.

  5. Seleccione Test (Probar).

  6. Expanda Execution result: succeeded (Resultado de la ejecución: correcta). Debería ver lo siguiente:

    { "a": 2, "b": 5, "op": "+", "c": 7 }

Cree una API de Calc

El procedimiento siguiente describe cómo crear una API para la función Calc de Lambda que acaba de crear. En las siguientes secciones, añadirá recursos y métodos.

Creación de una API
  1. Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway.

  2. Si es la primera vez que utiliza API Gateway, verá una página en la que aparecen las características del servicio. En REST API, elija Build (Compilación). Cuando aparezca el menú emergente Create Example API (Crear API de ejemplo), elija OK (Aceptar).

    Si esta no es la primera vez que utiliza API Gateway, elija Create API (Crear API). En REST API, elija Build (Compilación).

  3. En API name (Nombre de la API), escribaLambdaCalc.

  4. (Opcional) En Description (Descripción), introduzca una descripción.

  5. Mantenga Tipo de punto de conexión de la API establecido en Regional.

  6. Seleccione Create API (Crear API).

Integración 1: Crear un método GET con parámetros de consulta para llamar a la función de Lambda

Mediante la creación de un método GET que pasa los parámetros de cadenas de consulta a la función de Lambda, habilita la API que se va a invocar desde un navegador. Este método puede ser útil, en especial para las API que permiten acceso abierto.

Después de crear una API, se crea un recurso. Normalmente, los recursos de la API están organizados en un árbol de recursos de acuerdo con la lógica de la aplicación. Para este paso, debe crear un recurso /calc.

Para crear un recurso /calc
  1. Elija Crear recurso.

  2. Mantenga Recurso proxy desactivado.

  3. Mantenga Ruta del recurso en /.

  4. En Nombre del recurso, escriba calc.

  5. Mantenga desactivado CORS (uso compartido de recursos entre orígenes).

  6. Elija Crear recurso.

Mediante la creación de un método GET que pasa los parámetros de cadenas de consulta a la función de Lambda, habilita la API que se va a invocar desde un navegador. Este método puede ser útil, en especial para las API que permiten acceso abierto.

En este método, Lambda requiere que se use la solicitud POST para invocar cualquier función de Lambda. Este ejemplo muestra que el método HTTP en una solicitud de método del frontend puede diferir de la solicitud de integración en el backend.

Para crear un método GET
  1. Seleccione el recurso calc y, a continuación, elija Crear método.

  2. En Tipo de método, seleccione GET.

  3. En Tipo de integración, seleccione Servicio de AWS.

  4. Para Región de AWS, seleccione el Región de AWS lugar donde creó la función Lambda.

  5. En Servicio de AWS, seleccione Lambda.

  6. Deje Subdominio de AWS en blanco.

  7. En Método HTTP, seleccione POST.

  8. En Tipo de acción, elija Usar sustitución de ruta. Esta opción nos permite especificar el ARN de la acción Invoke para ejecutar nuestra función Calc.

  9. En Sustitución de ruta, escriba 2015-03-31/functions/arn:aws:lambda:us-east-2:account-id:function:Calc/invocations. Para account-id, introduzca su Cuenta de AWS ID. Paraus-east-2, introduzca el Región de AWS lugar donde creó la función Lambda.

  10. En Rol de ejecución, escriba el ARN del rol para lambda_invoke_function_assume_apigw_role.

  11. No cambie la configuración de Caché de credenciales ni Tiempo de espera predeterminado.

  12. Elija Crear método.

Ahora, vamos a configurar los parámetros de consulta para el método GET en el recurso /calc para que pueda recibir la entrada en nombre de la función de Lambda del backend.

Para configurar parámetros de cadenas de consulta
  1. En la pestaña Solicitud de método, en Configuración de solicitud de método, seleccione Editar.

  2. En Validador de solicitud, seleccione Validar parámetros de cadena de consulta y encabezados. Esta configuración hará que se devuelva un mensaje de error si el cliente no especifica los parámetros requeridos.

  3. Elija Parámetros de cadenas de consulta de URL y haga lo siguiente:

    1. Elija Add query string (Añadir cadena de consulta).

    2. En Nombre, ingrese operand1.

    3. Active la opción Obligatorio.

    4. Mantenga Almacenamiento en caché desactivado.

    Repita los mismos pasos y cree una cadena de consulta llamada operand2 y una cadena de consulta llamada operator.

  4. Seleccione Guardar.

Ahora, vamos a crear una plantilla de mapeo para convertir las cadenas de consulta proporcionadas por el cliente en la carga de la solicitud de integración, tal y como requiere la función Calc. Esta plantilla mapea los tres parámetros de cadena de consulta declarados en Solicitud de método en los valores de propiedad designados del objeto JSON como entrada a la función de Lambda del backend. El objeto JSON transformado se incluirá como la carga de la solicitud de integración.

Para mapear los parámetros de entrada a la solicitud de integración
  1. En la pestaña Solicitud de integración, en Configuración de la solicitud de integración, seleccione Editar.

  2. En Acceso directo de cuerpo de la solicitud, elija Cuando no haya plantillas definidas (recomendado).

  3. Elija Plantillas de mapeo.

  4. Elija Add mapping template (Añadir plantilla de asignación).

  5. En Tipo de contenido, ingrese application/json.

  6. En Cuerpo de la plantilla, introduzca el siguiente código:

    { "a": "$input.params('operand1')", "b": "$input.params('operand2')", "op": "$input.params('operator')" }
  7. Seleccione Guardar.

Ahora puede probar el método GET para verificar que se ha configurado correctamente para invocar la función de Lambda.

Para probar el método GET
  1. Elija la pestaña Prueba. Puede que tenga que elegir el botón de flecha hacia la derecha para mostrar la pestaña.

  2. En Cadenas de consulta, escriba operand1=2&operand2=3&operator=+.

  3. Seleccione Test (Probar).

    El resultado debe ser parecido al siguiente:

    
                      Crear una API en API Gateway como proxy de Lambda

Integración 2: Crear un método POST con una carga JSON para llamar a la función de Lambda

Al crear un método POST con una carga JSON para llamar a la función de Lambda, lo hace de tal manera que el cliente debe proporcionar la entrada necesaria a la función del backend en el cuerpo de la solicitud. Para garantizar que el cliente carga los datos de entrada correctos, habilitará la validación de solicitudes en la carga.

Para crear un método POST con una carga JSON
  1. Seleccione el recurso calc y, a continuación, elija Crear método.

  2. En Tipo de método, seleccione POST.

  3. En Tipo de integración, seleccione Servicio de AWS.

  4. Para Región de AWS, seleccione el Región de AWS lugar donde creó la función Lambda.

  5. En Servicio de AWS, seleccione Lambda.

  6. Deje Subdominio de AWS en blanco.

  7. En Método HTTP, seleccione POST.

  8. En Tipo de acción, elija Usar sustitución de ruta. Esta opción nos permite especificar el ARN de la acción Invoke para ejecutar nuestra función Calc.

  9. En Sustitución de ruta, escriba 2015-03-31/functions/arn:aws:lambda:us-east-2:account-id:function:Calc/invocations. Para account-id, introduzca su Cuenta de AWS ID. Paraus-east-2, introduzca el Región de AWS lugar donde creó la función Lambda.

  10. En Rol de ejecución, escriba el ARN del rol para lambda_invoke_function_assume_apigw_role.

  11. No cambie la configuración de Caché de credenciales ni Tiempo de espera predeterminado.

  12. Elija Crear método.

Ahora vamos a crear un modelo de entrada para describir la estructura de los datos de entrada y validar el cuerpo de la solicitud entrante.

Para crear el modelo de entrada
  1. En el panel de navegación principal, elija Modelos.

  2. Seleccione Crear modelo.

  3. En Nombre, ingrese input.

  4. En Tipo de contenido, ingrese application/json.

    Si no se encuentra ningún tipo de contenido coincidente, no se realiza la validación de la solicitud. Para utilizar el mismo modelo independientemente del tipo de contenido, introduzca $default.

  5. En Esquema del modelo, escriba el siguiente modelo:

    { "type":"object", "properties":{ "a":{"type":"number"}, "b":{"type":"number"}, "op":{"type":"string"} }, "title":"input" }
  6. Seleccione Crear modelo.

Ahora cree un modelo de salida. Este modelo describe la estructura de datos de la salida calculada desde el backend. Se puede utilizar para asignar los datos de la respuesta de integración a un modelo diferente. Este tutorial se basa en el comportamiento de paso a través y no utiliza este modelo.

Para crear un modelo de salida
  1. Seleccione Crear modelo.

  2. En Nombre, ingrese output.

  3. En Tipo de contenido, ingrese application/json.

    Si no se encuentra ningún tipo de contenido coincidente, no se realiza la validación de la solicitud. Para utilizar el mismo modelo independientemente del tipo de contenido, introduzca $default.

  4. En Esquema del modelo, escriba el siguiente modelo:

    { "type":"object", "properties":{ "c":{"type":"number"} }, "title":"output" }
  5. Seleccione Crear modelo.

Ahora cree un modelo de resultados. Este modelo describe la estructura de datos de los datos de respuesta devueltos. Hace referencia a los esquemas de entrada y salida definidos en su API.

Para crear un modelo de resultados
  1. Seleccione Crear modelo.

  2. En Nombre, ingrese result.

  3. En Tipo de contenido, ingrese application/json.

    Si no se encuentra ningún tipo de contenido coincidente, no se realiza la validación de la solicitud. Para utilizar el mismo modelo independientemente del tipo de contenido, introduzca $default.

  4. En Esquema del modelo, introduzca el siguiente modelo con su restapi-id. El restapi-id aparece entre paréntesis en la parte superior de la consola en el siguiente flujo: API Gateway > APIs > LambdaCalc (abc123).

    { "type":"object", "properties":{ "input":{ "$ref":"https://apigateway.amazonaws.com/restapis/restapi-id/models/input" }, "output":{ "$ref":"https://apigateway.amazonaws.com/restapis/restapi-id/models/output" } }, "title":"result" }
  5. Seleccione Crear modelo.

Ahora configure la solicitud de método de su método POST para habilitar la validación de la solicitud en el cuerpo de la solicitud entrante.

Para habilitar la validación de solicitudes en el método POST
  1. En el panel de navegación principal, seleccione Recursos y, a continuación, seleccione el método POST en el árbol de recursos.

  2. En la pestaña Solicitud de método, en Configuración de solicitud de método, elija Editar.

  3. En Validador de solicitudes, seleccione Validar cuerpo.

  4. Seleccione Cuerpo de la solicitud y, a continuación, seleccione Añadir modelo.

  5. En Tipo de contenido, ingrese application/json.

    Si no se encuentra ningún tipo de contenido coincidente, no se realiza la validación de la solicitud. Para utilizar el mismo modelo independientemente del tipo de contenido, introduzca $default.

  6. En Modelo, seleccione entrada.

  7. Seleccione Guardar.

Ahora puede probar el método POST para verificar que se ha configurado correctamente para invocar la función de Lambda.

Para probar el método POST
  1. Elija la pestaña Prueba. Puede que tenga que elegir el botón de flecha hacia la derecha para mostrar la pestaña.

  2. En Cuerpo de la solicitud, pegue la siguiente carga JSON.

    { "a": 1, "b": 2, "op": "+" }
  3. Seleccione Probar.

    Debería ver los siguientes datos de salida:

    { "a": 1, "b": 2, "op": "+", "c": 3 }

Integración 3: Crear un método GET con parámetros de ruta para llamar a la función de Lambda

Ahora creará un método GET en un recurso especificado por una secuencia de parámetros de ruta para llamar a la función de Lambda del backend. Los valores de los parámetros de ruta especifican los datos de entrada a la función de Lambda. Definirá una plantilla de asignación para asignar los valores de los parámetros de ruta entrantes a la carga de la solicitud de integración necesaria.

La estructura de recursos de la API resultante será como la siguiente:


                Crear una API en API Gateway como proxy de Lambda
Para crear un recurso /{operand1}/{operand2}/{operator}
  1. Elija Crear recurso.

  2. En Ruta de recurso, seleccione /calc.

  3. En Nombre del recurso, escriba {operand1}.

  4. Mantenga desactivado CORS (uso compartido de recursos entre orígenes).

  5. Elija Crear recurso.

  6. En Ruta de recurso, seleccione /calc/{operand1}/.

  7. En Nombre del recurso, escriba {operand2}.

  8. Mantenga desactivado CORS (uso compartido de recursos entre orígenes).

  9. Elija Crear recurso.

  10. En Ruta de recurso, seleccione /calc/{operand1}/{operand2}/.

  11. En Nombre del recurso, escriba {operator}.

  12. Mantenga desactivado CORS (uso compartido de recursos entre orígenes).

  13. Elija Crear recurso.

Esta vez utilizará la integración de Lambda incorporada en la consola de API Gateway para configurar la integración del método.

Para configurar una integración del método
  1. Seleccione el recurso /{operand1}/{operand2}/{operator} y, a continuación, elija Crear método.

  2. En Tipo de método, seleccione GET.

  3. En Tipo de integración, seleccione Lambda.

  4. Mantenga desactivada la Integración de proxy Lambda.

  5. Para la función Lambda, seleccione el Región de AWS lugar donde creó la función Lambda e introduzca. Calc

  6. Mantenga activado Tiempo de espera predeterminado.

  7. Elija Crear método.

Ahora debe crear una plantilla de mapeo para mapear los tres parámetros de la ruta de la URL, declarados cuando se creó el recurso /calc/{operand1}/{operand2}/{operator}, con los valores de propiedad designados en el objeto JSON. Como las rutas URL deben estar codificadas como direcciones URL, el operador de división debe especificarse como %2F en lugar de /. Esta plantilla traduce %2F en '/' antes de pasarlo a la función de Lambda.

Para crear una plantilla de mapeo
  1. En la pestaña Solicitud de integración, en Configuración de la solicitud de integración, seleccione Editar.

  2. En Acceso directo de cuerpo de la solicitud, elija Cuando no haya plantillas definidas (recomendado).

  3. Elija Plantillas de mapeo.

  4. En Tipo de contenido, ingrese application/json.

  5. En Cuerpo de la plantilla, introduzca el siguiente código:

    { "a": "$input.params('operand1')", "b": "$input.params('operand2')", "op": #if($input.params('operator')=='%2F')"/"#{else}"$input.params('operator')"#end }
  6. Seleccione Guardar.

Ahora puede probar el método GET para verificar que se ha configurado correctamente para invocar la función de Lambda y pasar el resultado original a través de la respuesta de integración sin mapear.

Para probar el método GET
  1. Elija la pestaña Prueba. Puede que tenga que elegir el botón de flecha hacia la derecha para mostrar la pestaña.

  2. Para Ruta, haga lo siguiente:

    1. En operand1, introduzca 1.

    2. En operand2, introduzca 1.

    3. En operator, introduzca +.

  3. Seleccione Test (Probar).

  4. El resultado debe tener el siguiente aspecto:

    
            Asignar parámetros de ruta URL de una solicitud de método a la carga de una solicitud de integración para llamar a la función de Lambda

A continuación, creará el modelo de la estructura de datos de la carga de la respuesta del método detrás del esquema result.

De forma predeterminada, el cuerpo de la respuesta del método se asigna a un modelo vacío. Esto hará que el cuerpo de la respuesta de integración se transfiera sin asignación. Sin embargo, cuando genere un SDK para alguno de los lenguajes con establecimiento inflexible de tipos, como Java u Objective-C, los usuarios del SDK recibirán un objeto vacío como resultado. Para garantizar que el cliente REST y los clientes del SDK reciban el resultado deseado, debe crear los datos de la respuesta mediante un esquema predefinido. A continuación, definirá un modelo para el cuerpo de la respuesta del método y cómo crear una plantilla de asignación para traducir el cuerpo de la respuesta de integración al cuerpo de la respuesta del método.

Para crear una respuesta del método
  1. En la pestaña Respuesta del método, en Respuesta 200, elija Editar.

  2. En Cuerpo de la respuesta, seleccione Agregar modelo.

  3. En Tipo de contenido, ingrese application/json.

  4. En Modelo, seleccione resultado.

  5. Seleccione Guardar.

Al configurar el modelo para el cuerpo de la respuesta del método, nos aseguramos de que los datos de la respuesta se emitan en el objeto result de un determinado SDK. Para asegurarse de que los datos de la respuesta de integración se asignen según corresponda, necesitará una plantilla de asignación.

Para crear una plantilla de mapeo
  1. En la pestaña Respuesta de integración, en Predeterminado: respuesta, seleccione Editar.

  2. Elija Plantillas de mapeo.

  3. En Tipo de contenido, ingrese application/json.

  4. En Generar plantilla, seleccione resultado.

  5. Modifique la plantilla de mapeo generada para que coincida con lo siguiente:

    #set($inputRoot = $input.path('$')) { "input" : { "a" : $inputRoot.a, "b" : $inputRoot.b, "op" : "$inputRoot.op" }, "output" : { "c" : $inputRoot.c } }
  6. Seleccione Guardar.

Para probar la plantilla de mapeo
  1. Elija la pestaña Prueba. Puede que tenga que elegir el botón de flecha hacia la derecha para mostrar la pestaña.

  2. Para Ruta, haga lo siguiente:

    1. En operand1, introduzca 1.

    2. En operand2, introduzca 2.

    3. En operator, introduzca +.

  3. Seleccione Probar.

  4. El resultado será parecido al siguiente:

    { "input": { "a": 1, "b": 2, "op": "+" }, "output": { "c": 3 } }

En este momento, solo puede llamar a la API utilizando la característica Prueba de la consola de API Gateway. Para hacer que esté disponible para los clientes, debe implementar la API. Asegúrese siempre para volver a implementar la API, cada vez que agrega, modifica o elimina un recurso o un método, actualizar una asignación de datos o actualiza la configuración de la etapa. De lo contrario, las nuevas características o actualizaciones no estarán disponibles para los clientes de la API.

Para implementar la API
  1. Elija Deploy API (Implementar API).

  2. En Etapa, seleccione Nueva etapa.

  3. En Stage name (Nombre de etapa), escriba Prod.

  4. (Opcional) En Description (Descripción), introduzca una descripción.

  5. Seleccione Implementar.

  6. (Opcional) En Detalles de la etapa, para URL de invocación, puede elegir el icono de copia para copiar la URL de invocación de su API. Puede utilizar esto con herramientas como Postman y cURL para probar la API.

nota

Vuelva a implementar la API cada vez que agrega, modifica o elimina un recurso o un método, actualiza una asignación de datos o actualiza la configuración de la etapa. De lo contrario, las nuevas características o actualizaciones no estarán disponibles para los clientes de la API.