

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

# Buat integrasi AWS layanan untuk HTTP APIs di API Gateway
<a name="http-api-develop-integrations-aws-services"></a>

Anda dapat mengintegrasikan HTTP API Anda dengan AWS layanan dengan menggunakan *integrasi kelas satu*. Integrasi kelas satu menghubungkan rute API HTTP ke API AWS layanan. Saat klien memanggil rute yang didukung oleh integrasi kelas satu, API Gateway akan memanggil API AWS layanan untuk Anda. Misalnya, Anda dapat menggunakan integrasi kelas satu untuk mengirim pesan ke antrean Amazon Simple Queue Service, atau untuk memulai mesin status. AWS Step Functions Untuk tindakan layanan yang didukung, lihat[Referensi subtipe integrasi](http-api-develop-integrations-aws-services-reference.md).

## Parameter permintaan pemetaan
<a name="http-api-develop-integrations-aws-services-parameter-mapping"></a>

Integrasi kelas satu memiliki parameter yang diperlukan dan opsional. Anda harus mengkonfigurasi semua parameter yang diperlukan untuk membuat integrasi. Anda dapat menggunakan nilai statis atau parameter peta yang dievaluasi secara dinamis saat runtime. Untuk daftar lengkap integrasi dan parameter yang didukung, lihat[Referensi subtipe integrasi](http-api-develop-integrations-aws-services-reference.md).

Tabel berikut menjelaskan parameter permintaan pemetaan yang didukung.


| Tipe | Contoh | Catatan | 
| --- | --- | --- | 
| Nilai header | \$1 request.header. name | Nama header tidak peka huruf besar/kecil. API Gateway menggabungkan beberapa nilai header dengan koma, misalnya"header1": "value1,value2". | 
| Nilai string kueri | \$1request.querystring. name | Nama string kueri peka huruf besar/kecil. API Gateway menggabungkan beberapa nilai dengan koma, misalnya"querystring1": "Value1,Value2". | 
| Parameter jalur | \$1request.path. name | Nilai parameter jalur dalam permintaan. Misalnya jika rutenya/pets/\$1petId\$1, Anda dapat memetakan petId parameter dari permintaan dengan\$1request.path.petId. | 
| Minta passthrough tubuh | \$1 request.body | API Gateway melewati seluruh isi permintaan. | 
| Isi permintaan | \$1 request.body. name | [Ekspresi jalur JSON](https://goessner.net/articles/JsonPath/index.html#e2). Descent rekursif (\$1request.body..name) dan ekspresi filter (?(expression)) tidak didukung.  Saat Anda menentukan jalur JSON, API Gateway memotong isi permintaan pada 100 KB dan kemudian menerapkan ekspresi seleksi. Untuk mengirim muatan yang lebih besar dari 100 KB, tentukan`$request.body`.   | 
| Variabel konteks | \$1 konteks. variableName | Nilai [variabel konteks](http-api-logging-variables.md) yang didukung. | 
| Variabel tahap | \$1 StageVariables. variableName | Nilai [variabel tahap](http-api-stages.stage-variables.md). | 
| Nilai statis | string | Nilai konstan. | 

## Buat integrasi kelas satu
<a name="http-api-develop-integrations-aws-services-example"></a>

Sebelum membuat integrasi kelas satu, Anda harus membuat peran IAM yang memberikan izin API Gateway untuk menjalankan tindakan AWS layanan yang Anda integrasikan. Untuk mempelajari lebih lanjut, lihat [Membuat peran untuk AWS layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html).

Untuk membuat integrasi kelas satu, pilih tindakan AWS layanan yang didukung, seperti`SQS-SendMessage`, mengonfigurasi parameter permintaan, dan berikan peran yang memberikan izin API Gateway untuk menjalankan API layanan terintegrasi. AWS Tergantung pada subtipe integrasi, parameter permintaan yang berbeda diperlukan. Untuk mempelajari selengkapnya, lihat [Referensi subtipe integrasi](http-api-develop-integrations-aws-services-reference.md).

Perintah [create-integration](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/create-integration.html) berikut membuat integrasi yang mengirimkan pesan Amazon SQS:

```
aws apigatewayv2 create-integration \
    --api-id abcdef123 \
    --integration-subtype SQS-SendMessage \
    --integration-type AWS_PROXY \
    --payload-format-version 1.0 \
    --credentials-arn arn:aws:iam::123456789012:role/apigateway-sqs \
    --request-parameters '{"QueueUrl": "$request.header.queueUrl", "MessageBody": "$request.body.message"}'
```

## Buat integrasi kelas satu menggunakan CloudFormation
<a name="http-api-develop-integrations-aws-services-example-cfn"></a>

Contoh berikut menunjukkan CloudFormation cuplikan yang membuat `/{source}/{detailType}` rute dengan integrasi kelas satu dengan Amazon. EventBridge

`Source`Parameter dipetakan ke parameter `{source}` jalur, `DetailType` dipetakan ke parameter `{DetailType}` jalur, dan `Detail` parameter dipetakan ke badan permintaan.

Cuplikan tidak menampilkan bus acara atau peran IAM yang memberikan izin API Gateway untuk menjalankan tindakan. `PutEvents`

```
Route:
    Type: AWS::ApiGatewayV2::Route
    Properties:
      ApiId: !Ref HttpApi
      AuthorizationType: None
      RouteKey: 'POST /{source}/{detailType}'
      Target: !Join 
        - /
        - - integrations
          - !Ref Integration
  Integration:
    Type: AWS::ApiGatewayV2::Integration
    Properties:
      ApiId: !Ref HttpApi
      IntegrationType: AWS_PROXY
      IntegrationSubtype: EventBridge-PutEvents
      CredentialsArn: !GetAtt EventBridgeRole.Arn
      RequestParameters:
        Source: $request.path.source
        DetailType: $request.path.detailType
        Detail: $request.body
        EventBusName: !GetAtt EventBus.Arn
      PayloadFormatVersion: "1.0"
```

# Referensi subtipe integrasi
<a name="http-api-develop-integrations-aws-services-reference"></a>

[Subtipe integrasi](https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/apis-apiid-integrations-integrationid.html#apis-apiid-integrations-integrationid-prop-integration-integrationsubtype) berikut didukung untuk HTTP APIs.

**Topics**
+ [EventBridge- PutEvents 1.0](#EventBridge-PutEvents)
+ [SQS- 1.0 SendMessage](#SQS-SendMessage)
+ [SQS- 1.0 ReceiveMessage](#SQS-ReceiveMessage)
+ [SQS- 1.0 DeleteMessage](#SQS-DeleteMessage)
+ [SQS- 1.0 PurgeQueue](#SQS-PurgeQueue)
+ [AppConfig- GetConfiguration 1.0](#AppConfig-GetConfiguration)
+ [Kinesis- 1.0 PutRecord](#Kinesis-PutRecord)
+ [StepFunctions- StartExecution 1.0](#StepFunctions-StartExecution)
+ [StepFunctions- StartSyncExecution 1.0](#StepFunctions-StartSyncExecution)
+ [StepFunctions- StopExecution 1.0](#StepFunctions-StopExecution)

## EventBridge- PutEvents 1.0
<a name="EventBridge-PutEvents"></a>

Mengirim acara khusus ke Amazon EventBridge sehingga dapat dicocokkan dengan aturan.


| Parameter | Diperlukan | 
| --- | --- | 
| Detail | True | 
| DetailType | True | 
| Sumber | True | 
| Waktu | False | 
| EventBusName | False | 
| Sumber daya | False | 
| Wilayah | False | 
| TraceHeader | False | 

Untuk mempelajari lebih lanjut, lihat [PutEvents](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html)di *Referensi Amazon EventBridge API*.

## SQS- 1.0 SendMessage
<a name="SQS-SendMessage"></a>

Mengirimkan pesan ke antrian yang ditentukan.


| Parameter | Diperlukan | 
| --- | --- | 
| QueueUrl | True | 
| MessageBody | Benar | 
| DelaySeconds | Salah | 
| MessageAttributes | Salah | 
| MessageDeduplicationId | Salah | 
| MessageGroupId | Salah | 
| MessageSystemAttributes | False | 
| Wilayah | False | 

Untuk mempelajari selengkapnya, lihat [SendMessage](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html)di *Referensi API Layanan Antrian Sederhana Amazon*.

## SQS- 1.0 ReceiveMessage
<a name="SQS-ReceiveMessage"></a>

Mengambil satu atau beberapa pesan (hingga 10), dari antrian yang ditentukan.


| Parameter | Diperlukan | 
| --- | --- | 
| QueueUrl | True | 
| AttributeNames | Salah | 
| MaxNumberOfMessages | Salah | 
| MessageAttributeNames | Salah | 
| ReceiveRequestAttemptId | Salah | 
| VisibilityTimeout | Salah | 
| WaitTimeSeconds | False | 
| Wilayah | False | 

Untuk mempelajari selengkapnya, lihat [ReceiveMessage](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html)di *Referensi API Layanan Antrian Sederhana Amazon*.

## SQS- 1.0 DeleteMessage
<a name="SQS-DeleteMessage"></a>

Menghapus pesan yang ditentukan dari antrian yang ditentukan.


| Parameter | Diperlukan | 
| --- | --- | 
| ReceiptHandle | True | 
| QueueUrl | True | 
| Wilayah | False | 

Untuk mempelajari selengkapnya, lihat [DeleteMessage](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteMessage.html)di *Referensi API Layanan Antrian Sederhana Amazon*.

## SQS- 1.0 PurgeQueue
<a name="SQS-PurgeQueue"></a>

Menghapus semua pesan dalam antrian yang ditentukan.


| Parameter | Diperlukan | 
| --- | --- | 
| QueueUrl | True | 
| Wilayah | False | 

Untuk mempelajari selengkapnya, lihat [PurgeQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_PurgeQueue.html)di *Referensi API Layanan Antrian Sederhana Amazon*.

## AppConfig- GetConfiguration 1.0
<a name="AppConfig-GetConfiguration"></a>

Menerima informasi tentang konfigurasi.


| Parameter | Diperlukan | 
| --- | --- | 
| Aplikasi | True | 
| Lingkungan | True | 
| Konfigurasi | True | 
| ClientId | Benar | 
| ClientConfigurationVersion | False | 
| Wilayah | False | 

Untuk mempelajari lebih lanjut, lihat [GetConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_GetConfiguration.html)di *Referensi AWS AppConfig API*.

## Kinesis- 1.0 PutRecord
<a name="Kinesis-PutRecord"></a>

Menulis catatan data tunggal ke dalam aliran data Amazon Kinesis.


| Parameter | Diperlukan | 
| --- | --- | 
| StreamName | True | 
| Data | True | 
| PartitionKey | Benar | 
| SequenceNumberForOrdering | Salah | 
| ExplicitHashKey | False | 
| Wilayah | False | 

Untuk mempelajari selengkapnya, lihat [PutRecord](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecord.html)di *Referensi API Amazon Kinesis Data Streams*.

## StepFunctions- StartExecution 1.0
<a name="StepFunctions-StartExecution"></a>

Memulai eksekusi mesin negara.


| Parameter | Diperlukan | 
| --- | --- | 
| StateMachineArn | True | 
| Nama | False | 
| Input | False | 
| Wilayah | False | 

Untuk mempelajari lebih lanjut, lihat [StartExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)di *Referensi AWS Step Functions API*.

## StepFunctions- StartSyncExecution 1.0
<a name="StepFunctions-StartSyncExecution"></a>

Memulai eksekusi mesin keadaan sinkron.


| Parameter | Diperlukan | 
| --- | --- | 
| StateMachineArn | True | 
| Nama | False | 
| Input | False | 
| Wilayah | False | 
| TraceHeader | False | 

Untuk mempelajari lebih lanjut, lihat [StartSyncExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartSyncExecution.html)di *Referensi AWS Step Functions API*.

## StepFunctions- StopExecution 1.0
<a name="StepFunctions-StopExecution"></a>

Menghentikan eksekusi.


| Parameter | Diperlukan | 
| --- | --- | 
| ExecutionArn | True | 
| Penyebab | False | 
| Kesalahan | False | 
| Wilayah | False | 

Untuk mempelajari lebih lanjut, lihat [StopExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StopExecution.html)di *Referensi AWS Step Functions API*.