Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
ResourceReference
Referensi ke sumber daya yang digunakan jenisAWS::Serverless::Connector sumber daya.
catatan
Untuk sumber daya dalam template yang sama, berikanId
. Untuk sumber daya yang tidak dalam template yang sama, gunakan kombinasi properti lainnya. Untuk informasi selengkapnya, lihat AWS SAMreferensi konektor.
Sintaks
Untuk mendeklarasikan entitas ini di templat AWS Serverless Application Model (AWS SAM) Anda, gunakan sintaks berikut.
YAML
Arn:
String
Id:String
Name:String
Qualifier:String
QueueUrl:String
ResourceId:String
RoleName:String
Type:String
Properti
-
Arn
-
ARN sumber daya.
Jenis: Tali
Diperlukan: Bersyarat
AWS CloudFormationkompatibilitas: Properti ini unik bagiAWS SAM dan tidak memilikiAWS CloudFormation padanan.
-
Id
-
ID logis dari sumber daya dalam template yang sama.
catatan
Ketika
Id
ditentukan, jika konektor menghasilkanAWS Identity and Access Management (IAM) kebijakan, peran IAM yang terkait dengan kebijakan tersebut akan disimpulkan dari sumber dayaId
. Ketika tidakId
ditentukan, menyediakanRoleName
sumber daya untuk konektor untuk melampirkan kebijakan IAM yang dihasilkan untuk peran IAM.Jenis: Tali
Diperlukan: Bersyarat
AWS CloudFormationkompatibilitas: Properti ini unik bagiAWS SAM dan tidak memilikiAWS CloudFormation padanan.
-
Name
-
Nama sumber daya.
Jenis: Tali
Diperlukan: Bersyarat
AWS CloudFormationkompatibilitas: Properti ini unik bagiAWS SAM dan tidak memilikiAWS CloudFormation padanan.
-
Qualifier
-
Kualifikasi untuk sumber daya yang mempersempit ruang lingkupnya.
Qualifier
menggantikan*
nilai pada akhir kendala sumber daya ARN. Sebagai contoh, lihat API Gateway memanggil fungsi Lambda.catatan
Definisi kualifikasi bervariasi per jenis sumber daya. Untuk daftar jenis sumber daya dan tujuan yang didukung, lihatAWS SAMreferensi konektor.
Jenis: Tali
Diperlukan: Bersyarat
AWS CloudFormationkompatibilitas: Properti ini unik bagiAWS SAM dan tidak memilikiAWS CloudFormation padanan.
-
QueueUrl
-
URL Antrean Amazon SQS. Properti ini hanya berlaku untuk sumber daya Amazon SQS.
Jenis: Tali
Diperlukan: Bersyarat
AWS CloudFormationkompatibilitas: Properti ini unik bagiAWS SAM dan tidak memilikiAWS CloudFormation padanan.
-
ResourceId
-
ID sumber daya. Misalnya, API Gateway API ID.
Jenis: Tali
Diperlukan: Bersyarat
AWS CloudFormationkompatibilitas: Properti ini unik bagiAWS SAM dan tidak memilikiAWS CloudFormation padanan.
-
RoleName
-
Nama peran yang terkait dengan sumber daya.
catatan
Ketika
Id
ditentukan, jika konektor menghasilkan kebijakan IAM, peran IAM yang terkait dengan kebijakan tersebut akan disimpulkan dari sumber dayaId
. Ketika tidakId
ditentukan, menyediakanRoleName
sumber daya untuk konektor untuk melampirkan kebijakan IAM yang dihasilkan untuk peran IAM.Jenis: Tali
Diperlukan: Bersyarat
AWS CloudFormationkompatibilitas: Properti ini unik bagiAWS SAM dan tidak memilikiAWS CloudFormation padanan.
-
Type
-
AWS CloudFormationJenis sumber daya. Untuk informasi selengkapnya, kunjungi referensi jenisAWS sumber daya dan properti.
Jenis: Tali
Diperlukan: Bersyarat
AWS CloudFormationkompatibilitas: Properti ini unik bagiAWS SAM dan tidak memilikiAWS CloudFormation padanan.
Contoh
API Gateway memanggil fungsi Lambda
Contoh berikut menggunakanAWS::Serverless::Connector sumber daya untuk memungkinkan Amazon API Gateway untuk memanggilAWS Lambda fungsi.
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