Tag: gcloud

Gcloud ApiError:权限不足,即使相同的API将文件写入存储

我在这里不知所措 我的节点代码成功上传文件到gcloud存储,但似乎无法使文件公开,甚至改变acl。 其实这个文件是用gcloud存储的,但是不能把相同的文件制作成public。 返回的错误是 {[ApiError:Insufficient Permission]错误:[{domain:'global',reason:'insufficientPermissions',message:'Insufficient Permission'}],code:403,message:'Permission Permission',response:undefined} 这里是我的代码(假设这个代码在STREAM中,就是stdout.pipe) var gcs = GLOBAL.gcloud.storage(); var bucket = gcs.bucket(GLOBAL.storage_names.products); var file = bucket.file('images/'+targetValue+'_'+filename); stdout.pipe(file.createWriteStream()) .on('error', function(err) { var msg = { "status":"Error" "err":err }; console.log(msg); }) .on('finish', function() { // The file upload is complete. console.log("Successfully uploaded "+targetValue+'_'+filename); file.acl.add({ entity: 'allUsers', role: gcs.acl.READER_ROLE }, function(err, aclObject) { […]

Google云存储使用节点js

我需要使用谷歌云和节点js上传和分享我的文档。 我创build了一个Google云帐户,并使用console.developers.google.com网页在Google存储中创build了存储桶,文件夹和对象。 我有些疑惑 为单个项目创build了多less桶(如果可能的话) 创造100万桶?) 如何共享文件夹? 如果可以使用授权令牌来访问存储桶中的对象(对于公共来说,每个请求中的令牌都会改变)

ApiError:禁止从本地Node.js应用程序访问App Engine数据存储

我有一个应用程序部署到App Engine,并希望从本地运行的Node.js应用程序访问该应用程序的数据存储。 我从Node的Hello World应用程序开始,尝试从已部署的应用程序的数据存储中检索一个实体,并按照本文档将其logging到控制台。 我的节点应用程序代码如下。 var express = require('express'); var gcloud = require('gcloud')({ projectId: 'myProjectId', keyFilename: __dirname + 'myKeyfile.json' }); var datastore = gcloud.datastore; var dataset = datastore.dataset(); var app = express(); app.get('/', function(req, res) { dataset.get(dataset.key(['Practice', 4392384]), function(err, entity) { if (err) { console.log("ERROR: " + err); } else { console.log("Practice entity: " + […]

在计算引擎上托pipe的nodeJS项目中,在哪里定义datastore-indexes.xml?

我们正在计算引擎上托pipe一个NodeJS应用程序,它使用gcloud-node连接到Google DataStore。 简单的查询运行良好,但与multippleselect复杂的查询正在给出“412:先决条件失败”的错误。 更多细节在“: 多select在谷歌数据存储查询抛出ApiError:Precondition节点失败的错误 我明白这个错误是由于我没有configurationdatastore-indexes.xml。 作为GCP世界的新手。 你能帮我吗我在哪里可以定义我的项目中的datastore-indexes.xml文件。

NodeJS + GCloud日志logging中的内存泄漏

我一直在为我们的生产代码寻找2个弱点的内存泄漏。 最后,我用简单的nodejs服务器和gcloud logging api重现了内存泄漏。 Nodejs服务器与“Nodejs入门指南”中的内容相同 'use strict'; const http = require('http'); const hostname = '127.0.0.1'; const port = 3000; const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World\n'); }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); }); module.exports = server; 我写每个请求标题gcloud日志logging: 'use strict'; const app = require('./app.js'); const […]

您可以通过Cloud Spanner API检查表是否存在吗? (在Node.js中)

我怎么能检测表存在或不在表中的数据库中? 有没有像: database.exist('some table name') 我写我的function: const queryTableExist = (tableName) => { return { sql: `SELECT t.table_name FROM information_schema.tables AS t WHERE t.table_catalog = '' and t.table_schema = '' and t.table_name='${tableName}'` }; }; let tableExist = (tableName, cb) => { const query = queryTableExist(tableName); database.run(query, (err, rows) => { if (err) { console.log(`${err}\n${query}`); cb(err); } […]

gcloud App Engine与Docker和Babel的灵活的陌生性

我已经将服务器端节点应用程序部署到定制应用程序引擎运行时几个月,没有任何问题。 关于它的唯一一个有趣的事情是,当我build造容器的时候,运行的是对源头的诅咒。 在过去的这几个星期里,这个问题一直在间歇性地失败,在远程的构build日志中出现这个错误。 import * as deps from './AppFactory'; SyntaxError: Unexpected token import 带领我相信babel transpilation没有发生; 虽然gcloud cli表示它是: > node_modules/babel-cli/bin/babel.js src/ -d dist/ src/AppFactory.js -> dist/AppFactory.js src/Ddl.js -> dist/Ddl.js src/Helpers.js -> dist/Helpers.js src/MemoryResolver.js -> dist/MemoryResolver.js src/Mysql.js -> dist/Mysql.js src/Schema.js -> dist/Schema.js src/index.js -> dist/index.js —> 0282c805d5c9 无奈之下,我找出了Dockerfile中的dist / index文件。 当我这样做时,我发现确实没有发生转译。 当我在本地创builddocker图像时,一切都完美无缺。 我的Dockerfile如下: # Set the base […]

gcloud nodejs数据存储:如何用父级创build一个实体?

如何使用gcloud , datastore和nodejs创build一个父实体? 如何search与给定的父母的所有实体? 像(这不起作用): var path = [{kind: 'Parent', id: parentId}, {kind: 'Me'}]; var key = ds.key(path); var entity = { key: key, data: toDatastore(data, ['description']) }; ds.save(entity) 阅读文档,我没有find任何与给定的父母创build实体的例子。 我在这里search(没有成功): https : //googlecloudplatform.github.io/gcloud-node/#/docs/v0.19.1 而在python中的对应部分有一些特定的属性来指定父实体: http : //googlecloudplatform.github.io/gcloud-python/latest/datastore-keys.html 请提供如何创build和search具有父项的实体的代码示例

无法使用Google App Engine上的nodejs应用程序更新虚拟机

当我尝试从gcloud CLI进行部署时,出现以下错误。 Copying files to Google Cloud Storage… Synchronizing files to [gs://staging.logically-abstract-www-site.appspot.com/]. Updating module [default]…\Deleted [https://www.googleapis.com/compute/v1/projects/logically-abstract-www-site/zones/us-central1-f/instances/gae-builder-vm-20151030t150724]. Updating module [default]…failed. ERROR: (gcloud.preview.app.deploy) Error Response: [4] Timed out creating VMs. 我的app.yaml是: runtime: nodejs vm: true api_version: 1 automatic_scaling: min_num_instances: 2 max_num_instances: 20 cool_down_period_sec: 60 cpu_utilization: target_utilization: 0.5 我login成功,并有正确的项目ID。 我看到在App Engine的云控制台中创build的新版本,但错误是在这之后。 在标准输出日志中,我看到两个实例都与最后一个console.log语句结合起来,在开始监听端口之后放入应用程序,但是在shutdown.log中,我看到“app was unhealthy”,在syslog中,我看到“WARNING :从来没有从应用程序得到健康的回应,但无论如何发送/ _ah /开始查询。“

使用node.js删除谷歌云存储中的多个对象

我需要从谷歌云存储中删除多个对象。 我一次删除了一个对象。 这是我的代码: var gcloud = require('gcloud')({ projectId: "sampleProject1" }); var gcs = gcloud.storage(); var myBucket = gcs.bucket('sampleBucket1'); var file = myBucket.file('1.png'); file.delete(function (err, apiResponse) { if (err) { console.log(err); } else { console.log("Deleted successfully"); } }); 但是我需要同时删除多个对象。 有没有可能?