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
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
oderWrite
.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 -Write
Berechtigungen 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" } ] } }