CorsConfiguration - AWS Serverless Application Model

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.

CorsConfiguration

Gestione el intercambio de recursos entre orígenes (CORS) para su Gateway. API APIs Especifique el dominio que desea permitir como cadena o especifique un diccionario con una configuración de Cors adicional.

nota

CORSrequiere AWS SAM modificar su API definición de Open. Cree una API definición abierta en línea DefinitionBody para CORS activarla. Si CorsConfiguration está establecida en la API definición abierta y también en el nivel de propiedad, las AWS SAM combina. El nivel de propiedad tiene prioridad sobre la definición abiertaAPI.

Para obtener más información al respectoCORS, consulte Habilitar un REST API recurso de API puerta de enlace en la Guía CORS para desarrolladores de API Gateway.

Sintaxis

Para declarar esta entidad en tu plantilla AWS Serverless Application Model (AWS SAM), usa la siguiente sintaxis.

YAML

AllowCredentials: Boolean AllowHeaders: String AllowMethods: String AllowOrigin: String MaxAge: String

Propiedades

AllowCredentials

Un valor booleano que indica si se permite que la solicitud contenga credenciales.

Tipo: Booleano

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad es exclusiva AWS SAM y no tiene un AWS CloudFormation equivalente.

AllowHeaders

Cadena de encabezados que se van a permitir.

Tipo: cadena

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad es exclusiva de AWS SAM y no tiene un AWS CloudFormation equivalente.

AllowMethods

Cadena que contiene los HTTP métodos que se van a permitir.

Tipo: cadena

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad es exclusiva de AWS SAM y no tiene un AWS CloudFormation equivalente.

AllowOrigin

Cadena de origen que se va a permitir. Puede ser una lista separada por comas en formato de cadena.

Tipo: cadena

Obligatorio: sí

AWS CloudFormation compatibilidad: esta propiedad es exclusiva de AWS SAM y no tiene un AWS CloudFormation equivalente.

MaxAge

Cadena que contiene el número de segundos necesarios para almacenar en caché la solicitud de CORS Preflight.

Tipo: cadena

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad es exclusiva de AWS SAM y no tiene un AWS CloudFormation equivalente.

Ejemplos

CorsConfiguration

CORSEjemplo de configuración. Esta es solo una parte de un archivo de AWS SAM plantilla que muestra una AWS::Serverless::Api definición con una CORS configuración y unAWS::Serverless::Function. Si utilizas una integración de proxy de Lambda o una integración de HTTP proxy, tu backend debe devolver los encabezados Access-Control-Allow-OriginAccess-Control-Allow-Methods, y. Access-Control-Allow-Headers

YAML

Resources: ApiGatewayApi: Type: AWS::Serverless::Api Properties: StageName: Prod Cors: AllowMethods: "'POST, GET'" AllowHeaders: "'X-Forwarded-For'" AllowOrigin: "'https://example.com'" MaxAge: "'600'" AllowCredentials: true ApiFunction: # Adds a GET method at the root resource via an Api event Type: AWS::Serverless::Function Properties: Events: ApiEvent: Type: Api Properties: Path: / Method: get RestApiId: Ref: ApiGatewayApi Runtime: python3.10 Handler: index.handler InlineCode: | import json def handler(event, context): return { 'statusCode': 200, 'headers': { 'Access-Control-Allow-Headers': 'Content-Type', 'Access-Control-Allow-Origin': 'https://example.com', 'Access-Control-Allow-Methods': 'POST, GET' }, 'body': json.dumps('Hello from Lambda!') }