0

現在、私のベアボーン関数はローカルで動作し、authtoken を返します。フォルダーのコンテンツ (フォルダー自体ではなく、以前の落とし穴) を圧縮し、Lambda でアップロード/テストすると、「モジュール 'bl' が見つかりません」というエラーが表示されます。

/var/task/node_modules/googleapis/node_modules/google-auth-library/node_modules/request/request.js:9:10.

bl モジュールはそこにあります。bl だけと googleapis モジュール全体を数回再インストールしようとしました。bl への参照を削除しようとしましたが、何も機能しませんでした。bl を含む request モジュール自体が複数回含まれているので、別の場所で bl を参照してみるかもしれません。モジュールを含めてローカルで機能し、ラムダでは機能しないというのは、私には意味がありません。

私はいくつかの Lambda 関数を作成しましたが、ライブラリを使用して、インラインで記述する代わりに zip をアップロードする必要があったのはこれが初めてです。

どんな助けでも大歓迎です。

var https = require('https');
var google = require('googleapis');
var doc = require('dynamodb-doc');
var dynamo = new doc.DynamoDB(); 

var key = { ... }; 

function requestToken() {
    var scope = 'https://www.googleapis.com/auth/calendar';
    var jwtClient = new google.auth.JWT(key.client_email, null, key.private_key, scope, null);
    jwtClient.authorize(function(err, tokens) {
        if (err) {
          console.log(err);
          return;
        }
        else {
          console.log('token: ' + JSON.stringify(tokens)); // works as intended locally
        }

    });
}

requestToken();
4

1 に答える 1

1

これと同じエラーが発生したばかりで、nodejs.orgからnpmを再インストールするのがうまくいきました

于 2015-12-17T00:16:00.870 に答える