

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# ResourceReference
<a name="sam-property-connector-resourcereference"></a>

Referensi ke sumber daya yang digunakan tipe [AWS::Serverless::Connector](sam-resource-connector.md) sumber daya.

**catatan**  
Untuk sumber daya dalam templat yang sama, berikan`Id`. Untuk sumber daya yang tidak dalam templat yang sama, gunakan kombinasi properti lainnya. Untuk informasi selengkapnya, lihat [AWS SAM referensi konektor](reference-sam-connector.md).

## Sintaksis
<a name="sam-property-connector-resourcereference-syntax"></a>

Untuk mendeklarasikan entitas ini dalam template AWS Serverless Application Model (AWS SAM) Anda, gunakan sintaks berikut.

### YAML
<a name="sam-property-connector-resourcereference-syntax.yaml"></a>

```
  [Arn](#sam-connector-resourcereference-arn): String
  [Id](#sam-connector-resourcereference-id): String
  [Name](#sam-connector-resourcereference-name): String
  [Qualifier](#sam-connector-resourcereference-qualifier): String
  [QueueUrl](#sam-connector-resourcereference-queueurl): String
  [ResourceId](#sam-connector-resourcereference-resourceid): String
  [RoleName](#sam-connector-resourcereference-rolename): String
  [Type](#sam-connector-resourcereference-type): String
```

## Sifat-sifat
<a name="sam-property-connector-resourcereference-properties"></a>

 `Arn`   <a name="sam-connector-resourcereference-arn"></a>
ARN sumber daya.  
*Tipe*: String  
*Wajib*: Bersyarat  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `Id`   <a name="sam-connector-resourcereference-id"></a>
[ID logis](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html) dari sumber daya dalam template yang sama.  
Kapan `Id` ditentukan, jika konektor menghasilkan kebijakan AWS Identity and Access Management (IAM), peran IAM yang terkait dengan kebijakan tersebut akan disimpulkan dari sumber daya. `Id` Bila tidak `Id` ditentukan, sediakan `RoleName` sumber daya untuk konektor untuk melampirkan kebijakan IAM yang dihasilkan ke peran IAM.
*Tipe*: String  
*Wajib*: Bersyarat  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `Name`   <a name="sam-connector-resourcereference-name"></a>
Nama sumber daya.  
*Tipe*: String  
*Wajib*: Bersyarat  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `Qualifier`   <a name="sam-connector-resourcereference-qualifier"></a>
Kualifikasi untuk sumber daya yang mempersempit ruang lingkupnya. `Qualifier`menggantikan `*` nilai pada akhir kendala sumber daya ARN. Sebagai contoh, lihat [API Gateway menjalankan fungsi Lambda](#sam-property-connector-resourcereference--examples--api-gateway-invoking-a-lambda-function).  
Definisi kualifikasi bervariasi per jenis sumber daya. Untuk daftar jenis sumber daya dan tujuan yang didukung, lihat[AWS SAM referensi konektor](reference-sam-connector.md).
*Tipe*: String  
*Wajib*: Bersyarat  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `QueueUrl`   <a name="sam-connector-resourcereference-queueurl"></a>
URL antrian Amazon SQS. Properti ini hanya berlaku untuk sumber daya Amazon SQS.  
*Tipe*: String  
*Wajib*: Bersyarat  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `ResourceId`   <a name="sam-connector-resourcereference-resourceid"></a>
ID sumber daya. Misalnya, API Gateway API ID.  
*Tipe*: String  
*Wajib*: Bersyarat  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `RoleName`   <a name="sam-connector-resourcereference-rolename"></a>
Nama peran yang terkait dengan sumber daya.  
Kapan `Id` ditentukan, jika konektor menghasilkan kebijakan IAM, peran IAM yang terkait dengan kebijakan tersebut akan disimpulkan dari sumber daya. `Id` Bila tidak `Id` ditentukan, sediakan `RoleName` sumber daya untuk konektor untuk melampirkan kebijakan IAM yang dihasilkan ke peran IAM.
*Tipe*: String  
*Wajib*: Bersyarat  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `Type`   <a name="sam-connector-resourcereference-type"></a>
 CloudFormation Jenis sumber daya. Untuk informasi lebih lanjut, buka [referensi jenis AWS sumber daya dan properti](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html).  
*Tipe*: String  
*Wajib*: Bersyarat  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

## Contoh
<a name="sam-property-connector-resourcereference--examples"></a>

### API Gateway menjalankan fungsi Lambda
<a name="sam-property-connector-resourcereference--examples--api-gateway-invoking-a-lambda-function"></a>

Contoh berikut menggunakan [AWS::Serverless::Connector](sam-resource-connector.md) sumber daya untuk mengizinkan Amazon API Gateway menjalankan AWS Lambda fungsi.

#### YAML
<a name="sam-property-connector-resourcereference--examples--api-gateway-invoking-a-lambda-function--yaml"></a>

```
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
```