

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

# Tugas dasar permintaan integrasi API
<a name="integration-request-basic-setup"></a>

 Permintaan integrasi adalah permintaan HTTP yang API Gateway kirimkan ke backend, meneruskan data permintaan yang dikirimkan klien, dan mengubah data, jika perlu. Metode HTTP (atau kata kerja) dan URI dari permintaan integrasi ditentukan oleh backend (yaitu, titik akhir integrasi). Mereka dapat sama dengan atau berbeda dari metode HTTP permintaan metode dan URI, masing-masing. 

Misalnya, ketika fungsi Lambda mengembalikan file yang diambil dari Amazon S3, Anda dapat mengekspos operasi ini secara intuitif sebagai permintaan `GET` metode ke klien meskipun permintaan integrasi yang sesuai mengharuskan permintaan `POST` digunakan untuk menjalankan fungsi Lambda. Untuk titik akhir HTTP, kemungkinan permintaan metode dan permintaan integrasi yang sesuai keduanya menggunakan kata kerja HTTP yang sama. Namun, ini tidak diperlukan. Anda dapat mengintegrasikan permintaan metode berikut: 

```
GET /{var}?query=value
Host: api.domain.net
```

Dengan permintaan integrasi berikut: 

```
POST /
Host: service.domain.com
Content-Type: application/json
Content-Length: ...

{
   path: "{var}'s value",
   type: "value"
}
```

 Sebagai pengembang API, Anda dapat menggunakan kata kerja HTTP dan URI apa pun untuk permintaan metode yang sesuai dengan kebutuhan Anda. Tetapi Anda harus mengikuti persyaratan titik akhir integrasi. Ketika data permintaan metode berbeda dari data permintaan integrasi, Anda dapat merekonsiliasi perbedaan dengan menyediakan pemetaan dari data permintaan metode ke data permintaan integrasi. 

Dalam contoh sebelumnya, pemetaan menerjemahkan nilai variabel jalur (`{var}`) dan parameter kueri (`query`) dari permintaan `GET` metode ke nilai properti payload permintaan integrasi dan. `path` `type` Data permintaan lain yang dapat dipetakan mencakup header dan badan permintaan. Ini dijelaskan dalam[Pemetaan parameter untuk REST APIs di API Gateway](rest-api-parameter-mapping.md).

Saat menyiapkan permintaan integrasi proxy HTTP atau HTTP, Anda menetapkan URL endpoint HTTP backend sebagai nilai URI permintaan integrasi. Misalnya, di PetStore API, permintaan metode untuk mendapatkan halaman hewan peliharaan memiliki URI permintaan integrasi berikut: 

```
http://petstore-demo-endpoint.execute-api.com/petstore/pets
```

Saat menyiapkan integrasi proxy Lambda atau Lambda, Anda menetapkan Nama Sumber Daya Amazon (ARN) untuk menjalankan fungsi Lambda sebagai nilai URI permintaan integrasi. ARN ini memiliki format sebagai berikut:

```
arn:aws:apigateway:api-region:lambda:path//2015-03-31/functions/arn:aws:lambda:lambda-region:account-id:function:lambda-function-name/invocations
```

Bagian setelahnya`arn:aws:apigateway:api-region:lambda:path/`, yaitu`/2015-03-31/functions/arn:aws:lambda:lambda-region:account-id:function:lambda-function-name/invocations`, adalah jalur REST API URI dari tindakan Lambda [Invoke](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html). Jika Anda menggunakan konsol API Gateway untuk menyiapkan integrasi Lambda, API Gateway akan membuat ARN dan menetapkannya ke URI integrasi setelah meminta Anda untuk memilih dari suatu wilayah. `lambda-function-name` 

Saat menyiapkan permintaan integrasi dengan tindakan AWS layanan lain, URI permintaan integrasi juga merupakan ARN, mirip dengan integrasi dengan tindakan Lambda. `Invoke` Misalnya, untuk integrasi dengan [GetBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html)aksi Amazon S3, URI permintaan integrasi adalah ARN dengan format berikut:

```
arn:aws:apigateway:api-region:s3:path/{bucket}
```

URI permintaan integrasi adalah konvensi jalur untuk menentukan tindakan, di `{bucket}` mana placeholder nama bucket. Atau, tindakan AWS layanan dapat direferensikan dengan namanya. Menggunakan nama tindakan, URI permintaan integrasi untuk `GetBucket` tindakan Amazon S3 menjadi sebagai berikut:

```
arn:aws:apigateway:api-region:s3:action/GetBucket
```

Dengan URI permintaan integrasi berbasis tindakan, nama bucket (`{bucket}`) harus ditentukan dalam isi permintaan integrasi (`{ Bucket: "{bucket}" }`), mengikuti format input tindakan`GetBucket`. 

Untuk AWS integrasi, Anda juga harus mengonfigurasi [kredensional](https://docs.aws.amazon.com/apigateway/latest/api/API_Integration.html#credentials) agar API Gateway dapat memanggil tindakan terintegrasi. Anda dapat membuat peran IAM baru atau memilih peran IAM yang sudah ada untuk API Gateway untuk memanggil tindakan dan kemudian menentukan peran menggunakan ARN-nya. Berikut ini menunjukkan contoh ARN ini: 

```
arn:aws:iam::account-id:role/iam-role-name
```

Peran IAM ini harus berisi kebijakan untuk memungkinkan tindakan dieksekusi. Itu juga harus memiliki API Gateway yang dideklarasikan (dalam hubungan kepercayaan peran) sebagai entitas tepercaya untuk mengambil peran. Izin tersebut dapat diberikan pada tindakan itu sendiri. Mereka dikenal sebagai izin berbasis sumber daya. Untuk integrasi Lambda, Anda dapat memanggil tindakan [AddPermission Lambda untuk menyetel izin](https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html) berbasis sumber daya dan kemudian menyetel ke null dalam permintaan integrasi API Gateway. `credentials`

Kami membahas pengaturan integrasi dasar. Pengaturan lanjutan melibatkan pemetaan data permintaan metode ke data permintaan integrasi. Untuk informasi selengkapnya, lihat [Transformasi data untuk REST APIs di API Gateway](rest-api-data-transformations.md).