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

ResourceReference

Ein Verweis auf eine Ressource, die derAWS::Serverless::Connector Ressourcentyp verwendet.

Anmerkung

Geben Sie für Ressourcen in derselben Vorlage die anId. Verwenden Sie für Ressourcen, die sich nicht in derselben Vorlage befinden, eine Kombination anderer Eigenschaften. Weitere Informationen finden Sie unter AWS SAM Konnektorreferenz.

Syntax

Um diese Entität in der VorlageAWS Serverless Application Model (AWS SAM) zu deklarieren, verwenden Sie die folgende Syntax.

YAML

Arn: String Id: String Name: String Qualifier: String QueueUrl: String ResourceId: String RoleName: String Type: String

Eigenschaften

Arn

Der ARN einer Ressource.

Type: Zeichenfolge

Erforderlich: Bedingt

AWS CloudFormationkompatibilität: Diese Eigenschaft ist einzigartigAWS SAM und hat keinAWS CloudFormation Äquivalent.

Id

Die logische ID einer Ressource in derselben Vorlage.

Anmerkung

Wenn angegebenId ist und der Connector Richtlinien generiertAWS Identity and Access Management (IAM), wird die diesen Richtlinien zugeordnete IAM-Rolle aus der Ressource abgeleitetId. Wenn nicht angegebenId ist, stellen SieRoleName die Ressource für Connectors bereit, um generierte IAM-Richtlinien an eine IAM-Rolle anzuhängen.

Type: Zeichenfolge

Erforderlich: Bedingt

AWS CloudFormationkompatibilität: Diese Eigenschaft ist einzigartigAWS SAM und hat keinAWS CloudFormation Äquivalent.

Name

Der Name einer -Ressource.

Type: Zeichenfolge

Erforderlich: Bedingt

AWS CloudFormationkompatibilität: Diese Eigenschaft ist einzigartigAWS SAM und hat keinAWS CloudFormation Äquivalent.

Qualifier

Ein Qualifikationsspiel für eine Ressource, die ihren Umfang einschränkt. Qualifierersetzt den* Wert am Ende einer Ressourceneinschränkung ARN. Ein Beispiel finden Sie unter API Gateway ruft eine Lambda-Funktion auf.

Anmerkung

Die Definition der Qualifier variiert je nach Ressourcentyp Eine Liste der unterstützten Quell- und Zielressourcentypen finden Sie unterAWS SAM Konnektorreferenz.

Type: Zeichenfolge

Erforderlich: Bedingt

AWS CloudFormationkompatibilität: Diese Eigenschaft ist einzigartigAWS SAM und hat keinAWS CloudFormation Äquivalent.

QueueUrl

Die URL der Amazon SQS SQS-Warteschlange. Diese Eigenschaft gilt nur für Amazon SQS SQS-Ressourcen.

Type: Zeichenfolge

Erforderlich: Bedingt

AWS CloudFormationkompatibilität: Diese Eigenschaft ist einzigartigAWS SAM und hat keinAWS CloudFormation Äquivalent.

ResourceId

Die ID einer Ressource. Zum Beispiel die API-Gateway-API-ID.

Type: Zeichenfolge

Erforderlich: Bedingt

AWS CloudFormationkompatibilität: Diese Eigenschaft ist einzigartigAWS SAM und hat keinAWS CloudFormation Äquivalent.

RoleName

Der Rollenname, der einer Ressource zugeordnet ist.

Anmerkung

Wenn angegebenId ist und der Connector IAM-Richtlinien generiert, wird die diesen Richtlinien zugeordnete IAM-Rolle aus der Ressource abgeleitetId. Wenn nicht angegebenId ist, stellen SieRoleName die Ressource für Connectors bereit, um generierte IAM-Richtlinien an eine IAM-Rolle anzuhängen.

Type: Zeichenfolge

Erforderlich: Bedingt

AWS CloudFormationkompatibilität: Diese Eigenschaft ist einzigartigAWS SAM und hat keinAWS CloudFormation Äquivalent.

Type

DerAWS CloudFormation Typ einer Ressource. Weitere Informationen finden Sie unter Referenz zuAWS Ressourcen- und Eigenschaftstypen.

Type: Zeichenfolge

Erforderlich: Bedingt

AWS CloudFormationkompatibilität: Diese Eigenschaft ist einzigartigAWS SAM und hat keinAWS CloudFormation Äquivalent.

Beispiele

API Gateway ruft eine Lambda-Funktion auf

Im folgenden Beispiel wird dieAWS::Serverless::Connector Ressource verwendet, damit Amazon API Gateway eineAWS Lambda Funktion aufrufen kann.

YAML

Transform: AWS::Serverless-2016-10-31 Resources: MyRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Statement: - Effect: Allow Action: sts:AssumeRole Principal: Service: lambda.amazonaws.com ManagedPolicyArns: - !Sub arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole MyFunction: Type: AWS::Lambda::Function Properties: Role: !GetAtt MyRole.Arn Runtime: nodejs16.x Handler: index.handler Code: ZipFile: | exports.handler = async (event) => { return { statusCode: 200, body: JSON.stringify({ "message": "It works!" }), }; }; MyApi: Type: AWS::ApiGatewayV2::Api Properties: Name: MyApi ProtocolType: HTTP MyStage: Type: AWS::ApiGatewayV2::Stage Properties: ApiId: !Ref MyApi StageName: prod AutoDeploy: True MyIntegration: Type: AWS::ApiGatewayV2::Integration Properties: ApiId: !Ref MyApi IntegrationType: AWS_PROXY IntegrationUri: !Sub arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${MyFunction.Arn}/invocations IntegrationMethod: POST PayloadFormatVersion: "2.0" MyRoute: Type: AWS::ApiGatewayV2::Route Properties: ApiId: !Ref MyApi RouteKey: GET /hello Target: !Sub integrations/${MyIntegration} MyConnector: Type: AWS::Serverless::Connector Properties: Source: # Use 'Id' when resource is in the same template Type: AWS::ApiGatewayV2::Api ResourceId: !Ref MyApi Qualifier: prod/GET/hello # Or "*" to allow all routes Destination: # Use 'Id' when resource is in the same template Type: AWS::Lambda::Function Arn: !GetAtt MyFunction.Arn Permissions: - Write Outputs: Endpoint: Value: !Sub https://${MyApi}.execute-api.${AWS::Region}.${AWS::URLSuffix}/prod/hello