

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

# Tutorial: Buat REST API dengan AWS integrasi
<a name="getting-started-aws-proxy"></a>

 Baik [Tutorial: Buat REST API dengan integrasi non-proxy Lambda](getting-started-lambda-non-proxy-integration.md) topik [Tutorial: Buat REST API dengan integrasi proxy Lambda](api-gateway-create-api-as-simple-proxy-for-lambda.md) maupun topik menjelaskan cara membuat API Gateway API untuk mengekspos fungsi Lambda terintegrasi. Selain itu, Anda dapat membuat API Gateway API untuk mengekspos AWS layanan lain, seperti Amazon SNS, Amazon S3, Amazon Kinesis, dan bahkan. AWS Lambda Hal ini dimungkinkan oleh `AWS` integrasi. Integrasi Lambda atau integrasi proxy Lambda adalah kasus khusus, di mana pemanggilan fungsi Lambda diekspos melalui API Gateway API. 

 Semua dukungan AWS layanan yang didedikasikan APIs untuk mengekspos fitur mereka. Namun, protokol aplikasi atau antarmuka pemrograman cenderung berbeda dari layanan ke layanan. API Gateway API dengan `AWS` integrasi memiliki keuntungan menyediakan protokol aplikasi yang konsisten bagi klien Anda untuk mengakses berbagai AWS layanan. 

 Dalam panduan ini, kami membuat API untuk mengekspos Amazon SNS. Untuk contoh lebih lanjut tentang mengintegrasikan API dengan AWS layanan lain, lihat[Tutorial dan lokakarya Amazon API Gateway](api-gateway-tutorials.md). 

 Berbeda dengan integrasi proxy Lambda, tidak ada integrasi proxy yang sesuai untuk layanan lain AWS . Oleh karena itu, metode API terintegrasi dengan satu AWS tindakan. Untuk fleksibilitas lebih, mirip dengan integrasi proxy, Anda dapat mengatur integrasi proxy Lambda. Fungsi Lambda kemudian mem-parsing dan memproses permintaan untuk tindakan lain. AWS 

 API Gateway tidak mencoba lagi saat titik akhir habis. Pemanggil API harus menerapkan logika coba lagi untuk menangani batas waktu titik akhir. 

 Panduan ini dibangun di atas instruksi dan konsep di. [Tutorial: Buat REST API dengan integrasi non-proxy Lambda](getting-started-lambda-non-proxy-integration.md) Jika Anda belum menyelesaikan panduan itu, kami sarankan Anda melakukannya terlebih dahulu. 



**Topics**
+ [Prasyarat](#getting-started-aws-proxy-prerequisites)
+ [Langkah 1: Buat peran eksekusi proxy AWS layanan](#getting-started-aws-proxy-add-roles)
+ [Langkah 2: Buat sumber daya](#getting-started-aws-proxy-add-resources)
+ [Langkah 3: Buat metode GET](#getting-started-aws-proxy-add-methods)
+ [Langkah 4: Tentukan pengaturan metode dan uji metodenya](#getting-started-aws-proxy-set-methods)
+ [Langkah 5: Menerapkan API](#getting-started-aws-proxy-deploy)
+ [Langkah 6: Uji API](#getting-started-aws-proxy-test)
+ [Langkah 7: Bersihkan](#getting-started-aws-proxy-clean-up)

## Prasyarat
<a name="getting-started-aws-proxy-prerequisites"></a>

Sebelum memulai panduan ini, lakukan hal berikut:

1. Selesaikan langkah-langkah dalam [Siapkan untuk menggunakan API Gateway](setting-up.md).

1.  Buat API baru bernama`MyDemoAPI`. Untuk informasi selengkapnya, lihat [Tutorial: Membuat REST API dengan integrasi non-proxy HTTP](api-gateway-create-api-step-by-step.md). 

1. Terapkan API setidaknya sekali ke tahap bernama`test`. Untuk informasi selengkapnya, lihat [Menerapkan API](getting-started-lambda-non-proxy-integration.md#getting-started-deploy-api) di[Pilih tutorial AWS Lambda integrasi](getting-started-with-lambda-integration.md).

1. Selesaikan langkah-langkah lainnya[Pilih tutorial AWS Lambda integrasi](getting-started-with-lambda-integration.md).

1. Buat setidaknya satu topik di Amazon Simple Notification Service (Amazon SNS). Anda akan menggunakan API yang diterapkan untuk mendapatkan daftar topik di Amazon SNS yang terkait dengan AWS akun Anda. Untuk mempelajari cara membuat topik di Amazon SNS, lihat [Membuat](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html) Topik. (Anda tidak perlu menyalin topik ARN yang disebutkan di langkah 5.)

## Langkah 1: Buat peran eksekusi proxy AWS layanan
<a name="getting-started-aws-proxy-add-roles"></a>

 Untuk mengizinkan API menjalankan tindakan Amazon SNS, Anda harus memiliki kebijakan IAM yang sesuai yang dilampirkan ke peran IAM. Pada langkah ini, Anda membuat peran IAM baru.

**Untuk membuat peran eksekusi proxy AWS layanan**

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Pilih **Peran**.

1. Pilih **Buat peran**.

1.  Pilih **AWS layanan** di bawah **Pilih jenis entitas tepercaya**, lalu pilih **API Gateway** dan pilih **Izinkan API Gateway untuk mendorong CloudWatch log ke Log**.

1.  Pilih **Berikutnya**, lalu pilih **Berikutnya**.

1. Untuk **nama Peran****APIGatewaySNSProxyPolicy**, masukkan, lalu pilih **Buat peran**.

1. Dalam daftar **Peran**, pilih peran yang baru saja Anda buat. Anda mungkin perlu menggulir atau menggunakan bilah pencarian untuk menemukan peran.

1. Untuk peran yang dipilih, pilih tab **Tambahkan izin**.

1. Pilih **Lampirkan kebijakan** dari daftar dropdown.

1. Di bilah pencarian, masukkan **AmazonSNSReadOnlyAccess** dan pilih **Tambahkan izin**. 
**catatan**  
Tutorial ini menggunakan kebijakan terkelola untuk kesederhanaan. Sebagai praktik terbaik, Anda harus membuat kebijakan IAM Anda sendiri untuk memberikan izin minimum yang diperlukan. 

1. Perhatikan **ARN Peran** yang baru dibuat, Anda akan menggunakannya nanti.

## Langkah 2: Buat sumber daya
<a name="getting-started-aws-proxy-add-resources"></a>

Pada langkah ini, Anda membuat sumber daya yang memungkinkan proxy AWS layanan berinteraksi dengan AWS layanan.

**Untuk membuat sumber daya**

1. Masuk ke konsol API Gateway di [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Pilih API Anda.

1. Pilih sumber daya root,**/**, yang diwakili oleh satu garis miring (**/**), lalu pilih **Buat sumber daya**.

1. Matikan **sumber daya Proxy**.

1. Pertahankan **jalur Sumber Daya** sebagai`/`.

1. Untuk **Nama sumber daya**, masukkan **mydemoawsproxy**.

1. Tetap nonaktifkan **CORS (Cross Origin Resource Sharing)**.

1. Pilih **Buat sumber daya**.

## Langkah 3: Buat metode GET
<a name="getting-started-aws-proxy-add-methods"></a>

Pada langkah ini, Anda membuat metode GET yang memungkinkan proxy AWS layanan berinteraksi dengan AWS layanan.

**Untuk membuat `GET` metode**

1. **Pilih sumber daya **/mydemoawsproxy**, lalu pilih Create method.**

1. Untuk jenis metode, pilih **GET**.

1. Untuk **jenis Integrasi**, pilih **Layanan AWS**.

1. Untuk **Wilayah AWS**, pilih Wilayah AWS tempat Anda membuat topik Amazon SNS Anda.

1. Untuk **Layanan AWS**, pilih **Amazon SNS**.

1. Biarkan **AWS subdomain** kosong.

1. Untuk **metode HTTP**, pilih **GET**.

1. Untuk **jenis tindakan**, pilih **Gunakan nama tindakan**.

1. Untuk **nama Action**, masukkan**ListTopics**.

1. Untuk **peran Eksekusi**, masukkan peran ARN untuk. **APIGatewaySNSProxyPolicy**

1. Pilih **metode Buat**.

## Langkah 4: Tentukan pengaturan metode dan uji metodenya
<a name="getting-started-aws-proxy-set-methods"></a>

Anda sekarang dapat menguji `GET` metode Anda untuk memverifikasi bahwa metode tersebut telah diatur dengan benar untuk mencantumkan topik Amazon SNS Anda.

**Untuk menguji `GET` metode**

1. Pilih tab **Uji**. Anda mungkin perlu memilih tombol panah kanan untuk menampilkan tab.

1. Pilih **Uji**.

   Hasilnya menampilkan respon yang mirip dengan berikut ini:

   ```
   {
     "ListTopicsResponse": {
       "ListTopicsResult": {
         "NextToken": null,
         "Topics": [
           {
             "TopicArn": "arn:aws:sns:us-east-1:80398EXAMPLE:MySNSTopic-1"
           },
           {
             "TopicArn": "arn:aws:sns:us-east-1:80398EXAMPLE:MySNSTopic-2"
           },
           ...
           {
             "TopicArn": "arn:aws:sns:us-east-1:80398EXAMPLE:MySNSTopic-N"
           }
         ]
       },
       "ResponseMetadata": {
         "RequestId": "abc1de23-45fa-6789-b0c1-d2e345fa6b78"
       }
     }
   }
   ```

## Langkah 5: Menerapkan API
<a name="getting-started-aws-proxy-deploy"></a>

Pada langkah ini, Anda menerapkan API sehingga Anda dapat memanggilnya dari luar konsol API Gateway.

**Untuk menerapkan API**

1. Pilih **Deploy API**.

1. Untuk **Stage**, pilih **New stage**.

1. Untuk **nama Panggung**, masukkan**test**.

1. (Opsional) Untuk **Deskripsi**, masukkan deskripsi.

1. Pilih **Deploy**.

## Langkah 6: Uji API
<a name="getting-started-aws-proxy-test"></a>

Pada langkah ini, Anda pergi ke luar konsol API Gateway dan menggunakan proxy AWS layanan Anda untuk berinteraksi dengan layanan Amazon SNS.

1. Di panel navigasi utama, pilih **Stage**.

1. Di bawah **Detail tahap**, pilih ikon salin untuk menyalin URL pemanggilan API Anda.

   Seharusnya terlihat seperti ini:

   ```
   https://my-api-id.execute-api.region-id.amazonaws.com/test
   ```

1. Masukkan URL ke dalam kotak alamat tab browser baru.

1. Tambahkan `/mydemoawsproxy` sehingga URL terlihat seperti ini:

   ```
   https://my-api-id.execute-api.region-id.amazonaws.com/test/mydemoawsproxy
   ```

   Jelajahi URL. Informasi yang mirip dengan berikut ini harus ditampilkan:

   ```
   {"ListTopicsResponse":{"ListTopicsResult":{"NextToken": null,"Topics":[{"TopicArn": "arn:aws:sns:us-east-1:80398EXAMPLE:MySNSTopic-1"},{"TopicArn": "arn:aws:sns:us-east-1:80398EXAMPLE:MySNSTopic-2"},...{"TopicArn": "arn:aws:sns:us-east-1:80398EXAMPLE:MySNSTopic-N}]},"ResponseMetadata":{"RequestId":"abc1de23-45fa-6789-b0c1-d2e345fa6b78}}}
   ```

## Langkah 7: Bersihkan
<a name="getting-started-aws-proxy-clean-up"></a>

Anda dapat menghapus sumber daya IAM yang diperlukan proxy AWS layanan untuk bekerja.

**Awas**  
Jika Anda menghapus sumber daya IAM yang diandalkan oleh proxy AWS layanan, proxy AWS layanan itu dan apa pun APIs yang mengandalkannya tidak akan berfungsi lagi. Menghapus sumber daya IAM tidak dapat dibatalkan. Jika Anda ingin menggunakan sumber daya IAM lagi, Anda harus membuatnya kembali.

**Untuk menghapus sumber daya IAM terkait**

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di area **Detail**, pilih **Peran**.

1. Pilih **APIGatewayAWSProxyExecRole**, lalu pilih **Tindakan Peran**, **Hapus Peran**. Saat diminta, pilih **Ya, Hapus**.

1. Di area **Detail**, pilih **Kebijakan**.

1. Pilih **APIGatewayAWSProxyExecPolicy**, lalu pilih **Tindakan Kebijakan**, **Hapus**. Saat diminta, pilih **Hapus**.

 Anda telah mencapai akhir dari panduan ini. Untuk diskusi lebih rinci tentang membuat API sebagai proxy AWS layanan, lihat[Tutorial: Buat REST API sebagai proxy Amazon S3](integrating-api-with-aws-services-s3.md),[Tutorial: Buat REST API kalkulator dengan dua integrasi AWS layanan dan satu integrasi non-proxy Lambda](integrating-api-with-aws-services-lambda.md), atau[Tutorial: Buat REST API sebagai proxy Amazon Kinesis](integrating-api-with-aws-services-kinesis.md). 