Articles of function

在Firebase云端函数中使用toLocaleString格式化货币值

我正在尝试根据node.js中的toLocaleString为firebase云function设置一个double值。 这是我使用的代码: PriceFormated = Price.toFixed(2).toLocaleString("de-DE", {style: "currency", currency: CurrencySymbol}); console.log('Price:',PriceFormated) 其结果是:“价格:1984.00” 但应该是:“价格:1.984,00” 作为参考,请查看: http : //droidscript.org/javascript/Global_Objects/Number/toLocaleString().html或https://www.jsman.net/manual/Standard-Global-Objects/Number/toLocaleString 代码中是否有错误,或firebase云function是否按预期工作?

从Google云端存储中读取图片,并使用Google云端function进行发送

我想执行以下操作:创buildGoogle Cloud Function(http触发),只需从存储桶中读取图像文件(Google Cloud Storage)并将其作为响应发送。 我试过一些组合,我认为它应该是这样的: 'use strict'; const gcs = require('@google-cloud/storage')(); exports.sendImage = function sendImage(req, res) { let bucket = gcs.bucket('my-bucket-name'); let myImage = bucket.file('my-image-file.jpg'); res.contentType('image/jpeg'); res.end(myImage, 'binary'); }; 上面的function部署成功,但是当我触发它只是使用url(在浏览器),它没有显示任何结果。 我尽可能简单地做到这一点,因为如果它与一个图像一起工作,我可以改进代码来调用任何图像。 我的最终目标是在此post中显示类似的内容: https : //medium.com/google-cloud/uploading-resizing-and-serving-images-with-google-cloud-platform-ca9631a2c556 但在Google Cloud Functions上运行。 如果我设法发送一个简单的图像,我可以使用一些模块,如node-image-resize到最终结果。

从Azurefunction提供HTML文件时出错

我正尝试使用Azure函数打开,读取并返回一个HTML文件。 我在本地开发和日志说,function成功执行,但在浏览器中,我得到500内部服务器错误。 我在这里做错了什么? const fs = require('fs'); const path = require('path'); const mime = require('../node_modules/mime-types'); module.exports = function (context, req) { const staticFilesFolder = 'www/build/'; const defaultPage = 'index.html'; getFile(context, req.query.file); function getFile(context, file) { const homeLocation = process.env["HOME"]; if(!file || file == null || file === undefined){ context.done(null,{status:200,body:"<h1>Define a file</h1>",headers:{ "Content-Type":" text/html; charset=utf-8" }}); […]

在通过file.createWriteStream()传输到GCP时,获取ESOCKETTIMEOUT,ECONNRESET或套接字会挂载大文件。

在尝试通过Google云端function将大文件(> 50MB)上传到Google云端存储时,根据我设置的选项,我遇到了这些例外: 当设置请求选项'永远:错误'我得到:错误:套接字挂断 当设置请求选项'resumable:true'时,我得到:Error:write ECONNRESET 当设置请求选项“可恢复:错误”我得到:错误:ESOCKETTIMEDOUT可恢复:假 这是我使用的代码: function uploadFile(bucketName, filename, data) { console.log("Starting uploading blob…"); const Storage = require('@google-cloud/storage'); console.log("Creating client…"); const storage = new Storage(); storage.interceptors.push({ request: function(reqOpts) { reqOpts.forever = false; return reqOpts } }); console.log("Getting bucket " + bucketName + "…"); const bucket = storage.bucket(bucketName); console.log("Creating file " + filename + "…"); […]

firebase表示云function错误

我一直想疯狂得到这个firebase的http函数与Cors工作。 基本上,我在本地服务pipe理员SDK来validation某个用户令牌是否具有pipe理权限。 令牌通过get请求作为url中的参数发送。 我目前正在得到一个404错误,并且在请求的资源上出现“No”Access-Control-Allow-Origin“头”错误。 我已经尝试重新安排我的代码一堆不同的方式,包括firebase如何在文档中做到这一点,但总是最终得到的Cors随着404或500错误。 const functions = require('firebase-functions'); const admin = require('firebase-admin'); const cors = require('cors'); const express = require('express'); const corsOptions = { origin: '*', allowedHeaders: ['Content-Type', 'Authorization', 'Content-Length', 'X-Requested-With', 'Accept'], methods: ['GET', 'PUT', 'POST', 'DELETE', 'OPTIONS'], optionsSuccessStatus: 200 }; let app = express() app.use(cors); app.get('/AdminSignIn/:token',(req, res) => { cors(corsOptions,(req,res) =>{ admin.auth.verifyIdToken(req.params.token).then((claims) => […]

nodejs:没有返回值的函数模​​板

我遵循node.js的指令来实现工厂包装对象。 到目前为止它的工作。 但是我没有得到的是一个没有返回值的函数。 即:(在链接中的例子的扩展) 在myObject.h : tpl->PrototypeTemplate()->Set(String::NewSymbol("some"), FunctionTemplate::New(something)->GetFunction()); static void something (const v8::Arguments& args); 和myObject.cc void MyObject::something(const Arguments& args) { .. something without return value … } 不起作用。 为什么? 我得到以下错误: error: invalid conversion from 'void (*)(const v8::Arguments&)' to 'v8::InvocationCallback {aka v8::Handle<v8::Value> (*)(const v8::Arguments&)}' [-fpermissive] error: initializing argument 1 of 'static v8::Local<v8::FunctionTemplate> v8::FunctionTemplate::New(v8::InvocationCallback, v8::Handle<v8::Value>, v8::Handle<v8::Signature>)' [-fpermissive] […]

BigQuery Node.js api创build外部表

我正尝试使用node.js API从Google云端函数创build外部表格。 该function将从GCS桶更改中触发。 我可以创build一个本地表,但不能创build一个外部表。 在这里用于导入的node.js api中,configuration.load元数据没有设置来将其指定为外部表。 这里是我的代码本地表创build到现在。 我的问题是“如何使用Node.js Api为GCS存储桶创build外部表” const projectId = "N" const bigquery = BigQuery({ projectId: projectId }); const storage = Storage({ projectId: projectId }); const dataset = bigquery.dataset("dataset"); const table = dataset.table("test_data"); const bucket = storage.bucket("my-bucket"); const file = bucket.file("2017/03/02/*"); let job; // Imports data from a GCS file into a table […]

Google Cloud Storage(Js),asynchronous/等待和云function错误

这是现在解决在GOOGLE侧 Google Cloud NodeJs库现在已经集成了修复程序。 保持这个问题仅供参考。 原文问题 我希望我的代码干净(er),并使用Typescript&async /等待编写访问Google云端存储的Cloud Functions。 我的tsconfig.json一些重要部分: { "compilerOptions": { "declaration": false, "target": "es6", "module": "commonjs", "noImplicitAny": true, "removeComments": true, "noUnusedLocals": true, "moduleResolution": "node", "sourceMap": false, "typeRoots": [ "node_modules/@types" ], "lib": [ "es2016" ], "emitDecoratorMetadata": true, "experimentalDecorators": true, "outDir": "./" } } 我遇到的第一个错误是ECONNRESET ,我正在打这样的电话,可能是这样的: await bucket.file(path).download({ destination: tempFilePath }) 我已经算出了function的其余部分没有等到这一行完成,整个function执行结束之前,文件从GCS下载到临时path。 所以我把这一节放到try / […]

如何调用多个API在节点js中同步

var Connection = require('tedious').Connection; var Request = require('tedious').Request; var config = { userName: 'XXXX', password: 'XXXX', server: 'XXXX', options: { database: 'XXXX', encrypt: true } } var connection = new Connection(config); connection.on('connect', function (err) { if (err) { console.log(err); } else { // // queryDatabase(); } } ); 如何调用“连接”同步并继续代码的顺序stream程。 由于代码的asynchronous执行,代码中存在巨大的链接。 在js节点中实现代码的顺序执行的最好方法是什么? 我find了一些图书馆https://www.npmjs.com/package/sync ,但不认为用于生产目的。

BigQuery Node.js API startQuery不会将数据注入到destinationTable中

考虑下面的BQ查询: const sourceQuery = '#standardSQL SELECT station_id, time FROM bryans_bike_analysis_data.2016_status_data ' + 'WHERE SAFE_CAST(bikes_available as INT64)=0 AND SAFE_CAST(docks_available AS INT64)=0' + 'GROUP BY station_id, time'; 并考虑以下代码(放置在Google云端函数中 – 删除了一些内容,保持简短): bqSource.startQuery({ destination: bqDest.dataset(destDataset).table(destTable), query: sourceQuery }, function(err, job) { if (!err) { console.log("Succesfully initialized query"); job.getQueryResults(function(err, rows, apiResponse) { if (!err) { console.log("Successfully completed inner"); console.log(apiResponse); } […]