Apakah mungkin untuk menanyakan instans Amazon RDS langsung dari API Gateway?

Saya baru mengenal API Gateway, dan sejauh yang saya coba, ini adalah alat yang sangat ampuh. Untuk proyek yang saya kerjakan saat ini kami menggunakan instance PostgreSQL di RDS. Saya telah melihat kemungkinan untuk mengakses langsung ke tabel DynamoDB dari API Gateway, jadi saya bertanya-tanya apakah ada cara untuk melakukannya untuk database relasional. Jadi saya membuat sumber daya dengan metode GET dan mengkonfigurasinya untuk terhubung ke database saya, tapi saya tidak yakin apakah saya menggunakan parameter yang benar:

Memberikan informasi tentang backend target

Jadi saya tidak yakin dengan argumen di setiap bidang pengaturan. Di Subdomain AWS saya menulis URL publik seolah-olah saya menghubungkan saya dari klien pgAdmin saya (tidak ada port karena struktur lengkap tidak diterima, jadi saya tahu saya melakukan sesuatu yang buruk). Sebelumnya saya mencoba menggunakan ARN sumber daya RDS saya, tetapi muncul kesalahan ini:

AWS ARN for integration must contains path or action

Untuk peran eksekusi, saya membuatnya dengan kebijakan untuk mengakses sumber daya Postgres saya.

Membaca dokumentasi RDS, saya menemukan bahwa dimungkinkan untuk menggunakan Query API dari RDS menggunakan kata kerja HTTP GET atau POST dan parameter Query bernama Action, jadi saya mencoba mencari cara untuk menempatkan pernyataan kueri saya dengan cara ini:

Permintaan berbasis Kueri HTTP

Namun ketika saya menguji metodenya, ini adalah Respon Body:

{
  "message": "AWS ARN for integration contains invalid action"
}

Dan inilah Lognya:

Execution log for request test-request
Sat Mar 19 15:27:17 UTC 2016 : Execution failed: AWS ARN for integration contains invalid action
Sat Mar 19 15:27:17 UTC 2016 : Method completed with status: 400

Saya tahu saya melakukan banyak hal yang salah, jadi adakah yang tahu apakah ini benar-benar mungkin dan bagaimana melakukannya, karena saya belum menemukan tutorial detailnya.


person Camilo Ortegón    schedule 19.03.2016    source sumber
comment
Tindakan yang didukung untuk RDS adalah docs.aws.amazon.com/AmazonRDS/latest /APIReferensi/   -  person kartik    schedule 11.12.2016
comment
Ini masih merupakan pertanyaan yang menarik dan dengan diperkenalkannya Data API untuk RDS Aurora Serverless, mungkin masih ada harapan...   -  person aalaap    schedule 24.11.2020


Jawaban (1)


Tidak, ini tidak mungkin. Proksi layanan API Gateway hanya akan memproksi panggilan ke API AWS. RDS API hanya memungkinkan Anda melakukan hal-hal seperti membuat database, menghapus database, mengambil snapshot, dll. RDS API tidak memungkinkan Anda menyambungkan dan menjalankan kueri terhadap database.

Anda harus mempertimbangkan untuk mengarahkan API Gateway pada fungsi Lambda yang memiliki kemampuan untuk terhubung ke database RDS Anda dan menjalankan kueri.

person Mark B    schedule 19.03.2016
comment
Anda benar, tidak ada tindakan RDS yang menjelaskan kueri sql. Terima kasih! - person Camilo Ortegón; 19.03.2016