我有一个云功能,可以将CSV文件上传到云存储桶。
一段时间后,API开始失败,并显示以下错误。重试后,这似乎在HTTP调用上失败,但是未指定问题的根源。
如果我上传6个文件,通常3-4个成功,其余的会在一段时间后给出此错误。
有人遇到类似的问题吗?
In [1]: import hashlib
In [2]: s=hashlib.sha1()
In [3]: s.update('v3'.encode('utf8'))
In [4]: s.hexdigest()
Out[4]: 'c5e31d5915661de4393e3f1489b00ebc4497dd48'
In [5]: s.update('v3'.encode('utf8'))
In [6]: s.hexdigest()
Out[6]: '478fb161514c3e8b395c9968e042ab214a98d0d8'
我正在使用@ google-cloud / storage nodejs库的2.4.3版本。
试图将云存储版本从1.x升级到2.4.2,现在是2.4.3。
尝试使用gs://
附加存储桶名称存储桶名称不包含文件名,这不是错误。
这是我代码的要点。
Error: Cannot parse JSON response
at ApiError (/user_code/node_modules/@google-cloud/storage/node_modules/@google-cloud/common/build/src/util.js:43:9)
at Util.parseHttpRespBody (/user_code/node_modules/@google-cloud/storage/node_modules/@google-cloud/common/build/src/util.js:185:42)
at Util.handleResp (/user_code/node_modules/@google-cloud/storage/node_modules/@google-cloud/common/build/src/util.js:134:117)
at retryRequest (/user_code/node_modules/@google-cloud/storage/node_modules/@google-cloud/common/build/src/util.js:422:22)
at onResponse (/user_code/node_modules/@google-cloud/storage/node_modules/retry-request/index.js:200:7)
at /user_code/node_modules/@google-cloud/storage/node_modules/teeny-request/build/src/index.js:158:17
at process._tickDomainCallback (internal/process/next_tick.js:135:7) message: 'Cannot parse JSON response'
函数最终返回一个promises.push(Promise.all([
filesysRef
.outputFile(tmpFilePath, values.join('\n'))
.then(() =>
gcs.bucket(bucketName).upload(tmpFilePath, { destination: filePath } )),
filesysRef
.outputFile(tmpItemFilePath, items.join('\n'))
.then(() => gcs.bucket(bucketName)
.upload(tmpItemFilePath, { destination: itemFilePath }
)),
])
.then(() => {
gcs.bucket(bucketName).file(itemFilePath).exists()
.then(() => { hour.ref.remove().then(() => console.log('done removeal'));
console.log("after removal")}) // THIS DELETES FROM FIREBASE
.catch(() => console.log("File not found in GCS, hence hour not archived"))
}, err => console.log(err))
.catch(error => {
console.log(error)
})
.then(() => filesysRef.unlinkSync(tmpItemFilePath))
.catch(err => console.log(err))
.then(() => filesysRef.unlinkSync(tmpOrderFilePath))
.catch(err => console.log(err))
);
。
期望云功能能够成功执行并上传文件。