Ошибка при попытке загрузить файл с S3

Я пытаюсь скачать zip из корзины S3, используя следующий код:

    AWS.config.update({
        region: AWSRegion,
        credentials: new AWS.CognitoIdentityCredentials({
            IdentityPoolId: AWSIdentityPoolId
        })
    });

    const s3 = new AWS.S3({
        apiVersion: '2006-03-01'
    });

    let file = window.require('fs').createWriteStream(path.join(app.getAppPath(), './downloads/'));
    let params = {
        Bucket: AWSS3BucketName,
        Key: 'build.zip'
    }

    s3.getObject(params).createReadStream().pipe(file);

Но когда код достигает createReadStream() вызов функции выдает ошибку: ERROR TypeError: Cannot read property 'Stream' of undefined которая вызывается следующей строкой кода в пакете aws-sdk:

stream = new streams.Stream(); (request.js: 574)

Видимо объект AWS.util.stream (request.js:566) всегда не определено.

Я уже давно сталкиваюсь с этой проблемой и нигде не могу найти решения.

Кто-нибудь знает, что я здесь делаю не так?

заранее спасибо.

PS: это мой package.json

{
  "name": "angular-electron",
  "version": "3.0.1",
  "description": "Angular 5 with Electron (Typescript + SASS + Hot Reload)",
  "homepage": "https://github.com/maximegris/angular-electron",
  "author": {
    "name": "Maxime GRIS",
    "email": "maxime.gris@gmail.com"
  },
  "keywords": [
    "angular",
    "angular 5",
    "electron",
    "typescript",
    "sass"
  ],
  "main": "main.js",
  "private": true,
  "scripts": {
    "postinstall": "npx electron-builder install-app-deps",
    "ng": "ng",
    "start": "node hooks/environments/set_profile.js && npm-run-all -p ng:serve electron:serve",
    "build": "node hooks/environments/set_profile.js && ng build && npm run electron:tsc",
    "build:prod": "node hooks/environments/set_profile.js && ng build --prod && npm run electron:tsc",
    "ng:serve": "ng serve -o",
    "electron:tsc": "tsc main.ts",
    "electron:serve": "wait-on http-get://localhost:4200/ && npm run electron:tsc && electron . --serve",
    "electron:local": "npm run build:prod && electron .",
    "electron:linux": "npm run build:prod && npx electron-builder build --linux",
    "electron:windows": "npm run build:prod && npx electron-builder build --windows",
    "electron:mac": "npm run build:prod && npx electron-builder build --mac",
    "test": "karma start ./karma.conf.js",
    "pree2e:build": "webdriver-manager update --gecko false && npm run ng:serve",
    "pree2e:protractor": "wait-on http-get://localhost:4200/ && protractor ./protractor.conf.js",
    "e2e": "npm-run-all -p pree2e:build pree2e:protractor"
  },
  "devDependencies": {
    "@angular/cli": "1.7.1",
    "@angular/common": "5.2.5",
    "@angular/compiler": "5.2.5",
    "@angular/compiler-cli": "5.2.5",
    "@angular/core": "5.2.5",
    "@angular/forms": "5.2.5",
    "@angular/http": "5.2.5",
    "@angular/language-service": "5.2.5",
    "@angular/platform-browser": "5.2.5",
    "@angular/platform-browser-dynamic": "5.2.5",
    "@angular/router": "5.2.5",
    "@ngx-translate/core": "9.1.1",
    "@ngx-translate/http-loader": "2.0.1",
    "@types/core-js": "0.9.36",
    "@types/jasmine": "2.8.3",
    "@types/jasminewd2": "2.0.2",
    "@types/node": "^7.0.7",
    "codelyzer": "4.0.1",
    "copyfiles": "1.2.0",
    "core-js": "2.4.1",
    "cross-env": "5.0.5",
    "dotenv": "5.0.0",
    "electron": "1.8.2",
    "electron-builder": "20.0.5",
    "electron-reload": "1.2.2",
    "enhanced-resolve": "3.3.0",
    "fs-extra": "5.0.0",
    "jasmine-core": "2.99.1",
    "jasmine-spec-reporter": "4.2.1",
    "karma": "2.0.0",
    "karma-chrome-launcher": "2.2.0",
    "karma-coverage-istanbul-reporter": "1.4.1",
    "karma-jasmine": "1.1.1",
    "karma-jasmine-html-reporter": "0.2.2",
    "npm-run-all": "4.1.2",
    "npx": "9.7.1",
    "protractor": "5.3.0",
    "replace": "0.3.0",
    "rxjs": "5.5.6",
    "ts-node": "4.1.0",
    "tslint": "5.9.1",
    "typescript": "2.6.2",
    "wait-on": "^2.1.0",
    "webdriver-manager": "12.0.6",
    "zone.js": "0.8.19"
  },
  "dependencies": {
    "@ng-bootstrap/ng-bootstrap": "^1.0.1",
    "angular-font-awesome": "^3.1.2",
    "aws-sdk": "^2.211.0",
    "font-awesome": "^4.7.0"
  }
}

0 ответов

Другие вопросы по тегам