2017-08-02 131 views
0

我試圖在AWS Lambda上運行AWS Cognito Identity,嘗試處理用戶在函數中註冊,而不是將所有邏輯放在視圖中。AWS Lambda - Cognito註冊/登錄到node.js lambda函數

首先,這是可能的嗎?

這裏是我做了什麼:

1寫一個lambda函數,使用一些在他們發表的文檔示例代碼AWS的。

  • 安裝了 '亞馬遜cognito身份-JS' 節點的包。

  • 拉鍊這一切,並將其發佈到LAMBDA

  • 這裏是我的函數的前幾行:

    const AWSCognito = require('amazon-cognito-identity-js'); 
    const userPoolId = '<region>-blah'; 
    const clientId = 'blah'; 
    
    AWSCognito.config.region = '<region>'; 
    
    exports.handler = function(event, context, callback) { 
    

    我收到以下錯誤,但:

    { 
        "errorMessage": "Cannot find module '/var/task/index'", 
        "errorType": "Error", 
        "stackTrace": [ 
         "Function.Module._load (module.js:417:25)", 
         "Module.require (module.js:497:17)", 
         "require (internal/module.js:20:19)" 
        ] 
    } 
    

    我環顧了網上和我發現的一切說可能是因爲我zippin它錯了。我有checker,而.zip文件中唯一的東西是node_modules文件夾和我的''userSignUp.js``文件。

    任何人都可以發現我在這裏失蹤的東西,或者它根本不可能嗎?

    回答

    1

    .js文件的代碼叫做「index.js」還是別的?

    如果它不叫做index.js,你會得到錯誤,如果你正確地壓縮它。

    檢查「Handler」參數的功能配置。默認情況下它應該是「index.handler」。假設你的文件名爲xyz.js,那麼你應該改變處理程序爲「xyz.handler」。