2016-03-19 23 views
8

Tôi mới sử dụng API Gateway, và như tôi đã thử là một công cụ thực sự mạnh mẽ. Đối với dự án tôi đang làm việc ngay bây giờ, chúng tôi đang sử dụng một cá thể PostgreSQL trong RDS. Tôi đã thấy rằng có thể truy cập trực tiếp vào các bảng DynamoDB từ API Gateway, vì vậy tôi đã tự hỏi liệu có cách nào để làm như vậy cho các cơ sở dữ liệu quan hệ hay không. Vì vậy, tôi đã tạo ra một tài nguyên với một phương thức GET và cấu hình nó để kết nối với cơ sở dữ liệu của tôi, nhưng tôi đã không chắc chắn nếu tôi sử dụng các thông số đúng:Có thể truy vấn cá thể Amazon RDS trực tiếp từ API Gateway không?

Provided information about the target backend

Vì vậy, tôi đã không chắc chắn về những lập luận trong mỗi trường của thiết lập. Trong AWS Subdomain tôi đã viết URL công cộng như thể tôi đang kết nối tôi từ máy khách pgAdmin của tôi (không có cổng nào khiến cấu trúc đầy đủ không được chấp nhận, vì vậy tôi biết tôi đang làm điều gì đó xấu). Trước đó, tôi đã thử sử dụng ARN của tài nguyên RDS của tôi, nhưng lỗi này đã xuất hiện:

AWS ARN for integration must contains path or action 

Để thực hiện vai trò, tôi đã tạo một chính sách để truy cập tài nguyên Postgres của mình.

Đọc tài liệu RDS Tôi phát hiện ra rằng có thể sử dụng API truy vấn từ RDS bằng cách sử dụng động từ HTTP GET hoặc POST và tham số Truy vấn có tên Hành động, vì vậy tôi đã cố gắng tìm cách đặt câu truy vấn theo cách này:

HTTP Query-based requests

Nhưng khi tôi thử nghiệm phương pháp này, đây là cơ thể đáp ứng:

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

Và đây là đây là những Logs:

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 

Tôi biết tôi đang làm rất nhiều điều sai trái, vậy có ai biết nếu điều này thực sự có thể và làm thế nào để làm điều đó, vì tôi chưa tìm thấy bất kỳ hướng dẫn chi tiết nào.

+0

Hành động được hỗ trợ cho RDS là http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Operations.html – kartik

Trả lời

15

Không thể thực hiện điều này. Proxy dịch vụ API Gateway sẽ chỉ thực hiện các cuộc gọi proxy tới API AWS. API RDS chỉ cho phép bạn thực hiện những việc như tạo cơ sở dữ liệu, xóa cơ sở dữ liệu, chụp nhanh, v.v. Nó không cho phép bạn kết nối và chạy truy vấn đối với cơ sở dữ liệu.

Bạn nên nhìn vào cổng API trỏ tại một hàm Lambda có khả năng kết nối với cơ sở dữ liệu RDS của bạn và chạy truy vấn.

+0

Bạn nói đúng, không có hành động RDS nào mô tả truy vấn sql. Cảm ơn bạn! –

Các vấn đề liên quan