Firebase Storage & Cloud Functions - ECONNRESET

Eu desenvolvi uma função Firebase Cloud que processa várias manipulações nas imagens carregadas. Meu código é baseado emeste artigo de documentação eeste exemplo da função de nuvem. Por isso, está usandoPacote do Google Cloud Storage.

Ele funciona bem quase o tempo todo, mas às vezes recebo esse erro ao fazer upload ou excluir do Storage:

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

Estou usando o bucket padrão do meu aplicativo, referenciado porevent.data.bucket.

Informe-me se você precisar de informações adicionais ou trechos de código, mesmo que meu código esteja realmente próximo do exemplo de Função que vinculei anteriormente.

eu encontreiesse problema do GitHub, mas verifiquei que estou retornando uma promessa sempre. Por exemplo, aqui está a parte da exclusão que aciona o erro:

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);
        });
    }
    ...

questionAnswers(1)

yourAnswerToTheQuestion