nodejs azure createBlockBlobFromLocalFile timeout

时间:2018-05-30 01:59:18

标签: node.js azure upload azure-storage-blobs

我正在尝试将mp4视频文件上传到Azure。我正在使用Node.js。

如果文件很小,它可以正常工作,但如果它很大(超过10 mb),它会给我这个错误:

ESOCKETTIMEDOUT

这是我使用的功能:

blobService.createBlockBlobFromLocalFile(container, file.name, file.path, options,
                    function (error, result, response) {
                        try {
                            if (error) {
                                console.log('***** ERROR file NOT uploaded! ' + JSON.stringify(error));
                                reject(error);
                            }
                            if (!response.isSuccessful) {
                                reject({error: 'Failed to create blob.'});
                            }
                            console.log('***** createBlockBlobFromLocalFile FILE uploaded! ');
                            resolve();
                        } catch (error) {
                            console.log('***** ERROR file NOT uploaded! ' + JSON.stringify(error));
                            reject(error);
                        }
                    })

有人可以帮帮我吗?

非常感谢你。 Emi

2 个答案:

答案 0 :(得分:1)

套接字超时通常发生在网络较差或网络繁重使用时。尝试在客户端库侧添加重试过滤器。

参考:https://azure.github.io/azure-storage-node/ExponentialRetryPolicyFilter.html

请参阅GitHub上的类似讨论。

答案 1 :(得分:0)

根据Sandeep br的建议,我在客户端库侧应用了重试过滤器,它使用了116 MB的文件。

var blobService = azure.createBlobService(
        azureContainer.Credentials.storageAccount,
        azureContainer.Credentials.accessKey
        ).withFilter(retryOperations);

非常感谢!