0
我需要執行與Amazon的AWS SDK的PHP一些相當沉重的查詢。
最有效的方法是使用PHP's MultiCurl。看起來Guzzle already has內置MultiCurl功能。亞馬遜AWS PHP SDK與Guzzle的MultiCurl?
是否使用AWS SDK提供的標準方法自動使用MultiCurl,還是必須直接指定它的用法?例如。呼叫$sns->Publish()
30次。
謝謝!
我需要執行與Amazon的AWS SDK的PHP一些相當沉重的查詢。
最有效的方法是使用PHP's MultiCurl。看起來Guzzle already has內置MultiCurl功能。亞馬遜AWS PHP SDK與Guzzle的MultiCurl?
是否使用AWS SDK提供的標準方法自動使用MultiCurl,還是必須直接指定它的用法?例如。呼叫$sns->Publish()
30次。
謝謝!
並行請求工作完全在SDK一樣純狂飲和不採取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 User Guide有大約以這種方式與命令對象的詳細信息。
謝謝!這很棒! – SteveMc