APIEjemplos de puertas de enlace que utilizan AWS CLI - AWS Command Line Interface

Esta documentación es AWS CLI únicamente para la versión 1 de la versión. Para ver la documentación relacionada con la versión 2 de AWS CLI, consulte la Guía del usuario de la versión 2.

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.

APIEjemplos de puertas de enlace que utilizan AWS CLI

Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes mediante el uso de AWS Command Line Interface API Gateway.

Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.

Cada ejemplo incluye un enlace al código fuente completo, donde puede encontrar instrucciones sobre cómo configurar y ejecutar el código en su contexto.

Acciones

El siguiente ejemplo de código muestra cómo usarlocreate-api-key.

AWS CLI

Para crear una API clave que esté habilitada para un escenario API AND existente

Comando:

aws apigateway create-api-key --name 'Dev API Key' --description 'Used for development' --enabled --stage-keys restApiId='a1b2c3d4e5',stageName='dev'
  • Para API obtener más información, consulte CreateApiKeyla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlocreate-authorizer.

AWS CLI

Ejemplo 1: Para crear un autorizador personalizado de API Gateway basado en fichas para API

En el siguiente create-authorizer ejemplo, se crea un autorizador basado en un token.

aws apigateway create-authorizer \ --rest-api-id 1234123412 \ --name 'First_Token_Custom_Authorizer' \ --type TOKEN \ --authorizer-uri 'arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123412341234:function:customAuthFunction/invocations' \ --identity-source 'method.request.header.Authorization' \ --authorizer-result-ttl-in-seconds 300

Salida:

{ "authType": "custom", "name": "First_Token_Custom_Authorizer", "authorizerUri": "arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123412341234:function:customAuthFunction/invocations", "authorizerResultTtlInSeconds": 300, "identitySource": "method.request.header.Authorization", "type": "TOKEN", "id": "z40xj0" }

Ejemplo 2: Para crear un autorizador personalizado de API Gateway basado en grupos de usuarios de Cognito para API

El siguiente create-authorizer ejemplo crea un autorizador personalizado de API Gateway basado en grupos de usuarios de Cognito.

aws apigateway create-authorizer \ --rest-api-id 1234123412 \ --name 'First_Cognito_Custom_Authorizer' \ --type COGNITO_USER_POOLS \ --provider-arns 'arn:aws:cognito-idp:us-east-1:123412341234:userpool/us-east-1_aWcZeQbuD' \ --identity-source 'method.request.header.Authorization'

Salida:

{ "authType": "cognito_user_pools", "identitySource": "method.request.header.Authorization", "name": "First_Cognito_Custom_Authorizer", "providerARNs": [ "arn:aws:cognito-idp:us-east-1:342398297714:userpool/us-east-1_qWbZzQhzE" ], "type": "COGNITO_USER_POOLS", "id": "5yid1t" }

Ejemplo 3: Para crear un autorizador personalizado de API Gateway basado en solicitudes para API

En el siguiente create-authorizer ejemplo, se crea un autorizador basado en solicitudes.

aws apigateway create-authorizer \ --rest-api-id 1234123412 \ --name 'First_Request_Custom_Authorizer' \ --type REQUEST \ --authorizer-uri 'arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123412341234:function:customAuthFunction/invocations' \ --identity-source 'method.request.header.Authorization,context.accountId' \ --authorizer-result-ttl-in-seconds 300

Salida:

{ "id": "z40xj0", "name": "First_Request_Custom_Authorizer", "type": "REQUEST", "authType": "custom", "authorizerUri": "arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123412341234:function:customAuthFunction/invocations", "identitySource": "method.request.header.Authorization,context.accountId", "authorizerResultTtlInSeconds": 300 }
  • Para API obtener más información, consulte la Referencia de CreateAuthorizercomandos AWS CLI .

El siguiente ejemplo de código muestra cómo usarlocreate-base-path-mapping.

AWS CLI

Para crear el mapeo de ruta base para un nombre de dominio personalizado

Comando:

aws apigateway create-base-path-mapping --domain-name subdomain.domain.tld --rest-api-id 1234123412 --stage prod --base-path v1

El siguiente ejemplo de código muestra cómo usarlocreate-deployment.

AWS CLI

Para implementar los recursos configurados API para un nuevo escenario

Comando:

aws apigateway create-deployment --rest-api-id 1234123412 --stage-name dev --stage-description 'Development Stage' --description 'First deployment to the dev stage'

Para implementar los recursos configurados API para una etapa existente

Comando:

aws apigateway create-deployment --rest-api-id 1234123412 --stage-name dev --description 'Second deployment to the dev stage'

Para implementar los recursos configurados API para una etapa existente con variables de etapa

aws apigateway create-deployment -- rest-api-id 1234123412 --stage-name dev --description «Tercer despliegue en la fase de desarrollo» --variables key='value', =' otherKey otherValue

El siguiente ejemplo de código muestra cómo usarlocreate-domain-name.

AWS CLI

Para crear el nombre de dominio personalizado

Comando:

aws apigateway create-domain-name --domain-name 'my.domain.tld' --certificate-name 'my.domain.tld cert' --certificate-arn 'arn:aws:acm:us-east-1:012345678910:certificate/fb1b9770-a305-495d-aefb-27e5e101ff3'
  • Para API obtener más información, consulte CreateDomainNamela Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlocreate-model.

AWS CLI

Para crear un modelo para un API

Comando:

aws apigateway create-model --rest-api-id 1234123412 --name 'firstModel' --description 'The First Model' --content-type 'application/json' --schema '{ "$schema": "http://json-schema.org/draft-04/schema#", "title": "firstModel", "type": "object", "properties": { "firstProperty" : { "type": "object", "properties": { "key": { "type": "string" } } } } }'

Salida:

{ "contentType": "application/json", "description": "The First Model", "name": "firstModel", "id": "2rzg0l", "schema": "{ \"$schema\": \"http://json-schema.org/draft-04/schema#\", \"title\": \"firstModel\", \"type\": \"object\", \"properties\": { \"firstProperty\" : { \"type\": \"object\", \"properties\": { \"key\": { \"type\": \"string\" } } } } }" }
  • Para API obtener más información, consulte CreateModella Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlocreate-resource.

AWS CLI

Para crear un recurso en un API

Comando:

aws apigateway create-resource --rest-api-id 1234123412 --parent-id a1b2c3 --path-part 'new-resource'
  • Para API obtener más información, consulte CreateResourcela Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlocreate-rest-api.

AWS CLI

Para crear un API

Comando:

aws apigateway create-rest-api --name 'My First API' --description 'This is my first API'

Para crear un duplicado API a partir de uno existente API

Comando:

aws apigateway create-rest-api --name 'Copy of My First API' --description 'This is a copy of my first API' --clone-from 1234123412
  • Para API obtener más información, consulte CreateRestApila Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlocreate-stage.

AWS CLI

Para crear una etapa en una API que contendrá una implementación existente

Comando:

aws apigateway create-stage --rest-api-id 1234123412 --stage-name 'dev' --description 'Development stage' --deployment-id a1b2c3

Para crear una etapa en una API que contenga una implementación existente y variables de etapa personalizadas

Comando:

aws apigateway create-stage --rest-api-id 1234123412 --stage-name 'dev' --description 'Development stage' --deployment-id a1b2c3 --variables key='value',otherKey='otherValue'
  • Para API obtener más información, consulte CreateStagela Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlocreate-usage-plan-key.

AWS CLI

Asocie una API clave existente a un plan de uso

Comando:

aws apigateway create-usage-plan-key --usage-plan-id a1b2c3 --key-type "API_KEY" --key-id 4vq3yryqm5
  • Para API obtener más información, consulte CreateUsagePlanKeyla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlocreate-usage-plan.

AWS CLI

Para crear un plan de uso con límites de cuota y aceleración que se restablezca a principios de mes

Comando:

aws apigateway create-usage-plan --name "New Usage Plan" --description "A new usage plan" --throttle burstLimit=10,rateLimit=5 --quota limit=500,offset=0,period=MONTH
  • Para API obtener más información, consulte la Referencia CreateUsagePlande AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlodelete-api-key.

AWS CLI

Para eliminar una API clave

Comando:

aws apigateway delete-api-key --api-key 8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk
  • Para API obtener más información, consulte DeleteApiKeyla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlodelete-authorizer.

AWS CLI

Para eliminar un autorizador personalizado en un API

Comando:

aws apigateway delete-authorizer --rest-api-id 1234123412 --authorizer-id 7gkfbo
  • Para API obtener más información, consulte DeleteAuthorizerla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlodelete-base-path-mapping.

AWS CLI

Para eliminar una asignación de ruta base para un nombre de dominio personalizado

Comando:

aws apigateway delete-base-path-mapping --domain-name 'api.domain.tld' --base-path 'dev'

El siguiente ejemplo de código muestra cómo usarlodelete-client-certificate.

AWS CLI

Para eliminar un certificado de cliente

Comando:

aws apigateway delete-client-certificate --client-certificate-id a1b2c3

El siguiente ejemplo de código muestra cómo usarlodelete-deployment.

AWS CLI

Para eliminar una implementación en un API

Comando:

aws apigateway delete-deployment --rest-api-id 1234123412 --deployment-id a1b2c3
  • Para API obtener más información, consulte DeleteDeploymentla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlodelete-domain-name.

AWS CLI

Para eliminar un nombre de dominio personalizado

Comando:

aws apigateway delete-domain-name --domain-name 'api.domain.tld'
  • Para API obtener más información, consulte DeleteDomainNamela Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlodelete-integration-response.

AWS CLI

Para eliminar una respuesta de integración para un recurso, método y código de estado determinados en un API

Comando:

aws apigateway delete-integration-response --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET --status-code 200

El siguiente ejemplo de código muestra cómo usarlodelete-integration.

AWS CLI

Para eliminar una integración de un recurso y un método determinados en un API

Comando:

aws apigateway delete-integration --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET
  • Para API obtener más información, consulte DeleteIntegrationla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlodelete-method-response.

AWS CLI

Para eliminar la respuesta de un método para el recurso, el método y el código de estado determinados en un API

Comando:

aws apigateway delete-method-response --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET --status-code 200
  • Para API obtener más información, consulte DeleteMethodResponsela Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlodelete-method.

AWS CLI

Para eliminar un método para un recurso determinado en un API

Comando:

aws apigateway delete-method --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET
  • Para API obtener más información, consulte DeleteMethodla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlodelete-model.

AWS CLI

Para eliminar un modelo en el campo dado API

Comando:

aws apigateway delete-model --rest-api-id 1234123412 --model-name 'customModel'
  • Para API obtener más información, consulte DeleteModella Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlodelete-resource.

AWS CLI

Para eliminar un recurso de un API

Comando:

aws apigateway delete-resource --rest-api-id 1234123412 --resource-id a1b2c3
  • Para API obtener más información, consulte DeleteResourcela Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlodelete-rest-api.

AWS CLI

Para eliminar un API

Comando:

aws apigateway delete-rest-api --rest-api-id 1234123412
  • Para API obtener más información, consulte DeleteRestApila Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlodelete-stage.

AWS CLI

Para eliminar una etapa de un API

Comando:

aws apigateway delete-stage --rest-api-id 1234123412 --stage-name 'dev'
  • Para API obtener más información, consulte DeleteStagela Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlodelete-usage-plan-key.

AWS CLI

Para eliminar una API clave de un plan de uso

Comando:

aws apigateway delete-usage-plan-key --usage-plan-id a1b2c3 --key-id 1NbjQzMReAkeEQPNAW8r3dXsU2rDD7fc7f2Sipnu
  • Para API obtener más información, consulte DeleteUsagePlanKeyla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlodelete-usage-plan.

AWS CLI

Para eliminar un plan de uso

Comando:

aws apigateway delete-usage-plan --usage-plan-id a1b2c3
  • Para API obtener más información, consulte DeleteUsagePlanla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloflush-stage-authorizers-cache.

AWS CLI

Para vaciar todas las entradas de la caché del autorizador en un escenario

Comando:

aws apigateway flush-stage-authorizers-cache --rest-api-id 1234123412 --stage-name dev

El siguiente ejemplo de código muestra cómo usarloflush-stage-cache.

AWS CLI

Para vaciar la caché API de una etapa

Comando:

aws apigateway flush-stage-cache --rest-api-id 1234123412 --stage-name dev
  • Para API obtener más información, consulte FlushStageCachela Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlogenerate-client-certificate.

AWS CLI

Para crear un certificado del lado del cliente SSL

Comando:

aws apigateway generate-client-certificate --description 'My First Client Certificate'

El siguiente ejemplo de código muestra cómo usarloget-account.

AWS CLI

Para obtener la configuración de la cuenta API Gateway

Comando:

aws apigateway get-account

Salida:

{ "cloudwatchRoleArn": "arn:aws:iam::123412341234:role/APIGatewayToCloudWatchLogsRole", "throttleSettings": { "rateLimit": 500.0, "burstLimit": 1000 } }
  • Para API obtener más información, consulte GetAccountla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-api-key.

AWS CLI

Para obtener la información sobre una API clave específica

Comando:

aws apigateway get-api-key --api-key 8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk

Salida:

{ "description": "My first key", "enabled": true, "stageKeys": [ "a1b2c3d4e5/dev", "e5d4c3b2a1/dev" ], "lastUpdatedDate": 1456184515, "createdDate": 1456184452, "id": "8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk", "name": "My key" }
  • Para API obtener más información, consulte GetApiKeyla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-api-keys.

AWS CLI

Para obtener la lista de API claves

Comando:

aws apigateway get-api-keys

Salida:

{ "items": [ { "description": "My first key", "enabled": true, "stageKeys": [ "a1b2c3d4e5/dev", "e5d4c3b2a1/dev" ], "lastUpdatedDate": 1456184515, "createdDate": 1456184452, "id": "8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk", "name": "My key" } ] }
  • Para API obtener más información, consulte GetApiKeysla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-authorizer.

AWS CLI

Para obtener la configuración API de Gateway por API autorizador

Comando:

aws apigateway get-authorizer --rest-api-id 1234123412 --authorizer-id gfi4n3

Salida:

{ "authorizerResultTtlInSeconds": 300, "name": "MyAuthorizer", "type": "TOKEN", "identitySource": "method.request.header.Authorization", "authorizerUri": "arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123412341234:function:authorizer_function/invocations", "id": "gfi4n3" }
  • Para API obtener más información, consulte GetAuthorizerla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-authorizers.

AWS CLI

Para obtener la lista de autorizadores de un REST API

Comando:

aws apigateway get-authorizers --rest-api-id 1234123412

Salida:

{ "items": [ { "name": "MyAuthorizer", "authorizerUri": "arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123412341234:function:My_Authorizer_Function/invocations", "authorizerResultTtlInSeconds": 300, "identitySource": "method.request.header.Authorization", "type": "TOKEN", "id": "gfi4n3" } ] }
  • Para API obtener más información, consulte GetAuthorizersla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-base-path-mapping.

AWS CLI

Obtención de la asignación de ruta base para un nombre de dominio personalizado

Comando:

aws apigateway get-base-path-mapping --domain-name subdomain.domain.tld --base-path v1

Salida:

{ "basePath": "v1", "restApiId": "1234w4321e", "stage": "api" }
  • Para API obtener más información, consulte GetBasePathMappingla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-base-path-mappings.

AWS CLI

Para obtener las asignaciones de rutas base de un nombre de dominio personalizado

Comando:

aws apigateway get-base-path-mappings --domain-name subdomain.domain.tld

Salida:

{ "items": [ { "basePath": "(none)", "restApiId": "1234w4321e", "stage": "dev" }, { "basePath": "v1", "restApiId": "1234w4321e", "stage": "api" } ] }
  • Para API obtener más información, consulte la Referencia GetBasePathMappingsde AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-client-certificate.

AWS CLI

Para obtener un certificado de cliente

Comando:

aws apigateway get-client-certificate --client-certificate-id a1b2c3
  • Para API obtener más información, consulte GetClientCertificatela Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-client-certificates.

AWS CLI

Para obtener una lista de certificados de cliente

Comando:

aws apigateway get-client-certificates

Salida:

{ "items": [ { "pemEncodedCertificate": "-----BEGIN CERTIFICATE----- <certificate content> -----END CERTIFICATE-----", "clientCertificateId": "a1b2c3", "expirationDate": 1483556561, "description": "My Client Certificate", "createdDate": 1452020561 } ] }

El siguiente ejemplo de código muestra cómo usarloget-deployment.

AWS CLI

Para obtener información sobre una implementación

Comando:

aws apigateway get-deployment --rest-api-id 1234123412 --deployment-id ztt4m2

Salida:

{ "description": "myDeployment", "id": "ztt4m2", "createdDate": 1455218022 }
  • Para API obtener más información, consulte GetDeploymentla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-deployments.

AWS CLI

Para obtener una lista de las implementaciones de un REST API

Comando:

aws apigateway get-deployments --rest-api-id 1234123412

Salida:

{ "items": [ { "createdDate": 1453797217, "id": "0a2b4c", "description": "Deployed my API for the first time" } ] }
  • Para API obtener más información, consulte GetDeploymentsla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-domain-name.

AWS CLI

Para obtener información sobre un nombre de dominio personalizado

Comando:

aws apigateway get-domain-name --domain-name api.domain.tld

Salida:

{ "domainName": "api.domain.tld", "distributionDomainName": "d1a2f3a4c5o6d.cloudfront.net", "certificateName": "uploadedCertificate", "certificateUploadDate": 1462565487 }
  • Para API obtener más información, consulte GetDomainNamela Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-domain-names.

AWS CLI

Para obtener una lista de nombres de dominio personalizados

Comando:

aws apigateway get-domain-names

Salida:

{ "items": [ { "distributionDomainName": "d9511k3l09bkd.cloudfront.net", "certificateUploadDate": 1452812505, "certificateName": "my_custom_domain-certificate", "domainName": "subdomain.domain.tld" } ] }
  • Para API obtener más información, consulte GetDomainNamesla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-export.

AWS CLI

Para obtener la plantilla JSON Swagger para un escenario

Comando:

aws apigateway get-export --rest-api-id a1b2c3d4e5 --stage-name dev --export-type swagger /path/to/filename.json

Para obtener la plantilla JSON Swagger y las extensiones de API Gateway para un escenario

Comando:

aws apigateway get-export --parameters extensions='integrations' --rest-api-id a1b2c3d4e5 --stage-name dev --export-type swagger /path/to/filename.json

Para obtener la plantilla JSON Swagger y las extensiones de Postman para un escenario

Comando:

aws apigateway get-export --parameters extensions='postman' --rest-api-id a1b2c3d4e5 --stage-name dev --export-type swagger /path/to/filename.json
  • Para API obtener más información, consulte la Referencia de GetExportcomandos AWS CLI .

El siguiente ejemplo de código muestra cómo usarloget-integration-response.

AWS CLI

Para obtener la configuración de la respuesta de integración para un HTTP método definido en REST API el recurso

Comando:

aws apigateway get-integration-response --rest-api-id 1234123412 --resource-id y9h6rt --http-method GET --status-code 200

Salida:

{ "statusCode": "200", "responseTemplates": { "application/json": null } }

El siguiente ejemplo de código muestra cómo usarloget-integration.

AWS CLI

Para obtener la configuración de integración de un HTTP método definido en REST API el recurso

Comando:

aws apigateway get-integration --rest-api-id 1234123412 --resource-id y9h6rt --http-method GET

Salida:

{ "httpMethod": "POST", "integrationResponses": { "200": { "responseTemplates": { "application/json": null }, "statusCode": "200" } }, "cacheKeyParameters": [], "type": "AWS", "uri": "arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123412341234:function:My_Function/invocations", "cacheNamespace": "y9h6rt" }
  • Para API obtener más información, consulte GetIntegrationla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-method-response.

AWS CLI

Para obtener la configuración del recurso de respuesta del HTTP método para un método definido en REST API el recurso

Comando:

aws apigateway get-method-response --rest-api-id 1234123412 --resource-id y9h6rt --http-method GET --status-code 200

Salida:

{ "responseModels": { "application/json": "Empty" }, "statusCode": "200" }
  • Para API obtener más información, consulte GetMethodResponsela Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-method.

AWS CLI

Para obtener la configuración de recursos del método para un HTTP método definido en REST API el recurso

Comando:

aws apigateway get-method --rest-api-id 1234123412 --resource-id y9h6rt --http-method GET

Salida:

{ "apiKeyRequired": false, "httpMethod": "GET", "methodIntegration": { "integrationResponses": { "200": { "responseTemplates": { "application/json": null }, "statusCode": "200" } }, "cacheKeyParameters": [], "uri": "arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123412341234:function:My_Function/invocations", "httpMethod": "POST", "cacheNamespace": "y9h6rt", "type": "AWS" }, "requestParameters": {}, "methodResponses": { "200": { "responseModels": { "application/json": "Empty" }, "statusCode": "200" } }, "authorizationType": "NONE" }
  • Para API obtener más información, consulte GetMethodla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-model-template.

AWS CLI

Para obtener la plantilla de mapeo de un modelo definido en un REST API

Comando:

aws apigateway get-model-template --rest-api-id 1234123412 --model-name Empty

Salida:

{ "value": "#set($inputRoot = $input.path('$'))\n{ }" }
  • Para API obtener más información, consulte GetModelTemplatela Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-model.

AWS CLI

Para obtener la configuración de un modelo definido en un REST API

Comando:

aws apigateway get-model --rest-api-id 1234123412 --model-name Empty

Salida:

{ "contentType": "application/json", "description": "This is a default empty schema model", "name": "Empty", "id": "etd5w5", "schema": "{\n \"$schema\": \"http://json-schema.org/draft-04/schema#\",\n \"title\" : \"Empty Schema\",\n \"type\" : \"object\"\n}" }
  • Para API obtener más información, consulte GetModella Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-models.

AWS CLI

Para obtener una lista de modelos para un REST API

Comando:

aws apigateway get-models --rest-api-id 1234123412

Salida:

{ "items": [ { "description": "This is a default error schema model", "schema": "{\n \"$schema\" : \"http://json-schema.org/draft-04/schema#\",\n \"title\" : \"Error Schema\",\n \"type\" : \"object\",\n \"properties\" : {\n \"message\" : { \"type\" : \"string\" }\n }\n}", "contentType": "application/json", "id": "7tpbze", "name": "Error" }, { "description": "This is a default empty schema model", "schema": "{\n \"$schema\": \"http://json-schema.org/draft-04/schema#\",\n \"title\" : \"Empty Schema\",\n \"type\" : \"object\"\n}", "contentType": "application/json", "id": "etd5w5", "name": "Empty" } ] }
  • Para API obtener más información, consulte GetModelsla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-resource.

AWS CLI

Para obtener información sobre un recurso

Comando:

aws apigateway get-resource --rest-api-id 1234123412 --resource-id zwo0y3

Salida:

{ "path": "/path", "pathPart": "path", "id": "zwo0y3", "parentId": "uyokt6ij2g" }
  • Para API obtener más información, consulte GetResourcela Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-resources.

AWS CLI

Para obtener una lista de recursos para un REST API

Comando:

aws apigateway get-resources --rest-api-id 1234123412

Salida:

{ "items": [ { "path": "/resource/subresource", "resourceMethods": { "POST": {} }, "id": "024ace", "pathPart": "subresource", "parentId": "ai5b02" } ] }
  • Para API obtener más información, consulte GetResourcesla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-rest-api.

AWS CLI

Para obtener información sobre un API

Comando:

aws apigateway get-rest-api --rest-api-id 1234123412

Salida:

{ "name": "myAPI", "id": "o1y243m4f5", "createdDate": 1453416433 }
  • Para API obtener más información, consulte GetRestApila Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-rest-apis.

AWS CLI

Para obtener una lista de REST APIs

Comando:

aws apigateway get-rest-apis

Salida:

{ "items": [ { "createdDate": 1438884790, "id": "12s44z21rb", "name": "My First API" } ] }
  • Para API obtener más información, consulte GetRestApisla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-sdk.

AWS CLI

Para obtener el Android SDK para un REST API escenario

Comando:

aws apigateway get-sdk --rest-api-id 1234123412 --stage-name dev --sdk-type android --parameters groupId='com.mycompany',invokerPackage='com.mycompany.clientsdk',artifactId='Mycompany-client',artifactVersion='1.0.0' /path/to/android_sdk.zip

Salida:

{ "contentType": "application/octet-stream", "contentDisposition": "attachment; filename=\"android_2016-02-22_23-52Z.zip\"" }

Para conseguir el IOS SDK para un REST API escenario

Comando:

aws apigateway get-sdk --rest-api-id 1234123412 --stage-name dev --sdk-type objectivec --parameters classPrefix='myprefix' /path/to/iOS_sdk.zip

Salida:

{ "contentType": "application/octet-stream", "contentDisposition": "attachment; filename=\"objectivec_2016-02-22_23-52Z.zip\"" }

Para obtener el Javascript SDK de un REST API escenario

Comando:

aws apigateway get-sdk --rest-api-id 1234123412 --stage-name dev --sdk-type javascript /path/to/javascript_sdk.zip

Salida:

{ "contentType": "application/octet-stream", "contentDisposition": "attachment; filename=\"javascript_2016-02-22_23-52Z.zip\"" }
  • Para API obtener más información, consulte GetSdkla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-stage.

AWS CLI

Para obtener información sobre el estadio API de un

Comando:

aws apigateway get-stage --rest-api-id 1234123412 --stage-name dev

Salida:

{ "stageName": "dev", "cacheClusterSize": "0.5", "cacheClusterEnabled": false, "cacheClusterStatus": "NOT_AVAILABLE", "deploymentId": "rbh1fj", "lastUpdatedDate": 1466802961, "createdDate": 1460682074, "methodSettings": { "*/*": { "cacheTtlInSeconds": 300, "loggingLevel": "INFO", "dataTraceEnabled": false, "metricsEnabled": true, "unauthorizedCacheControlHeaderStrategy": "SUCCEED_WITH_RESPONSE_HEADER", "throttlingRateLimit": 500.0, "cacheDataEncrypted": false, "cachingEnabled": false, "throttlingBurstLimit": 1000, "requireAuthorizationForCacheControl": true }, "~1resource/GET": { "cacheTtlInSeconds": 300, "loggingLevel": "INFO", "dataTraceEnabled": false, "metricsEnabled": true, "unauthorizedCacheControlHeaderStrategy": "SUCCEED_WITH_RESPONSE_HEADER", "throttlingRateLimit": 500.0, "cacheDataEncrypted": false, "cachingEnabled": false, "throttlingBurstLimit": 1000, "requireAuthorizationForCacheControl": true } } }
  • Para API obtener más información, consulte GetStagela Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-stages.

AWS CLI

Para obtener la lista de etapas de un REST API

Comando:

aws apigateway get-stages --rest-api-id 1234123412

Salida:

{ "item": [ { "stageName": "dev", "cacheClusterSize": "0.5", "cacheClusterEnabled": true, "cacheClusterStatus": "AVAILABLE", "deploymentId": "123h64", "lastUpdatedDate": 1456185138, "createdDate": 1453589092, "methodSettings": { "~1resource~1subresource/POST": { "cacheTtlInSeconds": 300, "loggingLevel": "INFO", "dataTraceEnabled": true, "metricsEnabled": true, "throttlingRateLimit": 500.0, "cacheDataEncrypted": false, "cachingEnabled": false, "throttlingBurstLimit": 1000 } } } ] }
  • Para API obtener más información, consulte GetStagesla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-usage-plan-key.

AWS CLI

Para obtener los detalles de una API clave asociada a un plan de uso

Comando:

aws apigateway get-usage-plan-key --usage-plan-id a1b2c3 --key-id 1NbjQzMReAkeEQPNAW8r3dXsU2rDD7fc7f2Sipnu
  • Para API obtener más información, consulte GetUsagePlanKeyla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-usage-plan-keys.

AWS CLI

Para obtener la lista de API claves asociadas a un plan de uso

Comando:

aws apigateway get-usage-plan-keys --usage-plan-id a1b2c3
  • Para API obtener más información, consulte GetUsagePlanKeysla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-usage-plan.

AWS CLI

Para obtener los detalles de un plan de uso

Comando:

aws apigateway get-usage-plan --usage-plan-id a1b2c3
  • Para API obtener más información, consulte GetUsagePlanla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-usage-plans.

AWS CLI

Para obtener los detalles de todos los planes de uso

Comando:

aws apigateway get-usage-plans
  • Para API obtener más información, consulte GetUsagePlansla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-usage.

AWS CLI

Para obtener los detalles de uso de un plan de uso

Comando:

aws apigateway get-usage --usage-plan-id a1b2c3 --start-date "2016-08-16" --end-date "2016-08-17"
  • Para API obtener más información, consulte GetUsagela Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloimport-rest-api.

AWS CLI

Para importar una plantilla Swagger y crear una API

Comando:

aws apigateway import-rest-api --body 'file:///path/to/API_Swagger_template.json'
  • Para API obtener más información, consulte la Referencia ImportRestApide AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloput-integration-response.

AWS CLI

Para crear una respuesta de integración como respuesta predeterminada con una plantilla de mapeo definida

Comando:

aws apigateway put-integration-response --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET --status-code 200 --selection-pattern "" --response-templates '{"application/json": "{\"json\": \"template\"}"}'

Para crear una respuesta de integración con una expresión regular de 400 y un valor de encabezado definido estáticamente

Comando:

aws apigateway put-integration-response --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET --status-code 400 --selection-pattern 400 --response-parameters '{"method.response.header.custom-header": "'"'"'custom-value'"'"'"}'

El siguiente ejemplo de código muestra cómo usarloput-integration.

AWS CLI

Para crear una solicitud MOCK de integración

Comando:

aws apigateway put-integration --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET --type MOCK --request-templates '{ "application/json": "{\"statusCode\": 200}" }'

Para crear una solicitud HTTP de integración

Comando:

aws apigateway put-integration --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET --type HTTP --integration-http-method GET --uri 'https://domain.tld/path'

Para crear una solicitud de AWS integración con un punto final de función Lambda

Comando:

aws apigateway put-integration --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET --type AWS --integration-http-method POST --uri 'arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123412341234:function:function_name/invocations'
  • Para API obtener más información, consulte PutIntegrationla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloput-method-response.

AWS CLI

Creación de una respuesta de método en el código de estado especificado con un encabezado de respuesta de método personalizado

Comando:

aws apigateway put-method-response --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET --status-code 400 --response-parameters "method.response.header.custom-header=false"
  • Para API obtener más información, consulte PutMethodResponsela Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloput-method.

AWS CLI

Para crear un método para un recurso en un API encabezado de solicitud de método personalizado, sin autorización ni API clave

Comando:

aws apigateway put-method --rest-api-id 1234123412 --resource-id a1b2c3 --http-method PUT --authorization-type "NONE" --no-api-key-required --request-parameters "method.request.header.custom-header=false"
  • Para API obtener más información, consulte PutMethodla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloput-rest-api.

AWS CLI

Para sobrescribir una existente API mediante una plantilla Swagger

Comando:

aws apigateway put-rest-api --rest-api-id 1234123412 --mode overwrite --body 'fileb:///path/to/API_Swagger_template.json'

Para fusionar una plantilla Swagger con una existente API

Comando:

aws apigateway put-rest-api --rest-api-id 1234123412 --mode merge --body 'fileb:///path/to/API_Swagger_template.json'
  • Para API obtener más información, consulte la Referencia PutRestApide AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlotest-invoke-authorizer.

AWS CLI

Para realizar una prueba, invoque una solicitud a un autorizador personalizado que incluya el encabezado y el valor necesarios

Comando:

aws apigateway test-invoke-authorizer --rest-api-id 1234123412 --authorizer-id 5yid1t --headers Authorization='Value'
  • Para API obtener más información, consulte la Referencia TestInvokeAuthorizerde AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlotest-invoke-method.

AWS CLI

Para probar, invoque el recurso raíz en an API realizando una solicitud GET

Comando:

aws apigateway test-invoke-method --rest-api-id 1234123412 --resource-id avl5sg8fw8 --http-method GET --path-with-query-string '/'

Para probar, invoque un subrecurso en an API realizando una GET solicitud con un valor de parámetro de ruta especificado

Comando:

aws apigateway test-invoke-method --rest-api-id 1234123412 --resource-id 3gapai --http-method GET --path-with-query-string '/pets/1'
  • Para API obtener más información, consulte la Referencia TestInvokeMethodde AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloupdate-account.

AWS CLI

Para cambiar la IAM función ARN de registro a CloudWatch Logs

Comando:

aws apigateway update-account --patch-operations op='replace',path='/cloudwatchRoleArn',value='arn:aws:iam::123412341234:role/APIGatewayToCloudWatchLogs'

Salida:

{ "cloudwatchRoleArn": "arn:aws:iam::123412341234:role/APIGatewayToCloudWatchLogs", "throttleSettings": { "rateLimit": 1000.0, "burstLimit": 2000 } }
  • Para API obtener más información, consulte UpdateAccountla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloupdate-api-key.

AWS CLI

Para cambiar el nombre de una API clave

Comando:

aws apigateway update-api-key --api-key sNvjQDMReA1eEQPNAW8r37XsU2rDD7fc7m2SiMnu --patch-operations op='replace',path='/name',value='newName'

Salida:

{ "description": "currentDescription", "enabled": true, "stageKeys": [ "41t2j324r5/dev" ], "lastUpdatedDate": 1470086052, "createdDate": 1445460347, "id": "sNvjQDMReA1vEQPNzW8r3dXsU2rrD7fcjm2SiMnu", "name": "newName" }

Para deshabilitar la API clave

Comando:

aws apigateway update-api-key --api-key sNvjQDMReA1eEQPNAW8r37XsU2rDD7fc7m2SiMnu --patch-operations op='replace',path='/enabled',value='false'

Salida:

{ "description": "currentDescription", "enabled": false, "stageKeys": [ "41t2j324r5/dev" ], "lastUpdatedDate": 1470086052, "createdDate": 1445460347, "id": "sNvjQDMReA1vEQPNzW8r3dXsU2rrD7fcjm2SiMnu", "name": "newName" }
  • Para API obtener más información, consulte UpdateApiKeyla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloupdate-authorizer.

AWS CLI

Para cambiar el nombre del autorizador personalizado

Comando:

aws apigateway update-authorizer --rest-api-id 1234123412 --authorizer-id gfi4n3 --patch-operations op='replace',path='/name',value='testAuthorizer'

Salida:

{ "authType": "custom", "name": "testAuthorizer", "authorizerUri": "arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123412341234:function:customAuthorizer/invocations", "authorizerResultTtlInSeconds": 300, "identitySource": "method.request.header.Authorization", "type": "TOKEN", "id": "gfi4n3" }

Para cambiar la función Lambda que invoca el autorizador personalizado

Comando:

aws apigateway update-authorizer --rest-api-id 1234123412 --authorizer-id gfi4n3 --patch-operations op='replace',path='/authorizerUri',value='arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123412341234:function:newAuthorizer/invocations'

Salida:

{ "authType": "custom", "name": "testAuthorizer", "authorizerUri": "arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123412341234:function:newAuthorizer/invocations", "authorizerResultTtlInSeconds": 300, "identitySource": "method.request.header.Authorization", "type": "TOKEN", "id": "gfi4n3" }
  • Para API obtener más información, consulte la Referencia UpdateAuthorizerde AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloupdate-base-path-mapping.

AWS CLI

Para cambiar la ruta base de un nombre de dominio personalizado

Comando:

aws apigateway update-base-path-mapping --domain-name api.domain.tld --base-path prod --patch-operations op='replace',path='/basePath',value='v1'

Salida:

{ "basePath": "v1", "restApiId": "1234123412", "stage": "api" }

El siguiente ejemplo de código muestra cómo usarloupdate-client-certificate.

AWS CLI

Para actualizar la descripción de un certificado de cliente

Comando:

aws apigateway update-client-certificate --client-certificate-id a1b2c3 --patch-operations op='replace',path='/description',value='My new description'

El siguiente ejemplo de código muestra cómo usarloupdate-deployment.

AWS CLI

Para cambiar la descripción de una implementación

Comando:

aws apigateway update-deployment --rest-api-id 1234123412 --deployment-id ztt4m2 --patch-operations op='replace',path='/description',value='newDescription'

Salida:

{ "description": "newDescription", "id": "ztt4m2", "createdDate": 1455218022 }
  • Para API obtener más información, consulte UpdateDeploymentla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloupdate-domain-name.

AWS CLI

Para cambiar el nombre del certificado por un nombre de dominio personalizado

En el siguiente update-domain-name ejemplo, se cambia el nombre del certificado de un dominio personalizado.

aws apigateway update-domain-name \ --domain-name api.domain.tld \ --patch-operations op='replace',path='/certificateArn',value='arn:aws:acm:us-west-2:111122223333:certificate/CERTEXAMPLE123EXAMPLE'

Salida:

{ "domainName": "api.domain.tld", "distributionDomainName": "d123456789012.cloudfront.net", "certificateArn": "arn:aws:acm:us-west-2:111122223333:certificate/CERTEXAMPLE123EXAMPLE", "certificateUploadDate": 1462565487 }

Para obtener más información, consulte Configurar un nombre de dominio personalizado para un servidor API en API Gateway en la Guía para desarrolladores de Amazon API Gateway.

  • Para API obtener más información, consulte UpdateDomainNamela Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloupdate-integration-response.

AWS CLI

Para cambiar el encabezado de una respuesta de integración para que tenga un mapeo estático de '*'

Comando:

aws apigateway update-integration-response --rest-api-id 1234123412 --resource-id 3gapai --http-method GET --status-code 200 --patch-operations op='replace',path='/responseParameters/method.response.header.Access-Control-Allow-Origin',value='"'"'*'"'"'

Salida:

{ "statusCode": "200", "responseParameters": { "method.response.header.Access-Control-Allow-Origin": "'*'" } }

Para eliminar un encabezado de respuesta de integración

Comando:

aws apigateway update-integration-response --rest-api-id 1234123412 --resource-id 3gapai --http-method GET --status-code 200 --patch-operations op='remove',path='/responseParameters/method.response.header.Access-Control-Allow-Origin'

El siguiente ejemplo de código muestra cómo usarloupdate-integration.

AWS CLI

Para añadir la plantilla de mapeo «Content-Type: application/json» configurada con Input Passthrough

Comando:

aws apigateway update-integration \ --rest-api-id a1b2c3d4e5 \ --resource-id a1b2c3 \ --http-method POST \ --patch-operations "op='add',path='/requestTemplates/application~1json'"

Para actualizar (reemplazar) la plantilla de mapeo «Content-Type: application/json» configurada por una plantilla personalizada

Comando:

aws apigateway update-integration \ --rest-api-id a1b2c3d4e5 \ --resource-id a1b2c3 \ --http-method POST \ --patch-operations "op='replace',path='/requestTemplates/application~1json',value='{"example": "json"}'"

Para actualizar (reemplazar) una plantilla personalizada asociada a «Content-Type: application/json» por Input Passthrough

Comando:

aws apigateway update-integration \ --rest-api-id a1b2c3d4e5 \ --resource-id a1b2c3 \ --http-method POST \ --patch-operations "op='replace',path='requestTemplates/application~1json'"

Para eliminar la plantilla de mapeo «Content-Type: application/json»

Comando:

aws apigateway update-integration \ --rest-api-id a1b2c3d4e5 \ --resource-id a1b2c3 \ --http-method POST \ --patch-operations "op='remove',path='/requestTemplates/application~1json'"
  • Para API obtener más información, consulte la Referencia de comandos. UpdateIntegrationAWS CLI

El siguiente ejemplo de código muestra cómo usarloupdate-method-response.

AWS CLI

Para crear un nuevo encabezado de respuesta de método para la respuesta 200 en un método y definirlo como no obligatorio (predeterminado)

Comando:

aws apigateway update-method-response --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET --status-code 200 --patch-operations op="add",path="/responseParameters/method.response.header.custom-header",value="false"

Para eliminar un modelo de respuesta para la respuesta 200 en un método

Comando:

aws apigateway update-method-response --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET --status-code 200 --patch-operations op="remove",path="/responseModels/application~1json"
  • Para API obtener más información, consulte UpdateMethodResponsela Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloupdate-method.

AWS CLI

Ejemplo 1: Modificar un método para que requiera una API clave

En el siguiente update-method ejemplo, se modifica el método para que requiera una API clave.

aws apigateway update-method \ --rest-api-id 1234123412 \ --resource-id a1b2c3 \ --http-method GET \ --patch-operations op="replace",path="/apiKeyRequired",value="true"

Salida:

{ "httpMethod": "GET", "authorizationType": "NONE", "apiKeyRequired": true, "methodResponses": { "200": { "statusCode": "200", "responseModels": {} } }, "methodIntegration": { "type": "AWS", "httpMethod": "POST", "uri": "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:123456789111:function:hello-world/invocations", "passthroughBehavior": "WHEN_NO_MATCH", "contentHandling": "CONVERT_TO_TEXT", "timeoutInMillis": 29000, "cacheNamespace": "h7i8j9", "cacheKeyParameters": [], "integrationResponses": { "200": { "statusCode": "200", "responseTemplates": {} } } } }

Ejemplo 2: Modificar un método para que requiera autorización IAM

En el siguiente update-method ejemplo, se modifica el método para que requiera IAM autorización.

aws apigateway update-method \ --rest-api-id 1234123412 \ --resource-id a1b2c3 \ --http-method GET \ --patch-operations op="replace",path="/authorizationType",value="AWS_IAM"

Salida:

{ "httpMethod": "GET", "authorizationType": "AWS_IAM", "apiKeyRequired": false, "methodResponses": { "200": { "statusCode": "200", "responseModels": {} } }, "methodIntegration": { "type": "AWS", "httpMethod": "POST", "uri": "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:123456789111:function:hello-world/invocations", "passthroughBehavior": "WHEN_NO_MATCH", "contentHandling": "CONVERT_TO_TEXT", "timeoutInMillis": 29000, "cacheNamespace": "h7i8j9", "cacheKeyParameters": [], "integrationResponses": { "200": { "statusCode": "200", "responseTemplates": {} } } } }

Ejemplo 3: Modificar un método para que requiera la autorización de Lambda

En el siguiente update-method ejemplo, se modifica el método para adaptarlo a la autorización Lambda requerida.

aws apigateway update-method --rest-api-id 1234123412 \ --resource-id a1b2c3 \ --http-method GET \ --patch-operations op="replace",path="/authorizationType",value="CUSTOM" op="replace",path="/authorizerId",value="e4f5g6"

Salida:

{ "httpMethod": "GET", "authorizationType": "CUSTOM", "authorizerId" : "e4f5g6", "apiKeyRequired": false, "methodResponses": { "200": { "statusCode": "200", "responseModels": {} } }, "methodIntegration": { "type": "AWS", "httpMethod": "POST", "uri": "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:123456789111:function:hello-world/invocations", "passthroughBehavior": "WHEN_NO_MATCH", "contentHandling": "CONVERT_TO_TEXT", "timeoutInMillis": 29000, "cacheNamespace": "h7i8j9", "cacheKeyParameters": [], "integrationResponses": { "200": { "statusCode": "200", "responseTemplates": {} } } } }

Para obtener más información, consulte Crear, configurar y probar planes de uso mediante la API puerta de enlace y Control CLI REST API y administración del acceso a una puerta de API enlace REST API interna en la Guía para desarrolladores de Amazon API Gateway.

  • Para API obtener más información, consulte UpdateMethodla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloupdate-model.

AWS CLI

Para cambiar la descripción de un modelo en un API

Comando:

aws apigateway update-model --rest-api-id 1234123412 --model-name 'Empty' --patch-operations op=replace,path=/description,value='New Description'

Para cambiar el esquema de un modelo en un API

Comando:

aws apigateway update-model --rest-api-id 1234123412 --model-name 'Empty' --patch-operations op=replace,path=/schema,value='"{ \"$schema\": \"http://json-schema.org/draft-04/schema#\", \"title\" : \"Empty Schema\", \"type\" : \"object\" }"'
  • Para API obtener más información, consulte UpdateModella Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloupdate-resource.

AWS CLI

Para mover un recurso y colocarlo debajo de un recurso principal diferente en un API

Comando:

aws apigateway update-resource --rest-api-id 1234123412 --resource-id 1a2b3c --patch-operations op=replace,path=/parentId,value='3c2b1a'

Salida:

{ "path": "/resource", "pathPart": "resource", "id": "1a2b3c", "parentId": "3c2b1a" }

Para cambiar el nombre de un recurso (pathPart) en un API

Comando:

aws apigateway update-resource --rest-api-id 1234123412 --resource-id 1a2b3c --patch-operations op=replace,path=/pathPart,value=newresourcename

Salida:

{ "path": "/newresourcename", "pathPart": "newresourcename", "id": "1a2b3c", "parentId": "3c2b1a" }
  • Para API obtener más información, consulte UpdateResourcela Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloupdate-rest-api.

AWS CLI

Para cambiar el nombre de un API

Comando:

aws apigateway update-rest-api --rest-api-id 1234123412 --patch-operations op=replace,path=/name,value='New Name'

Para cambiar la descripción de un API

Comando:

aws apigateway update-rest-api --rest-api-id 1234123412 --patch-operations op=replace,path=/description,value='New Description'
  • Para API obtener más información, consulte UpdateRestApila Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloupdate-stage.

AWS CLI

Ejemplo 1: Para anular la configuración de escenario de un recurso y un método

El siguiente update-stage ejemplo anula la configuración del escenario y desactiva el registro completo de solicitudes y respuestas para un recurso y un método específicos.

aws apigateway update-stage \ --rest-api-id 1234123412 \ --stage-name 'dev' \ --patch-operations op=replace,path=/~1resourceName/GET/logging/dataTrace,value=false

Salida:

{ "deploymentId": "5ubd17", "stageName": "dev", "cacheClusterEnabled": false, "cacheClusterStatus": "NOT_AVAILABLE", "methodSettings": { "~1resourceName/GET": { "metricsEnabled": false, "dataTraceEnabled": false, "throttlingBurstLimit": 5000, "throttlingRateLimit": 10000.0, "cachingEnabled": false, "cacheTtlInSeconds": 300, "cacheDataEncrypted": false, "requireAuthorizationForCacheControl": true, "unauthorizedCacheControlHeaderStrategy": "SUCCEED_WITH_RESPONSE_HEADER" } }, "tracingEnabled": false, "createdDate": "2022-07-18T10:11:18-07:00", "lastUpdatedDate": "2022-07-18T10:19:04-07:00" }

Para obtener más información, consulte Configuración de un escenario para un REST API en la Guía para desarrolladores de Amazon API Gateway.

Ejemplo 2: Para actualizar la configuración del escenario para todos los recursos y métodos de un API escenario

El siguiente update-stage ejemplo activa el registro completo de solicitudes y respuestas para todos los recursos y métodos de una etapa. API

aws apigateway update-stage \ --rest-api-id 1234123412 \ --stage-name 'dev' \ --patch-operations 'op=replace,path=/*/*/logging/dataTrace,value=true'

Salida:

{ "deploymentId": "5ubd17", "stageName": "dev", "cacheClusterEnabled": false, "cacheClusterStatus": "NOT_AVAILABLE", "methodSettings": { "*/*": { "metricsEnabled": false, "dataTraceEnabled": true, "throttlingBurstLimit": 5000, "throttlingRateLimit": 10000.0, "cachingEnabled": false, "cacheTtlInSeconds": 300, "cacheDataEncrypted": false, "requireAuthorizationForCacheControl": true, "unauthorizedCacheControlHeaderStrategy": "SUCCEED_WITH_RESPONSE_HEADER" } }, "tracingEnabled": false, "createdDate": "2022-07-18T10:11:18-07:00", "lastUpdatedDate": "2022-07-18T10:31:04-07:00" }

Para obtener más información, consulte Configuración de un escenario para un REST API en la Guía para desarrolladores de Amazon API Gateway.

  • Para API obtener más información, consulte UpdateStagela Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloupdate-usage-plan.

AWS CLI

Para cambiar el período definido en un plan de uso

Comando:

aws apigateway update-usage-plan --usage-plan-id a1b2c3 --patch-operations op="replace",path="/quota/period",value="MONTH"

Para cambiar el límite de cuota definido en un plan de uso

Comando:

aws apigateway update-usage-plan --usage-plan-id a1b2c3 --patch-operations op="replace",path="/quota/limit",value="500"

Para cambiar el límite de velocidad de aceleración definido en un plan de uso

Comando:

aws apigateway update-usage-plan --usage-plan-id a1b2c3 --patch-operations op="replace",path="/throttle/rateLimit",value="10"

Para cambiar el límite de ráfaga del acelerador definido en un plan de uso

Comando:

aws apigateway update-usage-plan --usage-plan-id a1b2c3 --patch-operations op="replace",path="/throttle/burstLimit",value="20"
  • Para API obtener más información, consulte UpdateUsagePlanla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloupdate-usage.

AWS CLI

Para modificar temporalmente la cuota de una API clave durante el período actual definido en el plan de uso

Comando:

aws apigateway update-usage --usage-plan-id a1b2c3 --key-id 1NbjQzMReAkeEQPNAW8r3dXsU2rDD7fc7f2Sipnu --patch-operations op="replace",path="/remaining",value="50"
  • Para API obtener más información, consulte UpdateUsagela Referencia de AWS CLI comandos.