Как я могу вызвать API AWS для добавления элемента в таблицу DynamoDB через URL-адрес?

Итак, я пытаюсь выполнить запрос PutItem из моего шлюза AWS API. Я пытаюсь сделать это, используя путь /storeid/{username}/{password}. Я сделал сопоставление как json, и тест в API работает отлично, и я вижу, что мои данные отображаются в моей таблице DynamoDB, но когда я развертываю API и пытаюсь вызвать этот запрос, я получаю следующий ответ: {message:Missing Authentication Token }. Этот запрос не требует авторизации или ключа API. Почему тест работает, но не URL-адрес при вызове. ps-да, я ввел правильный URL

Пожалуйста помоги!


person Joshua Meier    schedule 06.10.2020    source источник
comment
Отвечает ли это на ваш вопрос? Отсутствует токен аутентификации при доступе к шлюзу API?   -  person JD D    schedule 06.10.2020


Ответы (1)


Несколько вещей, чтобы проверить

  1. Убедитесь, что для параметра Авторизация установлено значение Нет (т. е. не IAM) в настройках запроса метода.
  2. Убедитесь, что вы развернули изменения API на своей сцене. В консоли выберите Действия -> Развернуть API.
  3. После развертывания URL-адрес для использования должен отображаться при выборе этапа, на который вы были развернуты. Убедитесь, что вы используете правильный URL.

Кроме того, обратите внимание, что это действительно плохая идея - помещать пароли в ваш URL-адрес или параметры запроса. Рассмотрите возможность отправки данных в теле запроса как POST и выполнения чего-то вроде HTTPS и хеширования для защиты пароля.

person JD D    schedule 06.10.2020
comment
Извините, я не указал контекст этого вопроса. Я делаю это для школьного проекта, поэтому все данные будут составлены и использованы только моей проектной командой и мной. Я много раз выполнял ваши шаги с 1 по 3. Я все еще получаю сообщение об отсутствующем токене. Я перечислил метод как пост, а действие — PutItem. Не уверен, что еще я могу сделать, я исследовал / пробовал это в течение недели, и я не смог понять это. - person Joshua Meier; 06.10.2020
comment
прочитайте различные ответы по ссылке, которую я добавил в комментариях, есть много причин отсутствия токена аутентификации - person JD D; 06.10.2020
comment
Кроме того, если вы указываете свое действие как POST, нажатие URL-адреса в браузере выполняет GET и не будет работать ... как вы вызываете запрос POST? Возможно, попробуйте что-то вроде Postman - person JD D; 06.10.2020
comment
Присланную Вами ссылку я уже прочитал и она ко мне не относилась. Будет ли разница, если я изменю запрос на PUT? я посмотрю на Postman, так как я видел несколько видеороликов на YouTube, где люди его используют, я просто понятия не имел, что это такое. Большое спасибо за ответ и помощь кстати!!!! - person Joshua Meier; 06.10.2020
comment
PUT здесь не имеет значения, URL-запрос браузера по умолчанию является GET, и вам нужно будет сделать что-то другое, чтобы сделать запрос POST или PUT. Postman должен помочь, и это популярный инструмент для тестирования REST API, который позволяет вам указать действие HTTP и добавить заголовки и тело к вашему запросу без необходимости писать явный код для тестирования. - person JD D; 06.10.2020
comment
Я не хочу спрашивать больше, но я использовал почтальона и могу проверить API, и он работает правильно с почтальоном. Я просто использую часть кода для выполнения этого почтового запроса или мне нужно сделать что-то еще? Извините, я все еще новичок в этом виде программирования - person Joshua Meier; 11.10.2020