github.com/GoogleCloudPlatform/google-cloud-node/issues/...

работал функцию Firebase Cloud, которая обрабатывает несколько манипуляций с загруженными изображениями. Мой код основан наэта статья документации а такжеэтот пример облачной функции, Следовательно, он используетПакет Google Cloud Storage.

Он работает нормально почти все время, но иногда я получаю эту ошибку при загрузке или удалении из хранилища:

 Error: read ECONNRESET
    at exports._errnoException (util.js:1026:11)
    at TLSWrap.onread (net.js:569:26)

Я использую корзину по умолчанию для моего приложения, на которую ссылаетсяevent.data.bucket.

Дайте мне знать, если вам нужна дополнительная информация или фрагменты кода, даже если мой код действительно близок к примеру Function, который я связывал ранее.

я нашелэтот вопрос GitHub, но я проверил, что я возвращаю обещание каждый раз. Например, вот часть удаления, которая вызывает ошибку:

index.js

exports.exampleFunction = functions.storage.object().onChange(event => {
    return f_thumbnails.exampleFunction(event);
});

example_function.js

module.exports = exports = function (_admin, _config) {
    admin = _admin;
    config = _config;

    return {
        "exampleFunction": function (event) {
            return exampleFunction(event);
        }
    };
};

const exampleFunction = function (event) {
    const gcsSourceFilePath = event.data.name;
    const gcsSourceFilePathSplit = gcsSourceFilePath.split('/');
    const gcsBaseFolder = gcsSourceFilePathSplit.length > 0 ? gcsSourceFilePathSplit[0] : '';
    const gcsSourceFileName = gcsSourceFilePathSplit.pop();
    const gceSourceFileDir = gcsSourceFilePathSplit.join('/') + (gcsSourceFilePathSplit.length > 0 ? '/' : '');

    // Not an image
    if (!event.data.contentType.startsWith('image/')) {
        console.log('Not an image !');
        return;
    }

    // Thumbnail
    if (gcsSourceFileName.startsWith(config.IMAGES_THUMBNAIL_PREFIX)) {
        console.log('Thumbnail !');
        return;
    }

    const bucket = gcs.bucket(event.data.bucket);
    const gcsThumbnailFilePath = gceSourceFileDir + config.IMAGES_THUMBNAIL_PREFIX + gcsSourceFileName;


    // File deletion
    if (event.data.resourceState === 'not_exists') {
        console.log('Thumbnail deletion : ' + gcsThumbnailFilePath);
        return bucket.file(gcsThumbnailFilePath).delete().then(() => {
            console.log('Deleted thumbnail ' + gcsThumbnailFilePath);
        });
    }
    ...

Ответы на вопрос(1)

Ваш ответ на вопрос