Jak używać Queue Storage w języku PHPHow to use Queue Storage from PHP

Porada

Wypróbuj program Microsoft Azure Storage ExplorerTry the Microsoft Azure Storage Explorer

Microsoft Azure Storage Explorer jest bezpłatną aplikacją autonomiczną oferowaną przez firmę Microsoft, która umożliwia wizualną pracę z danymi w usłudze Azure Storage w systemach Windows, macOS i Linux.Microsoft Azure Storage Explorer is a free, standalone app from Microsoft that enables you to work visually with Azure Storage data on Windows, macOS, and Linux.

W tym przewodniku pokazano, jak wykonywać typowe scenariusze za pomocą usługi Azure Queue Storage.This guide shows you how to perform common scenarios by using the Azure Queue Storage service. Przykłady są zapisywane za pośrednictwem klas z biblioteki klienta usługi Azure Storage dla języka PHP.The samples are written via classes from the Azure Storage client library for PHP. Scenariusze objęte usługą obejmują Wstawianie, wgląd, pobieranie i usuwanie komunikatów w kolejce, a także tworzenie i usuwanie kolejek.The covered scenarios include inserting, peeking, getting, and deleting queue messages, as well as creating and deleting queues.

Co to jest magazyn kolejek?What is Queue storage?

Azure Queue Storage to usługa do przechowywania dużej liczby komunikatów, do której można uzyskać dostęp z dowolnego miejsca na świecie za pośrednictwem uwierzytelnionego połączenia za pomocą protokołu HTTP lub HTTPS.Azure Queue storage is a service for storing large numbers of messages that can be accessed from anywhere in the world via authenticated calls using HTTP or HTTPS. Pojedynczy komunikat z kolejki nie może przekraczać 64 KB, a kolejka może zawierać miliony komunikatów — maksymalnie liczbę nieprzekraczającą całkowitego limitu pojemności konta magazynu.A single queue message can be up to 64 KB in size, and a queue can contain millions of messages, up to the total capacity limit of a storage account. Magazyn kolejek jest często używany do tworzenia zaległości prac do przetwarzania asynchronicznego.Queue storage is often used to create a backlog of work to process asynchronously.

Koncepcje usługa kolejkiQueue service concepts

Usługa kolejki platformy Azure zawiera następujące składniki:The Azure Queue service contains the following components:

Składniki usługi Azure usługa kolejki

  • Konto magazynu: cały dostęp do usługi Azure Storage odbywa się przez konto magazynu.Storage Account: All access to Azure Storage is done through a storage account. Aby uzyskać więcej informacji na temat kont magazynu, zobacz Omówienie konta magazynu.For more information about storage accounts, see Storage account overview.

  • Kolejka: kolejka zawiera zestaw komunikatów.Queue: A queue contains a set of messages. Wszystkie komunikaty muszą być w kolejce.All messages must be in a queue. Pamiętaj, że nazwa kolejki może zawierać tylko małe litery.Note that the queue name must be all lowercase. Informacje dotyczące nazewnictwa kolejek można znaleźć w temacie Naming Queues and Metadata (Nazewnictwo kolejek i metadanych).For information on naming queues, see Naming Queues and Metadata.

  • Komunikat: komunikat w dowolnym formacie, o maksymalnym rozmiarze 64 KB.Message: A message, in any format, of up to 64 KB. Maksymalny czas pozostawania komunikatu w kolejce wynosi 7 dni.The maximum time that a message can remain in the queue is 7 days. W wersji 2017-07-29 lub nowszej maksymalny czas wygaśnięcia może być dowolną liczbą dodatnią lub-1 oznacza, że komunikat nie wygasa.For version 2017-07-29 or later, the maximum time-to-live can be any positive number, or -1 indicating that the message doesn't expire. Jeśli ten parametr zostanie pominięty, domyślny czas wygaśnięcia wynosi siedem dni.If this parameter is omitted, the default time-to-live is seven days.

  • Format adresu URL: Kolejki są adresowane przy użyciu następującego formatu adresu URL: http:// <storage account> . Queue.Core.Windows.NET/<queue>URL format: Queues are addressable using the following URL format: http://<storage account>.queue.core.windows.net/<queue>

    Następujący adres URL dotyczy kolejki w schemacie:The following URL addresses a queue in the diagram:

    http://myaccount.queue.core.windows.net/incoming-orders

Tworzenie konta usługi Azure StorageCreate an Azure storage account

Najprościej jest utworzyć pierwsze konto usługi Azure Storage przy użyciu witryny Azure Portal.The easiest way to create your first Azure storage account is by using the Azure portal. Więcej informacji można znaleźć w temacie Tworzenie konta magazynu.To learn more, see Create a storage account.

Można również utworzyć konto usługi Azure Storage przy użyciu programu Azure PowerShell, interfejsu wiersza polecenia Azure lub dostawcy zasobów usługi Azure Storage dla platformy .NET.You can also create an Azure storage account by using Azure PowerShell, Azure CLI, or the Azure Storage Resource Provider for .NET.

Jeśli wolisz nie tworzyć konta magazynu na platformie Azure, możesz również użyć emulatora magazynu azurite do uruchamiania i testowania kodu w środowisku lokalnym.If you prefer not to create a storage account in Azure at this time, you can also use the Azurite storage emulator to run and test your code in a local environment. Aby uzyskać więcej informacji, zobacz Używanie emulatora azurite na potrzeby tworzenia lokalnych magazynów platformy Azure.For more information, see Use the Azurite emulator for local Azure Storage development.

Tworzenie aplikacji języka PHPCreate a PHP application

Jedynym wymaganiem do utworzenia aplikacji PHP, która uzyskuje dostęp do Queue Storage platformy Azure, jest odwołanie do klas w bibliotece klienta usługi Azure Storage dla języka PHP z poziomu kodu.The only requirement for creating a PHP application that accesses Azure Queue Storage is the referencing of classes in the Azure Storage client library for PHP from within your code. Do utworzenia aplikacji możesz użyć dowolnych narzędzi programistycznych, w tym programu Notatnik.You can use any development tools to create your application, including Notepad.

W tym przewodniku są używane funkcje usługi Queue Storage, które mogą być wywoływane lokalnie w aplikacji PHP lub w kodzie uruchomionym w aplikacji sieci Web na platformie Azure.In this guide, you use the Queue Storage service features that can be called within a PHP application locally, or in code running within a web application in Azure.

Pobierz biblioteki klienckie platformy AzureGet the Azure client libraries

Instalowanie przez układaczInstall via composer

  1. Utwórz plik o nazwie composer.json w katalogu głównym projektu i Dodaj do niego następujący kod:Create a file named composer.json in the root of your project and add the following code to it:

    {
      "require": {
        "microsoft/azure-storage-queue": "*"
      }
    }
    
  2. Pobierz composer.phar w katalogu głównym projektu.Download composer.phar in your project root.

  3. Otwórz wiersz polecenia i uruchom następujące polecenie w katalogu głównym projektu:Open a command prompt and run the following command in your project root:

    php composer.phar install
    

Alternatywnie przejdź do biblioteki klienta php usługi Azure Storage w witrynie GitHub, aby sklonować kod źródłowy.Alternatively go to the Azure Storage PHP client library on GitHub to clone the source code.

Skonfiguruj aplikację pod kątem dostępu do Queue StorageConfigure your application to access Queue Storage

Aby korzystać z interfejsów API dla usługi Azure Queue Storage, należy wykonać następujące:To use the APIs for Azure Queue Storage, you need to:

  1. Odwołuje się do pliku automatycznej ładowarki przy użyciu require_once instrukcji.Reference the autoloader file by using the require_once statement.
  2. Odwołuje się do dowolnych klas, które mogą być używane.Reference any classes that you might use.

Poniższy przykład pokazuje, jak dołączyć plik automatycznej ładowarki i odwołać się do QueueRestProxy klasy.The following example shows how to include the autoloader file and reference the QueueRestProxy class.

require_once 'vendor/autoload.php';
use MicrosoftAzure\Storage\Queue\QueueRestProxy;

W poniższych przykładach require_once instrukcja jest wyświetlana zawsze, ale przywoływane są tylko klasy wymagane do uruchomienia przykładu.In the following examples, the require_once statement is shown always, but only the classes required to run the example are referenced.

Konfigurowanie połączenia usługi Azure StorageSet up an Azure Storage connection

Aby utworzyć wystąpienie klienta Queue Storage platformy Azure, musisz dysponować prawidłowymi parametrami połączenia.To instantiate an Azure Queue Storage client, you must first have a valid connection string. Format parametrów połączenia Queue Storage jest następujący:.The format for the Queue Storage connection string is as follows.

Aby uzyskać dostęp do usługi Live:For accessing a live service:

DefaultEndpointsProtocol=[http|https];AccountName=[yourAccount];AccountKey=[yourKey]

Aby uzyskać dostęp do magazynu emulatora:For accessing the emulator storage:

UseDevelopmentStorage=true

Aby utworzyć klienta Queue Storage platformy Azure, należy użyć QueueRestProxy klasy.To create an Azure Queue Storage client, you need to use the QueueRestProxy class. Można użyć jednej z następujących technik:You can use either of the following techniques:

  • Przekaż parametry połączenia bezpośrednio do niego.Pass the connection string directly to it.
  • Użyj zmiennych środowiskowych w aplikacji sieci Web do przechowywania parametrów połączenia.Use environment variables in your web app to store the connection string. Aby skonfigurować parametry połączenia, zobacz dokument Ustawienia konfiguracji aplikacji sieci Web platformy Azure .See Azure web app configuration settings document for configuring connection strings.

W przedstawionych tutaj przykładach parametry połączenia są przekazywane bezpośrednio.For the examples outlined here, the connection string is passed directly.

require_once 'vendor/autoload.php';

use MicrosoftAzure\Storage\Queue\QueueRestProxy;

$connectionString = "DefaultEndpointsProtocol=http;AccountName=<accountNameHere>;AccountKey=<accountKeyHere>";
$queueClient = QueueRestProxy::createQueueService($connectionString);

Tworzenie kolejkiCreate a queue

QueueRestProxyObiekt umożliwia utworzenie kolejki przy użyciu CreateQueue metody.A QueueRestProxy object lets you create a queue by using the CreateQueue method. Podczas tworzenia kolejki można ustawić opcje dla kolejki, ale nie jest to wymagane.When creating a queue, you can set options on the queue, but doing so is not required. Ten przykład pokazuje, jak ustawić metadane dla kolejki.This example shows how to set metadata on a queue.

require_once 'vendor/autoload.php';

use MicrosoftAzure\Storage\Queue\QueueRestProxy;
use MicrosoftAzure\Storage\Common\Exceptions\ServiceException;
use MicrosoftAzure\Storage\Queue\Models\CreateQueueOptions;

$connectionString = "DefaultEndpointsProtocol=http;AccountName=<accountNameHere>;AccountKey=<accountKeyHere>";

// Create queue REST proxy.
$queueClient = QueueRestProxy::createQueueService($connectionString);

// OPTIONAL: Set queue metadata.
$createQueueOptions = new CreateQueueOptions();
$createQueueOptions->addMetaData("key1", "value1");
$createQueueOptions->addMetaData("key2", "value2");

try    {
    // Create queue.
    $queueClient->createQueue("myqueue", $createQueueOptions);
}
catch(ServiceException $e){
    // Handle exception based on error codes and messages.
    // Error codes and messages are here:
    // https://msdn.microsoft.com/library/azure/dd179446.aspx
    $code = $e->getCode();
    $error_message = $e->getMessage();
    echo $code.": ".$error_message."<br />";
}

Uwaga

W przypadku kluczy metadanych nie należy polegać na rozróżnianiu wielkości liter.You should not rely on case sensitivity for metadata keys. Wszystkie klucze są odczytywane z usługi małymi literami.All keys are read from the service in lowercase.

Dodawanie komunikatu do kolejkiAdd a message to a queue

Aby dodać komunikat do kolejki, użyj QueueRestProxy->createMessage .To add a message to a queue, use QueueRestProxy->createMessage. Metoda przyjmuje nazwę kolejki, tekst komunikatu i Opcje wiadomości (opcjonalne).The method takes the queue name, the message text, and message options (which are optional).

require_once 'vendor/autoload.php';

use MicrosoftAzure\Storage\Queue\QueueRestProxy;
use MicrosoftAzure\Storage\Common\Exceptions\ServiceException;
use MicrosoftAzure\Storage\Queue\Models\CreateMessageOptions;

$connectionString = "DefaultEndpointsProtocol=http;AccountName=<accountNameHere>;AccountKey=<accountKeyHere>";

// Create queue REST proxy.
$queueClient = QueueRestProxy::createQueueService($connectionString);

try    {
    // Create message.
    $queueClient->createMessage("myqueue", "Hello, World");
}
catch(ServiceException $e){
    // Handle exception based on error codes and messages.
    // Error codes and messages are here:
    // https://msdn.microsoft.com/library/azure/dd179446.aspx
    $code = $e->getCode();
    $error_message = $e->getMessage();
    echo $code.": ".$error_message."<br />";
}

Podgląd kolejnego komunikatuPeek at the next message

Możesz uzyskać wgląd w jeden lub więcej komunikatów na początku kolejki bez usuwania ich z kolejki przez wywołanie QueueRestProxy->peekMessages .You can peek at one or more messages at the front of a queue without removing them from the queue by calling QueueRestProxy->peekMessages. Domyślnie peekMessage Metoda zwraca pojedynczy komunikat, ale można zmienić tę wartość przy użyciu PeekMessagesOptions->setNumberOfMessages metody.By default, the peekMessage method returns a single message, but you can change that value by using the PeekMessagesOptions->setNumberOfMessages method.

require_once 'vendor/autoload.php';

use MicrosoftAzure\Storage\Queue\QueueRestProxy;
use MicrosoftAzure\Storage\Common\Exceptions\ServiceException;
use MicrosoftAzure\Storage\Queue\Models\PeekMessagesOptions;

$connectionString = "DefaultEndpointsProtocol=http;AccountName=<accountNameHere>;AccountKey=<accountKeyHere>";

// Create queue REST proxy.
$queueClient = QueueRestProxy::createQueueService($connectionString);

// OPTIONAL: Set peek message options.
$message_options = new PeekMessagesOptions();
$message_options->setNumberOfMessages(1); // Default value is 1.

try    {
    $peekMessagesResult = $queueClient->peekMessages("myqueue", $message_options);
}
catch(ServiceException $e){
    // Handle exception based on error codes and messages.
    // Error codes and messages are here:
    // https://msdn.microsoft.com/library/azure/dd179446.aspx
    $code = $e->getCode();
    $error_message = $e->getMessage();
    echo $code.": ".$error_message."<br />";
}

$messages = $peekMessagesResult->getQueueMessages();

// View messages.
$messageCount = count($messages);
if($messageCount <= 0){
    echo "There are no messages.<br />";
}
else{
    foreach($messages as $message)    {
        echo "Peeked message:<br />";
        echo "Message Id: ".$message->getMessageId()."<br />";
        echo "Date: ".date_format($message->getInsertionDate(), 'Y-m-d')."<br />";
        echo "Message text: ".$message->getMessageText()."<br /><br />";
    }
}

Usunięcie następnego komunikatu z kolejkiDe-queue the next message

Kod usuwa komunikat z kolejki w dwóch krokach.Your code removes a message from a queue in two steps. Najpierw należy wywołać metodę QueueRestProxy->listMessages , która sprawia, że komunikat jest niewidoczny dla każdego innego kodu, który odczytuje z kolejki.First, you call QueueRestProxy->listMessages, which makes the message invisible to any other code that's reading from the queue. Domyślnie komunikat pozostanie niewidoczny przez 30 sekund.By default, this message stays invisible for 30 seconds. (Jeśli wiadomość nie zostanie usunięta w tym okresie, zostanie ona ponownie widoczna w kolejce). Aby zakończyć usuwanie komunikatu z kolejki, należy wywołać metodę QueueRestProxy->deleteMessage .(If the message is not deleted in this time period, it becomes visible on the queue again.) To finish removing the message from the queue, you must call QueueRestProxy->deleteMessage. Ten dwuetapowy proces usuwania komunikatu gwarantuje, że gdy kod nie może przetworzyć komunikatu z powodu awarii sprzętu lub oprogramowania, inne wystąpienie kodu może uzyskać ten sam komunikat i spróbować ponownie.This two-step process of removing a message assures that when your code fails to process a message due to hardware or software failure, another instance of your code can get the same message and try again. Kod wywołuje deleteMessage się bezpośrednio po przetworzeniu komunikatu.Your code calls deleteMessage right after the message has been processed.

require_once 'vendor/autoload.php';

use MicrosoftAzure\Storage\Queue\QueueRestProxy;
use MicrosoftAzure\Storage\Common\Exceptions\ServiceException;

$connectionString = "DefaultEndpointsProtocol=http;AccountName=<accountNameHere>;AccountKey=<accountKeyHere>";

// Create queue REST proxy.
$queueClient = QueueRestProxy::createQueueService($connectionString);

// Get message.
$listMessagesResult = $queueClient->listMessages("myqueue");
$messages = $listMessagesResult->getQueueMessages();
$message = $messages[0];

/* ---------------------
    Process message.
   --------------------- */

// Get message ID and pop receipt.
$messageId = $message->getMessageId();
$popReceipt = $message->getPopReceipt();

try    {
    // Delete message.
    $queueClient->deleteMessage("myqueue", $messageId, $popReceipt);
}
catch(ServiceException $e){
    // Handle exception based on error codes and messages.
    // Error codes and messages are here:
    // https://msdn.microsoft.com/library/azure/dd179446.aspx
    $code = $e->getCode();
    $error_message = $e->getMessage();
    echo $code.": ".$error_message."<br />";
}

Zmiana zawartości komunikatu w kolejceChange the contents of a queued message

Można zmienić zawartość wiadomości w miejscu w kolejce przez wywołanie QueueRestProxy->updateMessage .You can change the contents of a message in-place in the queue by calling QueueRestProxy->updateMessage. Jeśli komunikat reprezentuje zadanie robocze, możesz użyć tej funkcji, aby zaktualizować stan zadania.If the message represents a work task, you could use this feature to update the status of the work task. Poniższy kod aktualizuje komunikat kolejki z nową zawartością i ustawia limit czasu widoczności, aby zwiększyć kolejny 60 sekund.The following code updates the queue message with new contents, and it sets the visibility timeout to extend another 60 seconds. Spowoduje to zapisanie stanu pracy skojarzonej z wiadomością i umożliwia klientowi kolejną minutę kontynuowanie pracy nad komunikatem.This saves the state of work that's associated with the message, and it gives the client another minute to continue working on the message. Korzystając z tej metody, można śledzić wieloetapowe przepływy pracy dla komunikatów w kolejce, bez konieczności rozpoczynania od początku, jeśli etap przetwarzania zakończy się niepowodzeniem z powodu awarii sprzętu lub oprogramowania.You could use this technique to track multistep workflows on queue messages, without having to start over from the beginning if a processing step fails due to hardware or software failure. Zazwyczaj stosuje się również liczbę ponownych prób. Jeśli komunikat zostanie ponowiony więcej niż n razy, zostanie usunięty.Typically, you would keep a retry count as well, and if the message is retried more than n times, you would delete it. Jest to zabezpieczenie przed komunikatami, które wyzwalają błąd aplikacji zawsze, gdy są przetwarzane.This protects against a message that triggers an application error each time it is processed.

require_once 'vendor/autoload.php';

use MicrosoftAzure\Storage\Queue\QueueRestProxy;
use MicrosoftAzure\Storage\Common\Exceptions\ServiceException;

// Create queue REST proxy.
$queueClient = QueueRestProxy::createQueueService($connectionString);

$connectionString = "DefaultEndpointsProtocol=http;AccountName=<accountNameHere>;AccountKey=<accountKeyHere>";

// Get message.
$listMessagesResult = $queueClient->listMessages("myqueue");
$messages = $listMessagesResult->getQueueMessages();
$message = $messages[0];

// Define new message properties.
$new_message_text = "New message text.";
$new_visibility_timeout = 5; // Measured in seconds.

// Get message ID and pop receipt.
$messageId = $message->getMessageId();
$popReceipt = $message->getPopReceipt();

try    {
    // Update message.
    $queueClient->updateMessage("myqueue",
                                $messageId,
                                $popReceipt,
                                $new_message_text,
                                $new_visibility_timeout);
}
catch(ServiceException $e){
    // Handle exception based on error codes and messages.
    // Error codes and messages are here:
    // https://msdn.microsoft.com/library/azure/dd179446.aspx
    $code = $e->getCode();
    $error_message = $e->getMessage();
    echo $code.": ".$error_message."<br />";
}

Dodatkowe opcje związane z dekolejką komunikatówAdditional options for dequeuing messages

Istnieją dwa sposoby dostosowywania pobierania komunikatów z kolejki.There are two ways that you can customize message retrieval from a queue. Po pierwsze można uzyskać komunikaty zbiorczo (do 32).First, you can get a batch of messages (up to 32). Po drugie można ustawić dłuższy lub krótszy limit czasu widoczności, co pozwala na zwiększenie lub skrócenie czasu w celu pełnego przetworzenia poszczególnych komunikatów.Second, you can set a longer or shorter visibility timeout, allowing your code more or less time to fully process each message. Poniższy przykład kodu używa getMessages metody do pobierania 16 komunikatów w jednym wywołaniu.The following code example uses the getMessages method to get 16 messages in one call. Następnie przetwarza każdy komunikat przy użyciu for pętli.Then it processes each message by using a for loop. Ustawia również limitu czasu niewidoczności na pięć minut dla każdego komunikatu.It also sets the invisibility timeout to five minutes for each message.

require_once 'vendor/autoload.php';

use MicrosoftAzure\Storage\Queue\QueueRestProxy;
use MicrosoftAzure\Storage\Common\Exceptions\ServiceException;
use MicrosoftAzure\Storage\Queue\Models\ListMessagesOptions;

$connectionString = "DefaultEndpointsProtocol=http;AccountName=<accountNameHere>;AccountKey=<accountKeyHere>";

// Create queue REST proxy.
$queueClient = QueueRestProxy::createQueueService($connectionString);

// Set list message options.
$message_options = new ListMessagesOptions();
$message_options->setVisibilityTimeoutInSeconds(300);
$message_options->setNumberOfMessages(16);

// Get messages.
try{
    $listMessagesResult = $queueClient->listMessages("myqueue",
                                                     $message_options);
    $messages = $listMessagesResult->getQueueMessages();

    foreach($messages as $message){

        /* ---------------------
            Process message.
        --------------------- */

        // Get message Id and pop receipt.
        $messageId = $message->getMessageId();
        $popReceipt = $message->getPopReceipt();

        // Delete message.
        $queueClient->deleteMessage("myqueue", $messageId, $popReceipt);
    }
}
catch(ServiceException $e){
    // Handle exception based on error codes and messages.
    // Error codes and messages are here:
    // https://msdn.microsoft.com/library/azure/dd179446.aspx
    $code = $e->getCode();
    $error_message = $e->getMessage();
    echo $code.": ".$error_message."<br />";
}

Pobieranie długości kolejkiGet queue length

Możesz uzyskać szacunkową liczbę komunikatów w kolejce.You can get an estimate of the number of messages in a queue. QueueRestProxy->getQueueMetadataMetoda pobiera metadane dotyczące kolejki.The QueueRestProxy->getQueueMetadata method retrieves metadata about the queue. Wywołanie getApproximateMessageCount metody w zwracanym obiekcie zapewnia liczbę komunikatów w kolejce.Calling the getApproximateMessageCount method on the returned object provides a count of how many messages are in a queue. Licznik jest tylko przybliżony, ponieważ komunikaty mogą być dodawane lub usuwane po Queue Storage odpowiedzi na żądanie.The count is only approximate because messages can be added or removed after Queue Storage responds to your request.

require_once 'vendor/autoload.php';

use MicrosoftAzure\Storage\Queue\QueueRestProxy;
use MicrosoftAzure\Storage\Common\Exceptions\ServiceException;

$connectionString = "DefaultEndpointsProtocol=http;AccountName=<accountNameHere>;AccountKey=<accountKeyHere>";

// Create queue REST proxy.
$queueClient = QueueRestProxy::createQueueService($connectionString);

try    {
    // Get queue metadata.
    $queue_metadata = $queueClient->getQueueMetadata("myqueue");
    $approx_msg_count = $queue_metadata->getApproximateMessageCount();
}
catch(ServiceException $e){
    // Handle exception based on error codes and messages.
    // Error codes and messages are here:
    // https://msdn.microsoft.com/library/azure/dd179446.aspx
    $code = $e->getCode();
    $error_message = $e->getMessage();
    echo $code.": ".$error_message."<br />";
}

echo $approx_msg_count;

Usuwanie kolejkiDelete a queue

Aby usunąć kolejkę i wszystkie znajdujące się w niej komunikaty, wywołaj QueueRestProxy->deleteQueue metodę.To delete a queue and all the messages in it, call the QueueRestProxy->deleteQueue method.

require_once 'vendor/autoload.php';

use MicrosoftAzure\Storage\Queue\QueueRestProxy;
use MicrosoftAzure\Storage\Common\Exceptions\ServiceException;

$connectionString = "DefaultEndpointsProtocol=http;AccountName=<accountNameHere>;AccountKey=<accountKeyHere>";

// Create queue REST proxy.
$queueClient = QueueRestProxy::createQueueService($connectionString);

try    {
    // Delete queue.
    $queueClient->deleteQueue("myqueue");
}
catch(ServiceException $e){
    // Handle exception based on error codes and messages.
    // Error codes and messages are here:
    // https://msdn.microsoft.com/library/azure/dd179446.aspx
    $code = $e->getCode();
    $error_message = $e->getMessage();
    echo $code.": ".$error_message."<br />";
}

Następne krokiNext steps

Teraz, gdy znasz już podstawy usługi Azure Queue Storage, Skorzystaj z poniższych linków, aby dowiedzieć się więcej o bardziej skomplikowanych zadaniach magazynu:Now that you've learned the basics of Azure Queue Storage, follow these links to learn about more complex storage tasks:

Aby uzyskać więcej informacji, zobacz Centrum deweloperów języka PHP.For more information, see the PHP developer center.