ResourceReference - AWS Serverless Application Model

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

ResourceReference

Un riferimento a una risorsa utilizzata dal tipo diAWS::Serverless::Connector risorsa.

Nota

Per le risorse dello stesso modello, fornisci ilId. Per le risorse non incluse nello stesso modello, utilizzate una combinazione di altre proprietà. Per ulteriori informazioni, consultare AWS SAMriferimento del connettore.

Sintassi

Per dichiarare questa entità nel modelloAWS Serverless Application Model (AWS SAM), utilizzare la sintassi seguente.

YAML

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

Proprietà

Arn

L'ARN di una risorsa.

Type: Stringa

Richiesto: Condizionale

AWS CloudFormationcompatibilità: Questa proprietà è unicaAWS SAM e non ha unAWS CloudFormation equivalente.

Id

L'ID logico di una risorsa nello stesso modello.

Nota

QuandoId viene specificato, se il connettore genera policyAWS Identity and Access Management (IAM), il ruolo IAM associato a tali politiche verrà dedotto dalla risorsaId. Quando nonId è specificato, fornisciRoleName la risorsa per i connettori per collegare le policy IAM generate a un ruolo IAM.

Type: Stringa

Richiesto: Condizionale

AWS CloudFormationcompatibilità: Questa proprietà è unicaAWS SAM e non ha unAWS CloudFormation equivalente.

Name

Nome di una risorsa.

Type: Stringa

Richiesto: Condizionale

AWS CloudFormationcompatibilità: Questa proprietà è unicaAWS SAM e non ha unAWS CloudFormation equivalente.

Qualifier

Qualificatore per una risorsa che ne restringe l'ambito. Qualifiersostituisce il* valore alla fine di un vincolo di risorse ARN. Per un esempio, consultare API Gateway che richiama una funzione Lambda.

Nota

La definizione del qualificatore varia per tipo di risorsa. Per un elenco dei tipi di risorsa di origine e destinazione supportati, consultaAWS SAMriferimento del connettore.

Type: Stringa

Richiesto: Condizionale

AWS CloudFormationcompatibilità: Questa proprietà è unicaAWS SAM e non ha unAWS CloudFormation equivalente.

QueueUrl

L'URL della coda di Amazon SQS. Questa proprietà si applica solo alle risorse Amazon SQS.

Type: Stringa

Richiesto: Condizionale

AWS CloudFormationcompatibilità: Questa proprietà è unicaAWS SAM e non ha unAWS CloudFormation equivalente.

ResourceId

L'ID di una risorsa. Ad esempio, l'ID API Gateway API.

Type: Stringa

Richiesto: Condizionale

AWS CloudFormationcompatibilità: Questa proprietà è unicaAWS SAM e non ha unAWS CloudFormation equivalente.

RoleName

Il nome del ruolo associato a una risorsa.

Nota

QuandoId viene specificato, se il connettore genera policy IAM, il ruolo IAM associato a tali politiche verrà dedotto dalla risorsaId. Quando nonId è specificato, fornisciRoleName la risorsa per i connettori per collegare le policy IAM generate a un ruolo IAM.

Type: Stringa

Richiesto: Condizionale

AWS CloudFormationcompatibilità: Questa proprietà è unicaAWS SAM e non ha unAWS CloudFormation equivalente.

Type

IlAWS CloudFormation tipo di risorsa. Per ulteriori informazioni, consulta la Documentazione di riferimento ai tipi diAWS risorsa e proprietà.

Type: Stringa

Richiesto: Condizionale

AWS CloudFormationcompatibilità: Questa proprietà è unicaAWS SAM e non ha unAWS CloudFormation equivalente.

Examples (Esempi)

API Gateway che richiama una funzione Lambda

L'esempio seguente utilizza laAWS::Serverless::Connector risorsa per consentire ad Amazon API Gateway di richiamare unaAWS Lambda funzione.

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