我正在尝试转换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
文件不随函数一起发货。
如何在云功能中指定此类文件?
答案 0 :(得分:2)
您的路径引用对于firebase功能来说并不合适。
应该是:
var connectionOptions = {
cert:__dirname + '/cert.pem',
key:__dirname + '/key.pem',
production: true
};