2016-03-19 2 views
8

Я новичок в API Gateway, и, насколько я пробовал, это действительно мощный инструмент. Для проекта, над которым я сейчас работаю, мы используем экземпляр PostgreSQL в RDS. Я видел, что можно напрямую обращаться к таблицам DynamoDB из Gateway API, поэтому мне было интересно, есть ли способ сделать это для реляционных баз данных. Так что я создал ресурс с методом GET и настроить его для подключения к базе данных, но я не был уверен, что если бы я использовал правильные параметры:Возможно ли запросить экземпляр RDS Amazon непосредственно из шлюза API?

Provided information about the target backend

Так что я не был уверен, что аргументы в поле каждой настройки. В субдомене AWS я написал общедоступный URL-адрес, как будто я связывал меня с моим клиентом pgAdmin (ни один порт не вызвал полную структуру, поэтому я знаю, что я делаю что-то плохое). До этого я попытался с помощью ARN моего RDS ресурса, но появилась эта ошибка:

AWS ARN for integration must contains path or action 

Для роли исполнения я создал один с политикой, чтобы получить доступ к своему Postgres ресурса.

Чтение документации RDS Я узнал, что можно использовать API запросов из RDS с помощью HTTP-глагола GET или POST и параметра Query с именем Action, поэтому я попытался выяснить, как разместить запрос запроса таким образом:

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 Gateway будет выполнять только прокси-вызовы в AWS API. RDS API позволяет вам делать такие вещи, как создание базы данных, удаление базы данных, создание моментальных снимков и т. Д. Это не позволяет вам подключать и запускать запросы к базе данных.

Вы должны обратиться к указательному API-шлюзу с помощью функции Lambda, которая имеет возможность подключаться к вашей базе данных RDS и запускать запросы.

+0

Вы правы, ни одно из действий RDS не описывает SQL-запрос. Спасибо! –

 Смежные вопросы

  • Нет связанных вопросов^_^