

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

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

*Integrasi* menghubungkan rute ke sumber daya backend. HTTP APIs mendukung Lambda proxy, AWS layanan, dan integrasi proxy HTTP. Misalnya, Anda dapat mengonfigurasi `POST` permintaan ke `/signup` rute API Anda untuk diintegrasikan dengan fungsi Lambda yang menangani pelanggan yang mendaftar.

**Topics**
+ [Buat integrasi AWS Lambda proxy untuk HTTP APIs di API Gateway](http-api-develop-integrations-lambda.md)
+ [Buat integrasi proxy HTTP untuk HTTP APIs](http-api-develop-integrations-http.md)
+ [Buat integrasi AWS layanan untuk HTTP APIs di API Gateway](http-api-develop-integrations-aws-services.md)
+ [Buat integrasi pribadi untuk HTTP APIs di API Gateway](http-api-develop-integrations-private.md)

# Buat integrasi AWS Lambda proxy untuk HTTP APIs di API Gateway
<a name="http-api-develop-integrations-lambda"></a>

Integrasi proxy Lambda memungkinkan Anda mengintegrasikan rute API dengan fungsi Lambda. Saat klien memanggil API Anda, API Gateway mengirimkan permintaan ke fungsi Lambda dan mengembalikan respons fungsi ke klien. Untuk contoh pembuatan API HTTP, lihat[Buat API HTTP](http-api-develop.md#http-api-examples).

## Versi format muatan
<a name="http-api-develop-integrations-lambda.proxy-format"></a>

Versi format payload menentukan format event yang dikirimkan API Gateway ke integrasi Lambda, dan bagaimana API Gateway menafsirkan respons dari Lambda. Jika Anda tidak menentukan versi format payload, akan Konsol Manajemen AWS menggunakan versi terbaru secara default. Jika Anda membuat integrasi Lambda menggunakan AWS CLI, CloudFormation, atau SDK, Anda harus menentukan. `payloadFormatVersion` Nilai yang di-support adalah `1.0` dan `2.0`.

Untuk informasi selengkapnya tentang cara menyetel`payloadFormatVersion`, lihat [create-integration](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/create-integration.html). Untuk informasi selengkapnya tentang cara menentukan integrasi `payloadFormatVersion` yang ada, lihat [get-integration](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/get-integration.html)

### Perbedaan format payload
<a name="http-api-develop-integrations-lambda.proxy-format-differences"></a>

Daftar berikut menunjukkan perbedaan antara versi format payload `1.0` dan `2.0` payload:
+ Format `2.0` tidak memiliki `multiValueHeaders` atau `multiValueQueryStringParameters` bidang. Header duplikat dikombinasikan dengan koma dan termasuk dalam bidang. `headers` String kueri duplikat digabungkan dengan koma dan disertakan dalam bidang. `queryStringParameters`
+ Format `2.0` memiliki`rawPath`. Jika Anda menggunakan pemetaan API untuk menghubungkan stage Anda ke nama domain kustom, tidak `rawPath` akan memberikan nilai pemetaan API. Gunakan format `1.0` dan `path` untuk mengakses pemetaan API untuk nama domain kustom Anda.
+ Format `2.0` termasuk `cookies` bidang baru. Semua header cookie dalam permintaan digabungkan dengan koma dan ditambahkan ke bidang. `cookies` Dalam menanggapi klien, setiap cookie menjadi `set-cookie` header.

### Struktur format muatan
<a name="http-api-develop-integrations-lambda.proxy-format-structure"></a>

Contoh berikut menunjukkan struktur setiap versi format payload. Semua headername diberi huruf kecil.

------
#### [ 2.0 ]

```
{
  "version": "2.0",
  "routeKey": "$default",
  "rawPath": "/my/path",
  "rawQueryString": "parameter1=value1&parameter1=value2&parameter2=value",
  "cookies": [
    "cookie1",
    "cookie2"
  ],
  "headers": {
    "header1": "value1",
    "header2": "value1,value2"
  },
  "queryStringParameters": {
    "parameter1": "value1,value2",
    "parameter2": "value"
  },
  "requestContext": {
    "accountId": "123456789012",
    "apiId": "api-id",
    "authentication": {
      "clientCert": {
        "clientCertPem": "CERT_CONTENT",
        "subjectDN": "www.example.com",
        "issuerDN": "Example issuer",
        "serialNumber": "a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1",
        "validity": {
          "notBefore": "May 28 12:30:02 2019 GMT",
          "notAfter": "Aug  5 09:36:04 2021 GMT"
        }
      }
    },
    "authorizer": {
      "jwt": {
        "claims": {
          "claim1": "value1",
          "claim2": "value2"
        },
        "scopes": [
          "scope1",
          "scope2"
        ]
      }
    },
    "domainName": "id.execute-api.us-east-1.amazonaws.com",
    "domainPrefix": "id",
    "http": {
      "method": "POST",
      "path": "/my/path",
      "protocol": "HTTP/1.1",
      "sourceIp": "192.0.2.1",
      "userAgent": "agent"
    },
    "requestId": "id",
    "routeKey": "$default",
    "stage": "$default",
    "time": "12/Mar/2020:19:03:58 +0000",
    "timeEpoch": 1583348638390
  },
  "body": "Hello from Lambda",
  "pathParameters": {
    "parameter1": "value1"
  },
  "isBase64Encoded": false,
  "stageVariables": {
    "stageVariable1": "value1",
    "stageVariable2": "value2"
  }
}
```

------
#### [ 1.0 ]

```
{
  "version": "1.0",
  "resource": "/my/path",
  "path": "/my/path",
  "httpMethod": "GET",
  "headers": {
    "header1": "value1",
    "header2": "value2"
  },
  "multiValueHeaders": {
    "header1": [
      "value1"
    ],
    "header2": [
      "value1",
      "value2"
    ]
  },
  "queryStringParameters": {
    "parameter1": "value1",
    "parameter2": "value"
  },
  "multiValueQueryStringParameters": {
    "parameter1": [
      "value1",
      "value2"
    ],
    "parameter2": [
      "value"
    ]
  },
  "requestContext": {
    "accountId": "123456789012",
    "apiId": "id",
    "authorizer": {
      "claims": null,
      "scopes": null
    },
    "domainName": "id.execute-api.us-east-1.amazonaws.com",
    "domainPrefix": "id",
    "extendedRequestId": "request-id",
    "httpMethod": "GET",
    "identity": {
      "accessKey": null,
      "accountId": null,
      "caller": null,
      "cognitoAuthenticationProvider": null,
      "cognitoAuthenticationType": null,
      "cognitoIdentityId": null,
      "cognitoIdentityPoolId": null,
      "principalOrgId": null,
      "sourceIp": "192.0.2.1",
      "user": null,
      "userAgent": "user-agent",
      "userArn": null,
      "clientCert": {
        "clientCertPem": "CERT_CONTENT",
        "subjectDN": "www.example.com",
        "issuerDN": "Example issuer",
        "serialNumber": "a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1:a1",
        "validity": {
          "notBefore": "May 28 12:30:02 2019 GMT",
          "notAfter": "Aug  5 09:36:04 2021 GMT"
        }
      }
    },
    "path": "/my/path",
    "protocol": "HTTP/1.1",
    "requestId": "id=",
    "requestTime": "04/Mar/2020:19:15:17 +0000",
    "requestTimeEpoch": 1583349317135,
    "resourceId": null,
    "resourcePath": "/my/path",
    "stage": "$default"
  },
  "pathParameters": null,
  "stageVariables": null,
  "body": "Hello from Lambda!",
  "isBase64Encoded": false
}
```

------

## Format respons fungsi Lambda
<a name="http-api-develop-integrations-lambda.response"></a>

Versi format payload menentukan struktur respons yang harus dikembalikan oleh fungsi Lambda Anda.

### Respons fungsi Lambda untuk format 1.0
<a name="http-api-develop-integrations-lambda.v1"></a>

Dengan versi `1.0` format, integrasi Lambda harus mengembalikan respons dalam format JSON berikut:

**Example**  

```
{
    "isBase64Encoded": true|false,
    "statusCode": httpStatusCode,
    "headers": { "headername": "headervalue", ... },
    "multiValueHeaders": { "headername": ["headervalue", "headervalue2", ...], ... },
    "body": "..."
}
```

### Respons fungsi Lambda untuk format 2.0
<a name="http-api-develop-integrations-lambda.v2"></a>

Dengan versi `2.0` formatnya, API Gateway dapat menyimpulkan format respons untuk Anda. API Gateway membuat asumsi berikut jika fungsi Lambda Anda mengembalikan JSON yang valid dan tidak mengembalikan: `statusCode`
+ `isBase64Encoded` adalah `false`.
+ `statusCode` adalah `200`.
+ `content-type` adalah `application/json`.
+ `body`adalah respon dari fungsi tersebut.

Contoh berikut menunjukkan output dari fungsi Lambda dan interpretasi API Gateway.


| Keluaran fungsi Lambda | Interpretasi API Gateway | 
| --- | --- | 
|  <pre>"Hello from Lambda!"</pre>  |  <pre>{<br />  "isBase64Encoded": false,<br />  "statusCode": 200,<br />  "body": "Hello from Lambda!",<br />  "headers": {<br />    "content-type": "application/json"<br />  }<br />}</pre>  | 
|  <pre>{ "message": "Hello from Lambda!" }</pre>  |  <pre>{<br />  "isBase64Encoded": false,<br />  "statusCode": 200,<br />  "body": "{ \"message\": \"Hello from Lambda!\" }",<br />  "headers": {<br />    "content-type": "application/json"<br />  }<br />}</pre>  | 

Untuk menyesuaikan respons, fungsi Lambda Anda harus mengembalikan respons dengan format berikut.

```
{
    "cookies" : ["cookie1", "cookie2"],
    "isBase64Encoded": true|false,
    "statusCode": httpStatusCode,
    "headers": { "headername": "headervalue", ... },
    "body": "Hello from Lambda!"
}
```

# Buat integrasi proxy HTTP untuk HTTP APIs
<a name="http-api-develop-integrations-http"></a>

Integrasi proxy HTTP memungkinkan Anda menghubungkan rute API ke titik akhir HTTP yang dapat dirutekan secara publik. Dengan tipe integrasi ini, API Gateway meneruskan seluruh permintaan dan respons antara frontend dan backend. 

Untuk membuat integrasi proxy HTTP, berikan URL titik akhir HTTP yang dapat dirutekan secara publik.

## Integrasi proxy HTTP dengan variabel jalur
<a name="http-api-develop-integrations-http-proxy"></a>

Anda dapat menggunakan variabel jalur di rute API HTTP.

Misalnya, rute `/pets/{petID}` menangkap permintaan ke`/pets/6`. Anda dapat mereferensikan variabel jalur dalam URI integrasi untuk mengirim konten variabel ke integrasi. Contohnya adalah `/pets/extendedpath/{petID}`.

Anda dapat menggunakan variabel jalur serakah untuk menangkap semua sumber daya anak dari suatu rute. Untuk membuat variabel jalur serakah, tambahkan `+` ke nama variabel—misalnya,. `{proxy+}` 

Untuk menyiapkan rute dengan integrasi proxy HTTP yang menangkap semua permintaan, buat rute API dengan variabel jalur serakah (misalnya,`/parent/{proxy+}`). Integrasikan rute dengan titik akhir HTTP (misalnya,`https://petstore-demo-endpoint.execute-api.com/petstore/{proxy}`) pada `ANY` metode. Variabel jalur serakah harus berada di ujung jalur sumber daya.

# 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*.

# Buat integrasi pribadi untuk HTTP APIs di API Gateway
<a name="http-api-develop-integrations-private"></a>

Integrasi pribadi memungkinkan Anda membuat integrasi API dengan sumber daya pribadi di VPC, seperti Application Load Balancers atau aplikasi berbasis container Amazon ECS. 

Anda dapat mengekspos sumber daya Anda dalam VPC untuk diakses oleh klien di luar VPC dengan menggunakan integrasi pribadi. Anda dapat mengontrol akses ke API Anda dengan menggunakan salah satu [metode otorisasi](http-api-access-control.md) yang didukung API Gateway.

**catatan**  
Untuk membuat integrasi pribadi, Anda harus terlebih dahulu membuat tautan VPC. Tautan VPC V2 sekarang didukung untuk HTTP dan REST. APIs Untuk mempelajari selengkapnya tentang tautan VPC V2, lihat. [Siapkan tautan VPC V2 di API Gateway](apigateway-vpc-links-v2.md) 

Setelah membuat tautan VPC V2, Anda dapat mengatur integrasi pribadi yang terhubung ke Application Load Balancer, Network Load Balancer, atau sumber daya yang terdaftar dengan layanan. AWS Cloud Map 

## Pertimbangan-pertimbangan
<a name="http-api-develop-integrations-private-considerations"></a>

Pertimbangan berikut dapat memengaruhi penggunaan integrasi pribadi Anda:
+ Semua sumber daya harus dimiliki oleh yang sama Akun AWS. Ini termasuk penyeimbang beban atau AWS Cloud Map layanan, tautan VPC, dan HTTP API.
+ Secara default, lalu lintas integrasi pribadi menggunakan protokol HTTP. Untuk menggunakan HTTPS, tentukan file [https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/apis-apiid-integrations-integrationid.html](https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/apis-apiid-integrations-integrationid.html). Untuk melakukan ini menggunakan Konsol Manajemen AWS, ketika Anda membuat integrasi pribadi Anda, pilih **Pengaturan lanjutan** dan kemudian masukkan nama server yang aman.
+ Untuk integrasi pribadi, API Gateway menyertakan bagian [tahap](http-api-stages.md) titik akhir API dalam permintaan ke sumber daya backend Anda. Misalnya, permintaan ke `test` tahap API termasuk `test/route-path` dalam permintaan untuk integrasi pribadi Anda. Untuk menghapus nama panggung dari permintaan ke sumber daya backend Anda, gunakan [pemetaan parameter](http-api-parameter-mapping.md) untuk menimpa jalur permintaan. `$request.path`

## Buat integrasi pribadi menggunakan Application Load Balancer atau Network Load Balancer
<a name="http-api-develop-integrations-private-ELB"></a>

Sebelum Anda membuat integrasi pribadi, Anda harus membuat tautan VPC V2. Untuk mempelajari selengkapnya tentang tautan VPC V2, lihat. [Siapkan tautan VPC V2 di API Gateway](apigateway-vpc-links-v2.md)

Untuk membuat integrasi pribadi dengan Application Load Balancer atau Network Load Balancer, buat integrasi proxy HTTP, tentukan tautan VPC yang akan digunakan, dan berikan ARN pendengar penyeimbang beban.

Perintah [create-integration](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/create-integration.html) berikut membuat integrasi pribadi yang terhubung ke penyeimbang beban dengan menggunakan tautan VPC:

```
aws apigatewayv2 create-integration --api-id api-id --integration-type HTTP_PROXY \
    --integration-method GET --connection-type VPC_LINK \
    --connection-id VPC-link-ID \
    --integration-uri arn:aws:elasticloadbalancing:us-east-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/0467ef3c8400ae65
    --payload-format-version 1.0
```

## Buat integrasi pribadi menggunakan penemuan AWS Cloud Map layanan
<a name="http-api-develop-integrations-private-Cloud-Map"></a>

Sebelum Anda membuat integrasi pribadi, Anda harus membuat tautan VPC V2. Untuk mempelajari lebih lanjut tentang tautan VPC, lihat. [Siapkan tautan VPC V2 di API Gateway](apigateway-vpc-links-v2.md)

Untuk integrasi dengan AWS Cloud Map, API Gateway digunakan `DiscoverInstances` untuk mengidentifikasi sumber daya. Anda dapat menggunakan parameter kueri untuk menargetkan sumber daya tertentu. Atribut sumber daya terdaftar harus menyertakan alamat IP dan port. API Gateway mendistribusikan permintaan di seluruh sumber daya sehat yang dikembalikan. `DiscoverInstances` Untuk mempelajari lebih lanjut, lihat [DiscoverInstances](https://docs.aws.amazon.com/cloud-map/latest/api/API_DiscoverInstances.html)di Referensi AWS Cloud Map API.

**catatan**  
Jika Anda menggunakan Amazon ECS untuk mengisi entri AWS Cloud Map, Anda harus mengonfigurasi tugas Amazon ECS untuk menggunakan catatan SRV dengan Amazon ECS Service Discovery atau mengaktifkan Amazon ECS Service Connect. Untuk informasi selengkapnya, lihat [Layanan interkoneksi](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/interconnecting-services.html) di Panduan Pengembang Layanan Kontainer Elastis Amazon.

Untuk membuat integrasi pribadi dengan AWS Cloud Map, buat integrasi proxy HTTP, tentukan tautan VPC yang akan digunakan, dan berikan ARN layanan. AWS Cloud Map 

Perintah [create-integration](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/create-integration.html) berikut menciptakan integrasi pribadi yang menggunakan penemuan AWS Cloud Map layanan untuk mengidentifikasi sumber daya:

```
aws apigatewayv2 create-integration --api-id api-id --integration-type HTTP_PROXY  \
    --integration-method GET --connection-type VPC_LINK \
    --connection-id VPC-link-ID \
    --integration-uri arn:aws:servicediscovery:us-east-2:123456789012:service/srv-id?stage=prod&deployment=green_deployment
    --payload-format-version 1.0
```