使用azure SDK for PHP向azure表存储插入记录时出现cURL错误


cURL error when inserting records to azure table storage using Azure SDK for PHP

在使用Azure SDK for PHP将记录从文件插入到Azure表存储时,我得到了这个错误。我正在阅读数千行,并使用批处理操作一个接一个地插入它们,但在操作中间,遇到了一个错误。这是错误:

Fatal error: Uncaught exception 'GuzzleHttp'Exception'RequestException' 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:'xampp'htdocs'root'vendor'guzzlehttp'guzzle'src'Handler'CurlFactory.php:187 
Stack trace: 
#0 C:'xampp'htdocs'root'vendor'guzzlehttp'guzzle'src'Handler'CurlFactory.php(150): GuzzleHttp'Handler'CurlFactory::createRejection(Object(GuzzleHttp'Handler'EasyHandle), Array) 
#1 C:'xampp'htdocs'root'vendor'guzzlehttp'guzzle'src'Handler'CurlFactory.php(103): GuzzleHttp'Handler'CurlFactory::finishError(Object(GuzzleHttp'Handler'CurlHandler), Object(GuzzleHttp'Handler'EasyHandle), Object(GuzzleHttp'Handler'CurlFactory)) 
#2 C:'xampp'htdocs'root'vendor'guzzlehttp'guzzle'src'Handler'CurlHandler.php(43): GuzzleHttp'Handler'CurlFactory::finish(Object(GuzzleHttp'Handler'CurlHandler), Object(GuzzleHttp'Handler'EasyHandle), Object(GuzzleHttp'Handler'CurlFactory)) 
#3 C:'xampp'htdocs'root in C:'xampp'htdocs'root'vendor'guzzlehttp'guzzle'src'Handler'CurlFactory.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上的批处理操作示例,您可以尝试减少单个插入批处理操作中的实体数量。

如有任何问题,请随时与我联系。