Как аутентифицировать js websocket для почтового запроса gremlin на конечной точке AWS neptune - PullRequest
0 голосов
/ 18 июня 2020

Я работаю над настройкой кода javascript для запуска запроса POST к настроенной конечной точке AWS. Для доступа требуется аутентификация, и я могу протестировать и вернуть данные с помощью почтальона, где я установил тип аутентификации AWS Подпись и установил свои ключи доступа и секретные ключи. Я знаю, что вставлять их в код - плохая практика, но меня это устраивает, по крайней мере, в краткосрочной перспективе для тестирования нового кода, которому нужно то, что возвращается из запроса (или если кто-то может указать правильный способ сделать это, это будет тоже отлично).

Конечная точка позволяет мне подключиться к Aws базе данных Neptune, которая настроена, и для ее запроса используется gremlin. Вот URL-адрес сообщения, который в настоящее время работает в почтальоне (очевидно, с обфусцированной основной частью:

https://asfgawr123.us-west-423.amazonaws.com/v0/lambda?gremlin=g.V (). Has ("item", "1956"). Values ​​(" title ")

Дайте мне знать, если я недостаточно прояснил.

Заранее спасибо за любую помощь!

1 Ответ

1 голос
/ 19 июня 2020

Я нашел ответ благодаря способности почтальона, я не знал, где вы можете увидеть код запроса в разных форматах.

enter image description here

Я использовал формат jquery, который получился так:

var settings = {
  "url": "https://asfgawr123.us-west-423.amazonaws.com/v0/lambda?gremlin=g.V().has(\"item\",\"1956\").values(\"title\")",
  "method": "POST",
  "timeout": 0,
  "headers": {
    "X-Amz-Date": "20200618T212931Z",
    "Authorization": "AWS4-HMAC-SHA256 Credential=<credentialstring>, SignedHeaders=host;x-amz-date, Signature=<SignatureString>"
  },
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
...