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 di AWS::Serverless::Connector risorsa.

Nota

Per le risorse nello stesso modello, fornisciId. Per le risorse non incluse nello stesso modello, utilizzate una combinazione di altre proprietà. Per ulteriori informazioni, consulta AWS SAM riferimento del connettore.

Sintassi

Per dichiarare questa entità nel tuo modello AWS Serverless Application Model (AWS SAM), usa la seguente sintassi.

YAML

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

Proprietà

Arn

L'ARN di una risorsa.

Tipo: stringa

Required: Conditional

AWS CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

Id

L'ID logico di una risorsa nello stesso modello.

Nota

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

Tipo: stringa

Required: Conditional

AWS CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

Name

Il nome di una risorsa.

Tipo: stringa

Required: Conditional

AWS CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

Qualifier

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

Nota

La definizione del qualificatore varia in base al tipo di risorsa. Per un elenco dei tipi di risorse di origine e destinazione supportati, vedere. AWS SAM riferimento del connettore

Tipo: stringa

Required: Conditional

AWS CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

QueueUrl

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

Tipo: stringa

Required: Conditional

AWS CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

ResourceId

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

Tipo: stringa

Required: Conditional

AWS CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

RoleName

Il nome del ruolo associato a una risorsa.

Nota

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

Tipo: stringa

Required: Conditional

AWS CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

Type

Il AWS CloudFormation tipo di risorsa. Per ulteriori informazioni, consulta il riferimento ai tipi di AWS risorse e proprietà.

Tipo: stringa

Required: Conditional

AWS CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

Esempi

API Gateway che richiama una funzione Lambda

L'esempio seguente utilizza la AWS::Serverless::Connector risorsa per consentire ad Amazon API Gateway di richiamare una AWS 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