在使用Azure SDK for PHP将记录从文件插入到Azure表存储时,我得到了这个错误。我正在阅读数千行,并使用批处理操作一个接一个地插入它们,但在操作中间,遇到了一个错误。这是错误:
Fatal error: Uncaught exception 'GuzzleHttpExceptionRequestException' with message
'cURL error 56: SSL read: error:00000000:lib(0):func(0):reason(0),
errno 0 (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)' in C:xampphtdocsrootvendorguzzlehttpguzzlesrcHandlerCurlFactory.php:187
Stack trace:
#0 C:xampphtdocsrootvendorguzzlehttpguzzlesrcHandlerCurlFactory.php(150): GuzzleHttpHandlerCurlFactory::createRejection(Object(GuzzleHttpHandlerEasyHandle), Array)
#1 C:xampphtdocsrootvendorguzzlehttpguzzlesrcHandlerCurlFactory.php(103): GuzzleHttpHandlerCurlFactory::finishError(Object(GuzzleHttpHandlerCurlHandler), Object(GuzzleHttpHandlerEasyHandle), Object(GuzzleHttpHandlerCurlFactory))
#2 C:xampphtdocsrootvendorguzzlehttpguzzlesrcHandlerCurlHandler.php(43): GuzzleHttpHandlerCurlFactory::finish(Object(GuzzleHttpHandlerCurlHandler), Object(GuzzleHttpHandlerEasyHandle), Object(GuzzleHttpHandlerCurlFactory))
#3 C:xampphtdocsroot in C:xampphtdocsrootvendorguzzlehttpguzzlesrcHandlerCurlFactory.php on line 187
这个问题有解决方案吗?
能否提供生成批处理操作的关键代码片段?根据https://azure.microsoft.com/en-us/documentation/articles/azure-subscription-service-limits/#storage-limits所描述的限制,
单个表分区的目标吞吐量(1kb实体)每秒最多2000个实体。
你可以尝试用几个partitionkey把你的实体分成几批。
作为https://github.com/Azure/azure-storage-php/blob/master/samples/TableSamples.php#L84上的批处理操作示例,您可以尝试减少单个插入批处理操作中的实体数量。
如有任何问题,请随时与我联系。