Ошибка 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 использует идентификатор клиента и пароль.