Если я настрою ведро s3 для хостинга веб-сайтов stati c, могу ли я загрузить в него ресурсы через API? - PullRequest
1 голос
/ 17 апреля 2020

У меня есть корзина s3, которую я настроил для хостинга веб-сайтов stati c, теперь мне часто приходится менять ресурсы моего веб-сайта, у меня уже есть собственный инструмент для загрузки ресурсов в другое ведро, можно ли загрузить файлы в мою корзину s3 через AWS API?

Ответы [ 2 ]

1 голос
/ 17 апреля 2020

Вы можете загрузить в ведро S3, используя AWS -SDK.

NPM пакет: https://www.npmjs.com/package/aws-sdk

            // Load the AWS SDK for Node.js
            var AWS = require('aws-sdk');
            // Set the region 
            AWS.config.update({ region: 'REGION' });

            // Create S3 service object
            s3 = new AWS.S3({ apiVersion: '2006-03-01' });

            const s3 = new AWS.S3();
            const params = {
                Bucket: S3_BUCKET, //bucket name
                Key: `${s3Folder}/${filename}`, // type is not required
                Body: base64, //image base64
                ACL: 'public-read',
                ContentEncoding: 'base64', // required
                ContentType: `image/${fileType}` // required. Notice the back ticks
            }

            let location = '';
            let key = '';
            try {
                const { Location, Key } = await s3.upload(params).promise();
                location = Location;
                key = Key;
                console.log({ location, key })
            } catch (error) {
                console.log("Error", error)
            }

Подробнее @ AWS Документация: https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/getting-started-nodejs.html

0 голосов
/ 17 апреля 2020

Да, это совершенно приемлемый способ загрузки новых ресурсов, а не то, как я это делаю, но он должен работать просто отлично, в конечном счете, как бы вы ни выбрали загрузку этих активов, скорее всего, под прикрытием он использует те же вызовы API в любом случае.

...