Как загрузить в бакет Yandex Cloud файл, используя axios nodejs?

Для загрузки файла в бакет Yandex Cloud с использованием Axios в Node.js вам потребуется выполнить следующие шаги:

1. Установите пакет Axios, если вы еще этого не сделали, с помощью npm:

npm install axios

2. Импортируйте пакет Axios в вашем скрипте:

const axios = require('axios');

3. Создайте функцию для загрузки файла в бакет Yandex Cloud. Вам потребуется получить токен доступа (IAM-токен) для аутентификации запроса к API Yandex.Cloud. Для этого вы можете использовать соответствующий сервис Yandex OAuth:

async function uploadFileToYandexCloud(filePath, yandexCloudBucket, iamToken) {
    const url = `https://storage.yandexcloud.net/${yandexCloudBucket}/${filePath}`;

    const file = fs.createReadStream(filePath);

    const config = {
        headers: {
            'Content-Type': 'application/octet-stream',
            'Authorization': `Bearer ${iamToken}`
        }
    };

    try {
        const response = await axios.put(url, file, config);
        console.log('File uploaded successfully:', response.data);
    } catch (error) {
        console.error('Error uploading file:', error);
    }
}

// Вызов функции загрузки файла
uploadFileToYandexCloud('local-file.jpg', 'my-yandex-bucket', 'your-iam-token');

4. Убедитесь, что у вас есть необходимые права доступа к бакету Yandex Cloud и корректно настроена аутентификация с помощью IAM-токена.

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

Следуя этим шагам, вы сможете загрузить файл в бакет Yandex Cloud с использованием Axios в своем приложении на Node.js.