繁体   English   中英

带有Guzzle的MultiCurl的Amazon AWS PHP SDK?

[英]Amazon AWS PHP SDK with Guzzle's MultiCurl?

我需要使用Amazon的适用于PHP的AWS开发工具包执行一些相当繁琐的查询。
最有效的方法是使用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.

适用于PHPAWS开发工具包用户指南提供了有关以这种方式使用命令对象的更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM