私はAPI Gatewayを使い始めたばかりですが、これまでに試したところ、本当に強力なツールです。現在作業中のプロジェクトでは、RDSでPostgreSQLインスタンスを使用しています。 APIゲートウェイからDynamoDBテーブルに直接アクセスできることを確認したので、リレーショナルデータベースにアクセスする方法はないかと考えていました。そのため、GETメソッドを使用してリソースを作成し、データベースに接続するように構成しましたが、正しいパラメーターを使用しているかどうかはわかりませんでした。
そのため、各設定のフィールドの引数については確信が持てませんでした。 AWSサブドメインでは、pgAdminクライアントから接続しているようにパブリックURLを書きました(ポートがないため、構造全体が受け入れられなかったため、何か悪いことをしていることがわかります)。その前に、RDSリソースのARNを使用しようとしましたが、次のエラーが表示されました。
AWS ARN for integration must contains path or action
実行ロールについては、Postgresリソースにアクセスするためのポリシーを備えたロールを作成しました。
RDSのドキュメントを読んで、HTTP動詞GETまたはPOSTとActionという名前のクエリパラメータを使用してRDSからクエリAPIを使用できることがわかったので、クエリを配置する方法を見つけようとしましたこのようにステートメント:
しかし、メソッドをテストすると、これは応答本体です。
{
"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
私は多くのことを間違っていることを知っているので、これが実際に可能であるかどうか、そしてそれを行う方法を誰かが知っています。詳細なチュートリアルがまだ見つからないためです。
いいえ、これは不可能です。 API Gatewayサービスプロキシは、AWS APIへの呼び出しのみをプロキシします。 RDS APIは、データベースの作成、データベースの削除、スナップショットの取得などの操作のみを許可します。データベースに対して接続してクエリを実行することはできません。
RDSデータベースに接続してクエリを実行する機能を持つLambda関数でAPI Gatewayをポイントすることを検討する必要があります。