Szybki Start: V12 biblioteki klienta usługi Azure queue storage dla języka PythonQuickstart: Azure Queue storage client library v12 for Python

Rozpocznij pracę z biblioteką klienta usługi Azure queue storage w wersji 12 dla języka Python.Get started with the Azure Queue storage client library version 12 for Python. Azure queue storage to usługa służąca do przechowywania dużej liczby komunikatów do późniejszego pobrania i przetworzenia.Azure Queue storage is a service for storing large numbers of messages for later retrieval and processing. Wykonaj następujące kroki, aby zainstalować pakiet i wypróbować przykładowy kod dla podstawowych zadań.Follow these steps to install the package and try out example code for basic tasks.

Użyj biblioteki klienta usługi Azure queue storage V12 dla języka Python, aby:Use the Azure Queue storage client library v12 for Python to:

  • Tworzenie kolejkiCreate a queue
  • Dodawanie komunikatów do kolejkiAdd messages to a queue
  • Wgląd w wiadomości w kolejcePeek at messages in a queue
  • Aktualizowanie komunikatu w kolejceUpdate a message in a queue
  • Odbieranie komunikatów z kolejkiReceive messages from a queue
  • Usuwanie komunikatów z kolejkiDelete messages from a queue
  • Usuwanie kolejkiDelete a queue

Dodatkowe zasoby:Additional resources:

Wymagania wstępnePrerequisites

KonfigurowanieSetting up

W tej sekcji omówiono przygotowanie projektu do pracy z biblioteką klienta usługi Azure queue storage V12 dla języka Python.This section walks you through preparing a project to work with the Azure Queue storage client library v12 for Python.

Tworzenie projektuCreate the project

Tworzenie aplikacji w języku Python o nazwie Queues — szybki start-V12.Create a Python application named queues-quickstart-v12.

  1. W oknie konsoli (na przykład cmd, PowerShell lub bash) Utwórz nowy katalog dla projektu.In a console window (such as cmd, PowerShell, or Bash), create a new directory for the project.

    mkdir queues-quickstart-v12
    
  2. Przejdź do nowo utworzonych kolejek — szybki start-V12 .Switch to the newly created queues-quickstart-v12 directory.

    cd queues-quickstart-v12
    

Zainstaluj pakietInstall the package

Zainstaluj bibliotekę klienta usługi Azure Blob Storage dla pakietu języka Python za pomocą pip install polecenia.Install the Azure Blob storage client library for Python package by using the pip install command.

pip install azure-storage-queue

To polecenie powoduje zainstalowanie biblioteki klienta usługi Azure queue storage dla pakietu języka Python i wszystkich bibliotek, od których jest ona zależna.This command installs the Azure Queue storage client library for Python package and all the libraries on which it depends. W tym przypadku jest to tylko podstawowa Biblioteka platformy Azure dla języka Python.In this case, that is just the Azure core library for Python.

Konfigurowanie struktury aplikacjiSet up the app framework

  1. Otwórz nowy plik tekstowy w edytorze koduOpen a new text file in your code editor

  2. Dodaj import instrukcjeAdd import statements

  3. Utwórz strukturę dla programu, w tym bardzo podstawową obsługę wyjątkówCreate the structure for the program, including very basic exception handling

    Oto kod:Here's the code:

    import os, uuid
    from azure.storage.queue import QueueServiceClient, QueueClient, QueueMessage
    
    try:
        print("Azure Queue storage v12 - Python quickstart sample")
        # Quick start code goes here
    except Exception as ex:
        print('Exception:')
        print(ex)
    
    
  4. Zapisz nowy plik jako Queues-QuickStart-V12.py w katalogu Queues-Start-V12 .Save the new file as queues-quickstart-v12.py in the queues-quickstart-v12 directory.

Kopiowanie poświadczeń z witryny Azure PortalCopy your credentials from the Azure portal

Gdy aplikacja Przykładowa wysyła żądanie do usługi Azure Storage, musi mieć autoryzację.When the sample application makes a request to Azure Storage, it must be authorized. Aby autoryzować żądanie, Dodaj poświadczenia konta magazynu do aplikacji jako parametry połączenia.To authorize a request, add your storage account credentials to the application as a connection string. Wyświetl poświadczenia konta magazynu, wykonując następujące czynności:View your storage account credentials by following these steps:

  1. Zaloguj się w witrynie Azure Portal.Sign in to the Azure portal.

  2. Odszukaj konto magazynu.Locate your storage account.

  3. W sekcji Ustawienia omówienia kont magazynu wybierz pozycję Klucze dostępu.In the Settings section of the storage account overview, select Access keys. W tym miejscu możesz przeglądać klucze dostępu do konta oraz pełne parametry połączenia dla każdego klucza.Here, you can view your account access keys and the complete connection string for each key.

  4. Znajdź wartość Parametry połączenia w obszarze key1 i wybierz przycisk Kopiuj, aby skopiować parametry połączenia.Find the Connection string value under key1, and select the Copy button to copy the connection string. W następnym kroku dodasz wartość parametrów połączenia do zmiennej środowiskowej.You will add the connection string value to an environment variable in the next step.

    Zrzut ekranu pokazujący sposób kopiowania parametrów połączenia z witryny Azure Portal

Konfigurowanie parametrów połączenia magazynuConfigure your storage connection string

Po skopiowaniu parametrów połączenia zapisz je w nowej zmiennej środowiskowej na komputerze, na którym uruchomiona jest aplikacja.After you have copied your connection string, write it to a new environment variable on the local machine running the application. Aby ustawić zmienną środowiskową, otwórz okno konsoli i postępuj zgodnie z instrukcjami dla systemu operacyjnego.To set the environment variable, open a console window, and follow the instructions for your operating system. Zamień <yourconnectionstring> na rzeczywiste parametry połączenia.Replace <yourconnectionstring> with your actual connection string.

WindowsWindows

setx AZURE_STORAGE_CONNECTION_STRING "<yourconnectionstring>"

Po dodaniu zmiennej środowiskowej w systemie Windows należy uruchomić nowe wystąpienie okna polecenia.After you add the environment variable in Windows, you must start a new instance of the command window.

LinuxLinux

export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"

macOSmacOS

export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"

Uruchom ponownie programyRestart programs

Po dodaniu zmiennej środowiskowej Uruchom ponownie wszystkie uruchomione programy, które będą wymagały odczytania zmiennej środowiskowej.After you add the environment variable, restart any running programs that will need to read the environment variable. Na przykład przed kontynuowaniem Uruchom ponownie środowisko programistyczne lub Edytor.For example, restart your development environment or editor before continuing.

Model obiektówObject model

Azure Queue Storage to usługa służąca do przechowywania dużej liczby komunikatów.Azure Queue storage is a service for storing large numbers of messages. Komunikat w kolejce może mieć rozmiar do 64 KB.A queue message can be up to 64 KB in size. Kolejka może zawierać miliony komunikatów, do łącznego limitu pojemności konta magazynu.A queue may contain millions of messages, up to the total capacity limit of a storage account. Kolejki są często używane do tworzenia zaległości prac do przetwarzania asynchronicznego.Queues are commonly used to create a backlog of work to process asynchronously. Magazyn kolejek oferuje trzy typy zasobów:Queue storage offers three types of resources:

  • Konto magazynuThe storage account
  • Kolejka na koncie magazynuA queue in the storage account
  • Komunikaty w kolejceMessages within the queue

Na poniższym diagramie przedstawiono relacje między tymi zasobami.The following diagram shows the relationship between these resources.

Diagram architektury magazynu kolejki

Użyj następujących klas języka Python do korzystania z tych zasobów:Use the following Python classes to interact with these resources:

  • QueueServiceClient: QueueServiceClient umożliwia zarządzanie wszystkimi kolejkami na koncie magazynu.QueueServiceClient: The QueueServiceClient allows you to manage the all queues in your storage account.
  • QueueClient: QueueClient Klasa umożliwia zarządzanie pojedynczą kolejką i jej komunikatami oraz manipulowanie nimi.QueueClient: The QueueClient class allows you to manage and manipulate an individual queue and its messages.
  • QueueMessage: QueueMessage Klasa reprezentuje poszczególne obiekty zwracane podczas wywoływania receive_messages w kolejce.QueueMessage: The QueueMessage class represents the individual objects returned when calling receive_messages on a queue.

Przykłady koduCode examples

Te przykładowe fragmenty kodu pokazują, jak wykonać następujące czynności w bibliotece klienta usługi Azure queue storage dla języka Python:These example code snippets show you how to do the following actions with the Azure Queue storage client library for Python:

Pobieranie parametrów połączeniaGet the connection string

Poniższy kod pobiera parametry połączenia dla konta magazynu.The code below retrieves the connection string for the storage account. Parametry połączenia są przechowywane w zmiennej środowiskowej utworzonej w sekcji Konfigurowanie parametrów połączenia magazynu .The connection string is stored the environment variable created in the Configure your storage connection string section.

Dodaj ten kod wewnątrz try bloku:Add this code inside the try block:

    # Retrieve the connection string for use with the application. The storage
    # connection string is stored in an environment variable on the machine
    # running the application called AZURE_STORAGE_CONNECTION_STRING. If the
    # environment variable is created after the application is launched in a
    # console or with Visual Studio, the shell or application needs to be
    # closed and reloaded to take the environment variable into account.
    connect_str = os.getenv('AZURE_STORAGE_CONNECTION_STRING')

Tworzenie kolejkiCreate a queue

Określ nazwę nowej kolejki.Decide on a name for the new queue. Poniższy kod dołącza wartość identyfikatora UUID do nazwy kolejki, aby upewnić się, że jest ona unikatowa.The code below appends a UUID value to the queue name to ensure that it's unique.

Ważne

Nazwy kolejek mogą zawierać tylko małe litery, cyfry i łączniki, a także muszą zaczynać się literą lub cyfrą.Queue names may only contain lowercase letters, numbers, and hyphens, and must begin with a letter or a number. Przed i za każdym łącznikiem musi znajdować się znak inny niż łącznik.Each hyphen must be preceded and followed by a non-hyphen character. Nazwa musi mieć również długość od 3 do 63 znaków.The name must also be between 3 and 63 characters long. Aby uzyskać więcej informacji na temat nazewnictwa kolejek, zobacz nazywanie kolejek i metadanych.For more information about naming queues, see Naming Queues and Metadata.

Utwórz wystąpienie klasy QueueClient .Create an instance of the QueueClient class. Następnie Wywołaj metodę create_queue , aby utworzyć kolejkę na koncie magazynu.Then, call the create_queue method to create the queue in your storage account.

Dodaj ten kod na końcu try bloku:Add this code to the end of the try block:

    # Create a unique name for the queue
    queue_name = "quickstartqueues-" + str(uuid.uuid4())

    print("Creating queue: " + queue_name)

    # Instantiate a QueueClient which will be
    # used to create and manipulate the queue
    queue_client = QueueClient.from_connection_string(connect_str, queue_name)

    # Create the queue
    queue_client.create_queue()

Dodawanie komunikatów do kolejkiAdd messages to a queue

Poniższy fragment kodu dodaje komunikaty do kolejki, wywołując metodę send_message .The following code snippet adds messages to queue by calling the send_message method. Zapisuje także QueueMessage zwracane z trzeciego send_message wywołania.It also saves the QueueMessage returned from the third send_message call. saved_messageSłuży do aktualizacji zawartości wiadomości w dalszej części tego programu.The saved_message is used to update the message content later in the program.

Dodaj ten kod na końcu try bloku:Add this code to the end of the try block:

    print("\nAdding messages to the queue...")

    # Send several messages to the queue
    queue_client.send_message(u"First message")
    queue_client.send_message(u"Second message")
    saved_message = queue_client.send_message(u"Third message")

Wgląd w wiadomości w kolejcePeek at messages in a queue

Zajrzyj do komunikatów w kolejce, wywołując metodę peek_messages .Peek at the messages in the queue by calling the peek_messages method. peek_messagesMetoda pobiera co najmniej jeden komunikat z przodu kolejki, ale nie zmienia widoczności komunikatu.The peek_messages method retrieves one or more messages from the front of the queue but doesn't alter the visibility of the message.

Dodaj ten kod na końcu try bloku:Add this code to the end of the try block:

    print("\nPeek at the messages in the queue...")

    # Peek at messages in the queue
    peeked_messages = queue_client.peek_messages(max_messages=5)

    for peeked_message in peeked_messages:
        # Display the message
        print("Message: " + peeked_message.content)

Aktualizowanie komunikatu w kolejceUpdate a message in a queue

Zaktualizuj zawartość komunikatu, wywołując metodę update_message .Update the contents of a message by calling the update_message method. update_messageMetoda może zmienić limit czasu i treść wiadomości.The update_message method can change a message's visibility timeout and contents. Zawartość komunikatu musi być ciągiem zakodowanym w formacie UTF-8, który ma rozmiar do 64 KB.The message content must be a UTF-8 encoded string that is up to 64 KB in size. Wraz z nową zawartością można przekazać wartości z wiadomości zapisanej wcześniej w kodzie.Along with the new content, pass in values from the message that was saved earlier in the code. saved_messageWartości identyfikują, którą wiadomość należy zaktualizować.The saved_message values identify which message to update.

    print("\nUpdating the third message in the queue...")

    # Update a message using the message saved when calling send_message earlier
    queue_client.update_message(saved_message, pop_receipt=saved_message.pop_receipt, \
        content="Third message has been updated")

Odbieranie komunikatów z kolejkiReceive messages from a queue

Pobierz wcześniej dodane wiadomości, wywołując metodę receive_messages .Download previously added messages by calling the receive_messages method.

Dodaj ten kod na końcu try bloku:Add this code to the end of the try block:

    print("\nReceiving messages from the queue...")

    # Get messages from the queue
    messages = queue_client.receive_messages(messages_per_page=5)

Usuwanie komunikatów z kolejkiDelete messages from a queue

Usuwanie wiadomości z kolejki po ich odebraniu i przetworzeniu.Delete messages from the queue after they're received and processed. W takim przypadku przetwarzanie właśnie wyświetla komunikat w konsoli programu.In this case, processing is just displaying the message on the console.

Aplikacja wstrzymuje się do wprowadzania danych przez użytkownika, wywołując przed przetworzeniem input i usunięciem komunikatów.The app pauses for user input by calling input before it processes and deletes the messages. Przed usunięciem Azure Portal Sprawdź, czy zasoby zostały utworzone prawidłowo.Verify in your Azure portal that the resources were created correctly, before they're deleted. Wszystkie komunikaty, które nie zostały jawnie usunięte, zostaną ostatecznie wyświetlone w kolejce w celu przetworzenia ich przez inną szansę.Any messages not explicitly deleted will eventually become visible in the queue again for another chance to process them.

Dodaj ten kod na końcu try bloku:Add this code to the end of the try block:

    print("\nPress Enter key to 'process' messages and delete them from the queue...")
    input()

    for msg_batch in messages.by_page():
            for msg in msg_batch:
                # "Process" the message
                print(msg.content)
                # Let the service know we're finished with
                # the message and it can be safely deleted.
                queue_client.delete_message(msg)

Usuwanie kolejkiDelete a queue

Poniższy kod czyści zasoby utworzone przez aplikację przez usunięcie kolejki przy użyciu metody delete_queue .The following code cleans up the resources the app created by deleting the queue using the delete_queue method.

Dodaj ten kod na końcu try bloku i Zapisz plik:Add this code to the end of the try block and save the file:

    print("\nPress Enter key to delete the queue...")
    input()

    # Clean up
    print("Deleting queue...")
    queue_client.delete_queue()

    print("Done")

Uruchamianie koduRun the code

Ta aplikacja tworzy i dodaje trzy komunikaty do kolejki platformy Azure.This app creates and adds three messages to an Azure queue. Kod wyświetla listę komunikatów w kolejce, a następnie pobiera i usuwa je przed usunięciem kolejki.The code lists the messages in the queue, then retrieves and deletes them, before finally deleting the queue.

W oknie konsoli przejdź do katalogu zawierającego plik Queues-QuickStart-V12.py , a następnie wykonaj następujące python polecenie, aby uruchomić aplikację.In your console window, navigate to the directory containing the queues-quickstart-v12.py file, then execute the following python command to run the app.

python queues-quickstart-v12.py

Dane wyjściowe aplikacji są podobne do następujących:The output of the app is similar to the following example:

Azure Queue storage v12 - Python quickstart sample
Creating queue: quickstartqueues-cac365be-7ce6-4065-bd65-3756ea052cb8

Adding messages to the queue...

Peek at the messages in the queue...
Message: First message
Message: Second message
Message: Third message

Updating the third message in the queue...

Receiving messages from the queue...

Press Enter key to 'process' messages and delete them from the queue...

First message
Second message
Third message has been updated

Press Enter key to delete the queue...

Deleting queue...
Done

Gdy aplikacja jest wstrzymywana przed odebraniem wiadomości, Sprawdź konto magazynu w Azure Portal.When the app pauses before receiving messages, check your storage account in the Azure portal. Sprawdź, czy w kolejce znajdują się komunikaty.Verify the messages are in the queue.

Naciśnij klawisz Enter , aby odebrać i usunąć komunikaty.Press the Enter key to receive and delete the messages. Po wyświetleniu monitu ponownie naciśnij klawisz Enter , aby usunąć kolejkę i zakończyć pokaz.When prompted, press the Enter key again to delete the queue and finish the demo.

Następne krokiNext steps

W tym przewodniku szybki start przedstawiono sposób tworzenia kolejki i dodawania do niej komunikatów przy użyciu kodu języka Python.In this quickstart, you learned how to create a queue and add messages to it using Python code. Następnie nauczysz się wglądu, pobierania i usuwania komunikatów.Then you learned to peek, retrieve, and delete messages. Na koniec wiesz już, jak usunąć kolejkę komunikatów.Finally, you learned how to delete a message queue.

Samouczki, przykłady, szybki start i inne dokumenty można znaleźć w temacie:For tutorials, samples, quick starts and other documentation, visit: