Asynchrone Programmierung mit der AWS SDK für PHP Version 3 - AWS SDK für PHP

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Asynchrone Programmierung mit der AWS SDK für PHP Version 3

Sie können Befehle gleichzeitig mit den asynchronen Funktionen des SDKs senden. Sie können Anfragen asynchron senden, indem Sie einen Operationsnamen mit Async suffizieren. Dies initiiert die Anfrage und gibt ein Promise zurück.

Das Promise wird mit dem Ergebnisobjekt bei Erfolg erfüllt oder mit einer Ausnahme bei einem Fehler abgelehnt. Auf diese Weise können Sie mehrere Promises erstellen und veranlassen, dass HTTP-Anforderungen gleichzeitig gesendet werden, wenn der zugrunde liegende HTTP-Handler die Anforderungen überträgt.

Importe

require 'vendor/autoload.php'; use Aws\S3\S3Client; use Aws\Exception\AwsException;

Beispiel-Code

// Create an SDK class used to share configuration across clients. $sdk = new Aws\Sdk([ 'region' => 'us-west-2' ]); // Use an Aws\Sdk class to create the S3Client object. $s3Client = $sdk->createS3(); //Listing all S3 Bucket $CompleteSynchronously = $s3Client->listBucketsAsync(); // Block until the result is ready. $CompleteSynchronously = $CompleteSynchronously->wait();

Sie können die Versprechung eines Promises erzwingen, indem Sie die Methode wait des Promises synchron ausführen. Das Erzwingen des Promises zum Vervollständigen „packt“ auch standardmäßig den Status des Promises „aus“, was bedeutet, dass es entweder das Ergebnis des Promises zurückgibt oder die aufgetretene Ausnahme auslöst. Beim Aufruf von wait() bei einem Promise blockiert der Prozess, bis die HTTP-Anfrage abgeschlossen ist und das Ergebnis gefüllt ist oder eine Ausnahme ausgelöst wird.

Wenn Sie das SDK mit einer Ereignisschleifenbibliothek verwenden, blockieren Sie keine Ergebnisse. Verwenden Sie stattdessen die Methode then() eines Ergebnisses, um auf eine Zusage zuzugreifen, die nach Abschluss der Operation aufgelöst oder zurückgewiesen wird.

Importe

require 'vendor/autoload.php'; use Aws\S3\S3Client; use Aws\Exception\AwsException;

Beispiel-Code

// Create an SDK class used to share configuration across clients. $sdk = new Aws\Sdk([ 'region' => 'us-west-2' ]); // Use an Aws\Sdk class to create the S3Client object. $s3Client = $sdk->createS3();
$promise = $s3Client->listBucketsAsync(); $promise ->then(function ($result) { echo 'Got a result: ' . var_export($result, true); }) ->otherwise(function ($reason) { echo 'Encountered an error: ' . $reason->getMessage(); });