2016-03-19 68 views
8

我是API新手,我試過的是一個非常強大的工具。對於我正在工作的項目,我們正在RDS中使用PostgreSQL實例。我已經看到可以從API Gateway直接訪問DynamoDB表,所以我想知道是否有辦法爲關係數據庫這樣做。所以,我創建了一個帶有GET方法的資源和配置它連接到我的數據庫,但我不知道我是否使用正確的參數:是否可以直接從API網關查詢Amazon RDS實例?

Provided information about the target backend

所以我不知道在爭論每個設置的字段。在AWS Subdomain中,我寫了公共URL,就好像我是從我的pgAdmin客戶端連接我的一樣(沒有端口導致完整的結構未被接受,所以我知道自己做的不好)。在此之前,我試圖用我的RDS資源的ARN,卻出現了這樣的錯誤:

AWS ARN for integration must contains path or action 

執行的角色,我創建一個用政策來訪問我的Postgres的資源。

閱讀RDS文檔我發現可以使用HTTP動詞GET或POST和Query參數命名爲Action的RDS中的查詢API,所以我試圖弄清楚如何以這種方式放置我的查詢語句:

HTTP Query-based requests

但是當我測試的方法,這是響應正文:

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

這是這些日誌:

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 

我知道我做了很多錯誤的事情,所以有人知道如果這實際上是可能的,以及如何做到這一點,因爲我還沒有找到任何詳細的教程。

+0

RDS支持的操作是http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Operations.html – kartik

回答

15

不,這是不可能的。 API網關服務代理只會將調用代理委託給AWS API。 RDS API只允許您執行諸如創建數據庫,刪除數據庫,創建快照等的功能。它不允許您針對數據庫連接和運行查詢。

您應該查看指向API網關的Lambda函數,該函數可以連接到您的RDS數據庫並運行查詢。

+0

你是對的,沒有RDS操作描述sql查詢。謝謝! –