2016-03-19 15 views
8

私はAPI Gatewayを初めて使いました。これまでに試みたことは、本当に強力なツールです。私が今作業しているプロジェクトでは、RDSでPostgreSQLインスタンスを使用しています。私は、API GatewayからDynamoDBテーブルに直接アクセスすることが可能であることを見てきました。だから、リレーショナルデータベースのためにそうする方法があるのだろうかと思っていました。だから私は、GETメソッドでリソースを作成し、自分のデータベースに接続するように設定し、私は右のパラメータを使用した場合、私はわかりませんでした: API GatewayからAmazon RDSインスタンスを直接照会することはできますか?

Provided information about the target backend

だから私は、引数について確認されませんでした各設定のフィールド。 AWSサブドメインでは、pgAdminクライアントから私を接続しているかのようにパブリックURLを書きました(ポート全体が受け入れられなかったため、私は何か悪いことをしています)。その前に私は私のRDSリソースのARNを使用してみましたが、このエラーが登場:実行の役割については

AWS ARN for integration must contains path or action 

を私はPostgresのリソースにアクセスするためのポリシーに1を作成しました。

RDSドキュメントの読み込みHTTP動詞GETまたはPOSTと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ゲートウェイは、RDSデータベースに接続してクエリを実行できるラムダ関数で探す必要があります。

+0

です。正しいですが、RDSアクションのいずれもSQLクエリを記述していません。ありがとうございました! –

関連する問題