我需要使用 Amazon 的 AWS SDK for PHP 执行一些相当繁重的查询。
最有效的方法是使用PHP 的 MultiCurl。Guzzle似乎已经内置了 MultiCurl 的功能。
使用 AWS 开发工具包提供的标准方法会自动使用 MultiCurl 还是我必须直接指定它的用法?例如调用$sns->Publish()
30 次。
谢谢!
我需要使用 Amazon 的 AWS SDK for PHP 执行一些相当繁重的查询。
最有效的方法是使用PHP 的 MultiCurl。Guzzle似乎已经内置了 MultiCurl 的功能。
使用 AWS 开发工具包提供的标准方法会自动使用 MultiCurl 还是我必须直接指定它的用法?例如调用$sns->Publish()
30 次。
谢谢!
并行请求在 SDK 中的工作方式与普通 Guzzle 中的工作方式完全相同,并且确实利用了 MultiCurl。例如,您可以执行以下操作:
$message = 'Hello, world!';
$publishCommands = array();
foreach ($topicArns as $topicArn) {
$publishCommands[] = $sns->getCommand('Publish', array(
'TopicArn' => $topicArn,
'Message' => $message,
));
}
try {
$successfulCommands = $sns->execute($publishCommands);
$failedCommands = array();
} catch (\Guzzle\Service\Exception\CommandTransferException $e) {
$successfulCommands = $e->getSuccessfulCommands();
$failedCommands = $e->getFailedCommands();
}
foreach ($failedCommands as $failedCommand) { /* Handle any errors */ }
$messageIds = array();
foreach ($successfulCommands as $successfulCommand) {
$messageIds[] = $successfulCommand->getResult()->get('MessageId');
}
// Also Licensed under version 2.0 of the Apache License.
AWS SDK for PHP 用户指南包含有关以这种方式使用命令对象的更多信息。