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:StringId:StringName:StringQualifier:StringQueueUrl:StringResourceId:StringRoleName:StringType:String
Proprietà
-
Arn -
L'ARN di una risorsa.
Tipo: Stringa
Required: Conditional
CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.
-
Id -
L'ID logico di una risorsa nello stesso modello.
Nota
Quando
Idviene specificato, se il connettore genera politiche AWS Identity and Access Management (IAM), il ruolo IAM associato a tali politiche verrà dedotto dalla risorsaId. Quando nonIdè specificato, fornisciRoleNamela risorsa per i connettori per collegare le policy IAM generate a un ruolo IAM.Tipo: Stringa
Required: Conditional
CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.
-
Name -
Il nome di una risorsa.
Tipo: Stringa
Required: Conditional
CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un 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
CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.
-
QueueUrl -
L'URL della coda Amazon SQS. Questa proprietà si applica solo alle risorse Amazon SQS.
Tipo: Stringa
Required: Conditional
CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.
-
ResourceId -
L'ID di una risorsa. Ad esempio, l'ID API Gateway API.
Tipo: Stringa
Required: Conditional
CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.
-
RoleName -
Il nome del ruolo associato a una risorsa.
Nota
Quando
Idviene specificato, se il connettore genera politiche IAM, il ruolo IAM associato a tali politiche verrà dedotto dalla risorsaId. Quando nonIdè specificato, fornisciRoleNamela risorsa per i connettori per collegare le policy IAM generate a un ruolo IAM.Tipo: Stringa
Required: Conditional
CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.
-
Type -
Il CloudFormation tipo di risorsa. Per ulteriori informazioni, consulta il riferimento ai tipi di AWS risorse e proprietà.
Tipo: Stringa
Required: Conditional
CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un 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