Google क्लाउड फ़ंक्शन के माध्यम से Google क्लाउड स्टोरेज में बड़ी फ़ाइल (> 50MB) अपलोड करने का प्रयास करते समय, मैं इन अपवादों में चलाता हूं विकल्पों में से निर्भर करता है मैं सेट: setttingफ़ाइल क्लास के माध्यम से जीसीपी पर स्ट्रीमिंग करते समय ESOCKETTIMEOUT, ECONNRESET या सॉकेट बड़ी फ़ाइल के साथ लटक रहा है()
- जबकि अनुरोध विकल्प 'हमेशा के लिए: झूठी' मैं मिल: त्रुटि: सॉकेट
- लटका settting जबकि अनुरोध विकल्प 'पुन: प्रारंभ योग्य: सच' मैं मिल: त्रुटि: 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 + "...");
const file = bucket.file(filename);
console.log("Creating write stream...");
var writeStream = file.createWriteStream({
metadata: {
contentType: 'plain/text'
},
resumable: false
});
writeStream.on('error', function(e) { console.error("An error occurred : " + e); });
writeStream.on('finish', function() { console.log("Success"); });
console.log("Initializing Streaming...");
var bufferStream = new stream.PassThrough();
bufferStream.end(data);
bufferStream.pipe(writeStream);
}
वहाँ कुछ मैं याद कर रहा हूँ है?
आप कौन सा संस्करण चला रहे हैं? मैं '1.2.1' पर हूं और वही त्रुटियां प्राप्त कर रहा हूं। – surjikal
मैं @ google-cloud/storage 1.4.0 का उपयोग कर रहा था। मैंने "अनुरोध-वादे" के बजाय lib "अनुरोध" का उपयोग करके इस समस्या को ठीक किया है और यह अच्छी तरह से काम करता है! –