【问题标题】:module initialization error: Error at Object.fs.openSync (fs.js:646:18) at Object.fs.readFileSync (fs.js:551:33)模块初始化错误:Object.fs.readFileSync (fs.js:551:33) 处的 Object.fs.openSync (fs.js:646:18) 错误
【发布时间】:2019-08-17 17:00:17
【问题描述】:

我正在使用 aws lambda。

我有一个.p8 文件,用于发送apns 通知。因为我不能使用相对或绝对路径,因为它是一个服务器少。我必须从 s3 url 读取它。为此我做了这个

let file = ''
https.get("https://my_file_path.p8", response => {
  console.log(response)
})

 this.options = {
    production: this.production,
    token: {
      key: file,
      keyId: this.keyId,
      teamId: this.teamId
    }
  }

现在我如何附加 S3 上的文件缓冲区?

谢谢!!!

【问题讨论】:

  • 你想从s3读取文件吗
  • @RaguSwaminathan 是的
  • 你试过fs包了吗
  • @RaguSwaminathan 是的,但它的服务器更少。我遇到了错误
  • 检查我的答案。让我知道它是否对您有帮助

标签: node.js file aws-lambda serverless-framework serverless


【解决方案1】:

参考下面的sn-p。尝试使用绝对路径而不是相对 '__dirname'

'use strict'

let fs = require("fs")
let path = require("path")

exports.handler = (event, context, callback) => {    
        fs.readFile(__dirname +'/somefile.txt', function (err, data) {
            if (err) throw err
        })
}

更新

如果您想使用 AWS - S3 而不是那些 npm 包,您可以使用 AWS-SDK for nodejs 来读取 S3 文件的内容。 您可以参考此tutorial 从 S3 读取文件。

【讨论】:

    猜你喜欢
    • 2018-10-09
    • 1970-01-01
    • 2018-02-13
    • 2023-03-12
    • 1970-01-01
    • 2020-12-21
    • 2022-07-12
    • 2017-06-18
    • 2021-06-08
    相关资源
    最近更新 更多