Para obtener más información, consulta administración de los permisos de recursos con conectores de AWS SAM . - 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.

Para obtener más información, consulta administración de los permisos de recursos con conectores de AWS SAM .

Los conectores son un tipo de recurso abstracto AWS Serverless Application Model (AWS SAM), identificado comoAWS::Serverless::Connector, que proporciona permisos simples y con un amplio alcance entre los recursos de las aplicaciones sin servidor.

Ventajas de los conectores AWS SAM

Al elaborar automáticamente las políticas de acceso adecuadas entre los recursos, los conectores le permiten crear sus aplicaciones sin servidor y centrarse en la arquitectura de las aplicaciones sin necesidad de conocimientos especializados en capacidades de AWS autorización, lenguaje de políticas y configuraciones de seguridad específicas de los servicios. Por lo tanto, los conectores son una gran ventaja para los desarrolladores que se están iniciando en el desarrollo sin servidores o para los desarrolladores experimentados que desean aumentar su velocidad de desarrollo.

Uso de conectores AWS SAM

Utiliza el atributo Connectors de recurso integrándolo en un recurso fuente. A continuación, defina el recurso de destino y describa cómo deben fluir los datos o los eventos entre esos recursos. AWS SAM a continuación, redacta las políticas de acceso necesarias para facilitar las interacciones requeridas.

A continuación se describe cómo se escribe este atributo de recurso:

AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 ... Resources: <source-resource-logical-id>: Type: <resource-type> ... Connectors: <connector-name>: Properties: Destination: <properties-that-identify-destination-resource> Permissions: <permission-types-to-provision> ...

Cómo funcionan los conectores

nota

En esta sección se explica cómo los conectores proporcionan los recursos necesarios entre bastidores. Esto sucede automáticamente al utilizar conectores.

En primer lugar, el atributo Connectors de recurso incrustado se transforma en un tipo de recurso AWS::Serverless::Connector. Su ID lógico se crea automáticamente como <source-resource-logical-id><embedded-connector-logical-id>.

Por ejemplo, aquí hay un conector integrado:

AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 ... Resources: MyFunction: Type: AWS::Lambda::Function Connectors: MyConn: Properties: Destination: Id: MyTable Permissions: - Read - Write MyTable: Type: AWS::DynamoDB::Table

Esto generará el siguiente recurso AWS::Serverless::Connector:

Transform: AWS::Serverless-2016-10-31 Resources: ... MyFunctionMyConn: Type: AWS::Serverless::Connector Properties: Source: Id: MyFunction Destination: Id: MyTable Permissions: - Read - Write
nota

También puede definir los conectores en la AWS SAM plantilla mediante esta sintaxis. Esto se recomienda cuando el recurso de origen está definido en una plantilla independiente de la del conector.

A continuación, se redactan automáticamente las políticas de acceso necesarias para esta conexión. Para obtener más información acerca de los recursos generados por conectores, consulta AWS CloudFormation recursos generados cuando se especifica AWS::Serverless::Connector.

Ejemplo de conectores

El siguiente ejemplo muestra cómo puede utilizar conectores para escribir datos de una AWS Lambda función en una tabla de Amazon DynamoDB.

Diagrama de una función de Lambda que escribe datos en una tabla de DynamoDB mediante conectores AWS SAM .
Transform: AWS::Serverless-2016-10-31 Resources: MyTable: Type: AWS::Serverless::SimpleTable MyFunction: Type: AWS::Serverless::Function Connectors: MyConn: Properties: Destination: Id: MyTable Permissions: - Write Properties: Runtime: nodejs16.x Handler: index.handler InlineCode: | const AWS = require("aws-sdk"); const docClient = new AWS.DynamoDB.DocumentClient(); exports.handler = async (event, context) => { await docClient.put({ TableName: process.env.TABLE_NAME, Item: { id: context.awsRequestId, event: JSON.stringify(event) } }).promise(); } Environment: Variables: TABLE_NAME: !Ref MyTable

El atributo de recurso Connectors está integrado en el recurso fuente de la función de Lambda. La tabla de DynamoDB se define como el recurso de destino que utiliza la propiedad Id. Los conectores proporcionarán permisos Write entre estos dos recursos.

Al implementar la AWS SAM plantilla en AWS CloudFormation, AWS SAM redactará automáticamente las políticas de acceso necesarias para que esta conexión funcione.

Recursos de origen y destino compatibles para los conectores

Compatibilidad con conectores Read y tipos de permisos de datos y eventos Write entre una combinación selecta de conexiones de recursos de origen y destino. Por ejemplo, los conectores admiten una conexión Write entre un recurso AWS::ApiGateway::RestApi de origen y un recurso AWS::Lambda::Function de destino.

Los recursos de origen y destino se puedesn definir mediante una combinación de propiedades compatibles. Los requisitos de propiedad dependerán de la conexión que se realice y de dónde estén definidos los recursos.

nota

Los conectores puedesn proporcionar permisos entre los tipos de recursos compatibles sin servidor y con servidor.

Para obtener una lista de conexiones de recursos compatibles y sus requisitos de propiedad, consulta Tipos de recursos de origen y destino admitidos para los conectores.

Más información

Para obtener más información sobre el uso de AWS SAM conectores, consulte los siguientes temas:

Proporcionar información

Para enviar comentarios sobre los conectores, envía un nuevo número al serverless-application-model AWS GitHubrepositorio.