Mengelola batas waktu visibilitas di Amazon AWS SDK for PHP SQS dengan Versi 3 - AWS SDK for PHP

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengelola batas waktu visibilitas di Amazon AWS SDK for PHP SQS dengan Versi 3

Batas waktu visibilitas adalah periode waktu di mana Amazon SQS mencegah komponen konsumsi lainnya menerima dan memproses pesan. Untuk mempelajari lebih lanjut, lihat Batas Waktu Visibilitas.

Contoh berikut menunjukkan cara:

Semua kode contoh untuk AWS SDK for PHP tersedia di sini GitHub.

Kredensial

Sebelum menjalankan kode contoh, konfigurasikan AWS kredenal Anda, seperti yang dijelaskan dalam. Kredensial Kemudian imporAWS SDK for PHP, seperti yang dijelaskan dalamPenggunaan dasar.

Mengubah batas waktu visibilitas beberapa pesan

Impor

require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sqs\SqsClient;

Kode Sampel

$queueUrl = "QUEUE_URL"; $client = new SqsClient([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2012-11-05' ]); try { $result = $client->receiveMessage(array( 'AttributeNames' => ['SentTimestamp'], 'MaxNumberOfMessages' => 10, 'MessageAttributeNames' => ['All'], 'QueueUrl' => $queueUrl, // REQUIRED )); $messages = $result->get('Messages'); if ($messages != null) { $entries = array(); for ($i = 0; $i < count($messages); $i++) { $entries[] = [ 'Id' => 'unique_is_msg' . $i, // REQUIRED 'ReceiptHandle' => $messages[$i]['ReceiptHandle'], // REQUIRED 'VisibilityTimeout' => 3600 ]; } $result = $client->changeMessageVisibilityBatch([ 'Entries' => $entries, 'QueueUrl' => $queueUrl ]); var_dump($result); } else { echo "No messages in queue \n"; } } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }