amazon-s3 - 自动更新程序不适用于Amazon S3专用存储桶

标签 amazon-s3 electron electron-builder electron-updater

  • 版本:
    22.9.1

  • Electron 版本:
  • Electron 类型(当前,beta,夜间):
    11.1.0(稳定)
  • 目标:
    Mac OS 11.1
  • Electron 更新程序版本:
    4.3.5

  • 我将S3设置为private(see screen),然后将以下内容放入更新脚本中:
    .......
    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>
    
    .....
    
    有人为我提供解决方案吗?

    最佳答案

    我的解决方案:
    我将FeedUrl设置为autoUpdater autoUpdater.setFeedURL('https://[BUCKET].s3.[REGION].amazonaws.com');

    关于amazon-s3 - 自动更新程序不适用于Amazon S3专用存储桶,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65914263/

    相关文章:

    java - 如何将文件从一个 S3 客户端移动到另一个 S3 客户端

    node.js - 如何修复 "Cannot Find Module node_sqlite3.node",当它在生产中工作但在发布时抛出此错误

    node.js - 如何为 Electron 版本 4.1.4 重建 zeromq.js 绑定(bind)?

    python - 如何更改 Amazon S3 中对象的元数据

    hadoop - Flume 使用 ec2 实例 IAM 凭证汇入 s3

    node.js - 使用spawn方法从 Electron 应用程序运行子进程时出现问题

    electron - 在 linux 中使用 Vue CLI Plugin Electron Builder 为 windows 构建可执行文件

    javascript - 使用 Electron 应用 Sqlite/Any SQL 数据库迁移 [Windows, Mac]

    electron - 在哪里可以为 Electron 生成器指定通用发布选项的URL?

    amazon-web-services - 如何在删除空 S3 Elastic Beanstalk 时修复 'Access Denied'?