Lambda 部署中的 Snowflake-sdk 错误“请手动安装 snowflake-sdk 包”

问题描述 投票:0回答:0

我使用 Node Typescript 开发了一个无服务器应用程序,在无服务器离线模式下运行应用程序时没有问题。但是,当部署到 AWS Lambda 时,我收到诸如

{     "message": "Internal server error" }
之类的错误 Snowflake 通过 NodeJS Sequelize ORM 连接, 有一条错误消息说要手动安装 snowflake-sdk 包。 snowflake-sdk 层已创建并添加到 lambda 函数中,但我仍然收到相同的错误消息。

Response { "errorType": "Error", "errorMessage": "Please install snowflake-sdk package manually", "trace": [ "Error: Please install snowflake-sdk package manually", "at ConnectionManager._loadDialectModule (/node_modules/sequelize/src/dialects/abstract/connection-manager.js:81:15)", "at ConnectionManager (/node_modules/sequelize/src/dialects/snowflake/connection-manager.js:21:21)", "at SnowflakeDialect (/node_modules/sequelize/src/dialects/snowflake/index.js:15:30)", "at Sequelize2 (/node_modules/sequelize/src/sequelize.js:368:20)", "at Object.<anonymous> (/src/models/index.ts:8:19)", "at Module._compile (node:internal/modules/cjs/loader:1165:14)", "at Object.Module._extensions..js (node:internal/modules/cjs/loader:1219:10)", "at Module.load (node:internal/modules/cjs/loader:1043:32)", "at Function.Module._load (node:internal/modules/cjs/loader:878:12)", "at Module.require (node:internal/modules/cjs/loader:1067:19)", "at require (node:internal/modules/cjs/helpers:103:18)", "at _tryRequireFile (file:///var/runtime/index.mjs:911:37)", "at _tryRequire (file:///var/runtime/index.mjs:961:25)", "at _loadUserApp (file:///var/runtime/index.mjs:990:22)", "at Object.UserFunction.js.module.exports.load (file:///var/runtime/index.mjs:1031:27)", "at start (file:///var/runtime/index.mjs:1194:42)", "at file:///var/runtime/index.mjs:1200:7", "at ModuleJob.run (node:internal/modules/esm/module_job:193:25)", "at async Promise.all (index 0)", "at async ESMLoader.import (node:internal/modules/esm/loader:530:24)", "at async loadESM (node:internal/process/esm_loader:91:5)", "at async handleMainPromise (node:internal/modules/run_main:65:12)" ] }

这里是连接数据库的代码

` import { AppConfig } from "../config/config"
    const Sequelize = require("sequelize");
    const sequelize = new Sequelize(
      AppConfig.db_db_name,
      AppConfig.db_user,
      AppConfig.db_pass,
      {
        host: AppConfig.db_host,
        dialect: AppConfig.dialect,
        // operatorsAliases: false,
        schema: AppConfig.schema,
        account: AppConfig.account,
        role:AppConfig.role,
        
        pool: {
          max: 5,
          min: 0,
          idle: 30000,
          acquire: 60000,
        },
        dialectOptions: {
          role: AppConfig.role,
          schema: AppConfig.schema//'DEV',
        },
      });
      
    export const db: any = {
      Sequelize: Sequelize,
      sequelize: sequelize,
      UserModel: require("./UserModel")(sequelize, Sequelize)
    }`

请帮忙解决问题

node.js lambda sequelize.js snowflake-cloud-data-platform serverless
© www.soinside.com 2019 - 2024. All rights reserved.