Ошибка GET-запроса AstraDB

Я работаю над приложением-клоном TikTok. Итак, я создал свою базу данных с помощью Astra DB и настроил две функции внутри папки функций, чтобы проверить, работают ли мои сообщения. Я использую netlify dev для тестирования приложений. Но когда я перенаправляю http: // localhost:8888 / .netlify / functions / addData, я получаю эту ошибку неудачного запроса на получение

      Request from ::1: GET /.netlify/functions/addData
Error: Request Failed: [object Object]
Stack Trace: Request failed with status code 401
    at axiosRequest (D:\tiktokclone\node_modules\@astrajs\rest\src\rest.js:126:11)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at async AstraClient._request (D:\tiktokclone\node_modules\@astrajs\rest\src\rest.js:199:22)
    at async AstraClient.put (D:\tiktokclone\node_modules\@astrajs\rest\src\rest.js:263:12)
    at async AstraCollection._put (D:\tiktokclone\node_modules\@astrajs\collections\src\collections.js:69:22)
    at async Object.exports.handler (D:\tiktokclone\functions\addData.js:17:9)
Response with status 500 in 231 ms.

Я совершенно не понимаю, чем это вызвано. Все учетные данные в моей папке .env были правильными.

1 ответ

Нашел исправление. По какой-то причине я пытался вызвать API с помощью токена приложения, и он выдавал мне ошибку 401. Когда я использовал имя пользователя и пароль, это сработало.

       const astraClient = await createClient({
  astraDatabaseId: process.env.ASTRA_DB_ID,
  astraDatabaseRegion: process.env.ASTRA_DB_REGION,
  username: process.env.ASTRA_DB_USERNAME,
  password: process.env.ASTRA_DB_PASSWORD,

});

имя пользователя - это идентификатор клиента, а пароль - это секрет клиента. Эта ошибка произошла из-за небольшой путаницы с REST API и Document API. Astra DB использует токен приложения для аутентификации API документа, в то время как REST API использует идентификатор клиента и пароль.

Другие вопросы по тегам