在云函数中引用 pem 文件
Reference a pem file in a cloud function
我正在尝试将 firebase-queue
工作人员转换为将推送通知发送到云功能。我正在使用 node-apn
向 iOS 设备发送推送通知。它需要建立一个连接,这需要我指定一个 key.pem
文件和 cert.pem
文件。这些文件存在于 worker js 文件存在的同一位置并且可以正常工作。我将代码移至云函数,但在日志控制台中收到此错误
{ Error: ENOENT: no such file or directory, open './cert.pem'
at Error (native)
errno: -2,
code: 'ENOENT',
syscall: 'open',
path: './cert.pem' } 'Unable to send push notification to iOS device. Socket Error'
下面是指定文件和在代码中创建连接的方式
var connectionOptions = {
cert:'./cert.pem',
key:'./key.pem',
production: true
};
var apnConnection = new apn.Connection(connectionOptions);
我尝试将证书文件指定为 ./cert.pem
和 cert.pem
,但在这两种情况下我都遇到了类似的错误。我想问题是 .pem
文件没有随函数一起提供。
如何在云函数中指定此类文件?
您的路径引用不太适合 firebase 函数。
应该是:
var connectionOptions = {
cert:__dirname + '/cert.pem',
key:__dirname + '/key.pem',
production: true
};
我正在尝试将 firebase-queue
工作人员转换为将推送通知发送到云功能。我正在使用 node-apn
向 iOS 设备发送推送通知。它需要建立一个连接,这需要我指定一个 key.pem
文件和 cert.pem
文件。这些文件存在于 worker js 文件存在的同一位置并且可以正常工作。我将代码移至云函数,但在日志控制台中收到此错误
{ Error: ENOENT: no such file or directory, open './cert.pem'
at Error (native)
errno: -2,
code: 'ENOENT',
syscall: 'open',
path: './cert.pem' } 'Unable to send push notification to iOS device. Socket Error'
下面是指定文件和在代码中创建连接的方式
var connectionOptions = {
cert:'./cert.pem',
key:'./key.pem',
production: true
};
var apnConnection = new apn.Connection(connectionOptions);
我尝试将证书文件指定为 ./cert.pem
和 cert.pem
,但在这两种情况下我都遇到了类似的错误。我想问题是 .pem
文件没有随函数一起提供。
如何在云函数中指定此类文件?
您的路径引用不太适合 firebase 函数。
应该是:
var connectionOptions = {
cert:__dirname + '/cert.pem',
key:__dirname + '/key.pem',
production: true
};