AWS::Serverless::Connector - AWS Serverless Application Model

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

AWS::Serverless::Connector

Konfiguriert Berechtigungen zwischen zwei Ressourcen. Eine Einführung in Konnektoren finden Sie unter Verwalten von Ressourcenberechtigungen mit AWS SAM Connectors.

Weitere Informationen zu generierten AWS CloudFormation Ressourcen finden Sie unter AWS CloudFormation -Ressourcen, die generiert werden, wenn Sie angeben AWS::Serverless::Connector.

Um Feedback zu Connectors zu geben, senden Sie ein neues Problem im serverless-application-model AWS GitHub Repository .

Anmerkung

Wenn Sie in bereitstellenAWS CloudFormation, AWS SAMwandelt Ihre AWS SAM Ressourcen in -AWS CloudFormationRessourcen um. Weitere Informationen finden Sie unter Generierte AWS CloudFormation Ressourcen.

Syntax

Um diese Entität in Ihrer AWS Serverless Application Model (AWS SAM)-Vorlage zu deklarieren, verwenden Sie eine der folgenden Syntaxen.

Anmerkung

Wir empfehlen für die meisten Anwendungsfälle die Verwendung der eingebetteten Connectors-Syntax. Die Integration in die Quellressource erleichtert das Lesen und Verwalten im Laufe der Zeit. Wenn Sie auf eine Quellressource verweisen müssen, die sich nicht in derselben AWS SAM Vorlage befindet, z. B. eine Ressource in einem verschachtelten Stack oder eine gemeinsam genutzte Ressource, verwenden Sie die AWS::Serverless::Connector -Syntax.

Eingebettete Connectors

<source-resource-logical-id>: Connectors: <connector-logical-id: Properties: Destination: ResourceReference | List of ResourceReference Permissions: List SourceReference: SourceReference

AWS::Serverless::Connector

Type: AWS::Serverless::Connector Properties: Destination: ResourceReference | List of ResourceReference Permissions: List Source: ResourceReference

Eigenschaften

Destination

Die Zielressource.

Typ : ResourceReference | Liste von ResourceReference

Erforderlich: Ja

AWS CloudFormation Kompatibilität: Diese Eigenschaft ist eindeutig für AWS SAM und hat kein AWS CloudFormationÄquivalent.

Permissions

Der Berechtigungstyp, den die Quellressource für die Zielressource ausführen darf.

Read enthält AWS Identity and Access Management (IAM)-Aktionen, die das Lesen von Daten aus der Ressource ermöglichen.

Write Beschreibt IAM-Aktionen, die das Initiieren und Schreiben von Daten in eine Ressource ermöglichen.

Zulässige Werte: Read oder Write.

Typ : Liste

Erforderlich: Ja

AWS CloudFormation Kompatibilität: Diese Eigenschaft ist eindeutig für AWS SAM und hat kein AWS CloudFormationÄquivalent.

Source

Die Quellressource. Erforderlich bei Verwendung der AWS::Serverless::Connector -Syntax.

Geben Sie ein: ResourceReference

Required: Conditional

AWS CloudFormation Kompatibilität: Diese Eigenschaft ist eindeutig für AWS SAM und hat kein AWS CloudFormationÄquivalent.

SourceReference

Die Quellressource.

Anmerkung

Verwenden Sie mit der Syntax eingebetteter Connectors, wenn Sie zusätzliche Eigenschaften für die Quellressource definieren.

Geben Sie ein: SourceReference

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft ist eindeutig für AWS SAM und hat kein AWS CloudFormationÄquivalent.

Beispiele

Eingebettete Connectors

Im folgenden Beispiel werden eingebettete Connectors verwendet, um eine Write Datenverbindung zwischen einer -AWS LambdaFunktion und einer Amazon-DynamoDB-Tabelle zu definieren:

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 ...

Im folgenden Beispiel werden eingebettete Connectors verwendet, um - Read und -WriteBerechtigungen zu definieren:

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

Im folgenden Beispiel werden eingebettete Connectors verwendet, um eine Quellressource mit einer anderen Eigenschaft als zu definierenId:

Transform: AWS::Serverless-2016-10-31 Transform: AWS::Serverless-2016-10-31 ... Resources: MyApi: Type: AWS::Serverless::Api Connectors: ApitoLambdaConn: Properties: SourceReference: Qualifier: Prod/GET/foobar Destination: Id: MyTable Permissions: - Read - Write MyTable: Type: AWS::DynamoDB::Table ...

AWS::Serverless::Connector

Im folgenden Beispiel wird die -AWS::Serverless::ConnectorRessource verwendet, um eine -AWS LambdaFunktion aus einer Amazon-DynamoDB-Tabelle lesen und in eine Amazon-DynamoDB-Tabelle schreiben zu lassen:

MyConnector: Type: AWS::Serverless::Connector Properties: Source: Id: MyFunction Destination: Id: MyTable Permissions: - Read - Write

Im folgenden Beispiel wird die AWS::Serverless::Connector Ressource verwendet, damit eine Lambda-Funktion in ein Amazon SNS-Thema schreibt, wobei beide Ressourcen in derselben Vorlage enthalten sind:

MyConnector: Type: AWS::Serverless::Connector Properties: Source: Id: MyLambda Destination: Id: MySNSTopic Permissions: - Write

Im folgenden Beispiel wird die AWS::Serverless::Connector Ressource verwendet, damit ein Amazon SNS-Thema in eine Lambda-Funktion schreibt, die dann in eine Amazon-DynamoDB-Tabelle schreibt, wobei alle Ressourcen in derselben Vorlage enthalten sind:

Transform: AWS::Serverless-2016-10-31 Resources: Topic: Type: AWS::SNS::Topic Properties: Subscription: - Endpoint: !GetAtt Function.Arn Protocol: lambda Function: Type: AWS::Serverless::Function Properties: Runtime: nodejs16.x Handler: index.handler InlineCode: | const AWS = require('aws-sdk'); exports.handler = async (event, context) => { const docClient = new AWS.DynamoDB.DocumentClient(); await docClient.put({ TableName: process.env.TABLE_NAME, Item: { id: context.awsRequestId, event: JSON.stringify(event) } }).promise(); }; Environment: Variables: TABLE_NAME: !Ref Table Table: Type: AWS::Serverless::SimpleTable TopicToFunctionConnector: Type: AWS::Serverless::Connector Properties: Source: Id: Topic Destination: Id: Function Permissions: - Write FunctionToTableConnector: Type: AWS::Serverless::Connector Properties: Source: Id: Function Destination: Id: Table Permissions: - Write

Im Folgenden finden Sie die transformierte AWS CloudFormation Vorlage aus dem obigen Beispiel:

"FunctionToTableConnectorPolicy": { "Type": "AWS::IAM::ManagedPolicy", "Metadata": { "aws:sam:connectors": { "FunctionToTableConnector": { "Source": { "Type": "AWS::Lambda::Function" }, "Destination": { "Type": "AWS::DynamoDB::Table" } } } }, "Properties": { "PolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:PutItem", "dynamodb:UpdateItem", "dynamodb:DeleteItem", "dynamodb:BatchWriteItem", "dynamodb:PartiQLDelete", "dynamodb:PartiQLInsert", "dynamodb:PartiQLUpdate" ], "Resource": [ { "Fn::GetAtt": [ "MyTable", "Arn" ] }, { "Fn::Sub": [ "${DestinationArn}/index/*", { "DestinationArn": { "Fn::GetAtt": [ "MyTable", "Arn" ] } } ] } ] } ] }, "Roles": [ { "Ref": "MyFunctionRole" } ] } }