Автоматическое обновление не работает для частной корзины Amazon S3

#amazon-s3 #electron #electron-builder #electron-updater

#amazon-s3 #electron #electron-builder #электронное обновление

Вопрос:

  • Версия: 22.9.1
  • Электронная версия:
  • Тип электронного (текущий, бета-версия, еженедельный): 11.1.0 (стабильный)
  • Цель: mac OS 11.1
  • Версия Electron Updater: 4.3.5

Я установил для своего S3 значение private (см. Экран), а затем поместил следующее в свой сценарий обновления:

 .......
autoUpdater.on('checking-for-update', () => {
            if (w !== undefined) {
                w.get('settings').content().send('check-for-updates-begin');
            }

            let opts = {
                service: 's3',
                region: 'eu-central-1',
                host: s3_bucket   '.s3.eu-central-1.amazonaws.com',
                path: '/latest-mac.yml' // For example....
            };
            aws4.sign(opts, {
                accessKeyId: "XXXXX",
                secretAccessKey: "XXXXXXXX"
            });

            autoUpdater.requestHeaders = opts.headers;
        });
........
 

К сожалению, затем я получаю следующую ошибку:

 Error: HttpError: 403 Forbidden
"<?xml version="1.0" encoding="UTF-8"?>n<Error><Code>SignatureDoesNotMatch</Code><Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message>

.....
 

У кого-нибудь есть решение для меня?

Ответ №1:

Мое решение:

Я установил FeedUrl для автоматического обновления autoUpdater.setFeedURL('https://[BUCKET].s3.[REGION].amazonaws.com');