Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Wskazówka
Wypróbuj eksploratora usługi Microsoft Azure Storage
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.
Przegląd
W tym przewodniku przedstawiono sposób wykonywania typowych scenariuszy przy użyciu usługi Microsoft Azure Queue Storage. Przykłady są pisane przy użyciu interfejsu API platformy Azure w języku Ruby. Omówione scenariusze obejmują wstawianie, wyświetlanie, pobieranie i usuwanie komunikatów w kolejce, a także tworzenie i usuwanie kolejek.
Co to jest usługa Queue Storage?
Azure Queue Storage to usługa do przechowywania dużej liczby komunikatów, do których można uzyskiwać dostęp z dowolnego miejsca na świecie za pośrednictwem uwierzytelnionych wywołań przy użyciu protokołu HTTP lub HTTPS. Pojedynczy komunikat w kolejce może mieć rozmiar do 64 KB, a kolejka może zawierać miliony komunikatów, aż do osiągnięcia całkowitej pojemności konta magazynu. Usługa Queue Storage jest często używana do tworzenia listy prac w celu asynchronicznego przetwarzania.
Pojęcia dotyczące usługi kolejkowania
Usługa Azure Queue Service zawiera następujące składniki:
#B0 Konto magazynowe: #C1 Wszelki dostęp do usługi Azure Storage odbywa się za pośrednictwem konta magazynowego. Aby uzyskać więcej informacji na temat kont magazynu, zobacz Omówienie konta magazynu.
Kolejka: kolejka zawiera zestaw komunikatów. Wszystkie wiadomości muszą być w kolejce. Pamiętaj, że nazwa kolejki może zawierać tylko małe litery. Informacje dotyczące nazewnictwa kolejek można znaleźć w sekcji Naming Queues and Metadata.
Komunikat: komunikat w dowolnym formacie, o maksymalnym rozmiarze 64 KB. Maksymalny czas pozostawania komunikatu w kolejce wynosi 7 dni. W przypadku wersji 2017-07-29 lub nowszej maksymalny czas wygaśnięcia może być dowolną liczbą dodatnią lub -1 wskazującą, że komunikat nie wygasa. Jeśli ten parametr zostanie pominięty, domyślny czas wygaśnięcia wynosi siedem dni.
Format adresu URL: kolejki są adresowalne przy użyciu następującego formatu adresu URL: http://.queue.core.windows.net/
<storage account>Następujący adres URL adresuje kolejkę na diagramie:
http://myaccount.queue.core.windows.net/incoming-orders
Tworzenie konta usługi Azure Storage
Najprostszym sposobem utworzenia pierwszego konta usługi Azure Storage jest użycie witryny Azure Portal. Więcej informacji można znaleźć w temacie Tworzenie konta usług magazynowych.
Konto usługi Azure Storage można również utworzyć przy użyciu programu Azure PowerShell, interfejsu wiersza polecenia platformy Azurelub dostawcy zasobów usługi Azure Storage dla platformy .NET.
Jeśli w tej chwili nie chcesz tworzyć konta magazynu na platformie Azure, możesz również użyć emulatora magazynu Azurite do uruchomienia i przetestowania kodu w środowisku lokalnym. Aby uzyskać więcej informacji, zobacz Use the Azurite emulator for local Azure Storage development (Używanie emulatora Azurite do lokalnego programowania w usłudze Azure Storage).
Tworzenie aplikacji języka Ruby
Tworzenie aplikacji języka Ruby. Aby uzyskać instrukcje, zobacz Tworzenie aplikacji języka Ruby w usłudze App Service w systemie Linux.
Skonfiguruj aplikację, aby uzyskać dostęp do magazynu
Aby korzystać z Azure Storage, musisz pobrać i użyć pakietu Ruby Azure, który zawiera zestaw bibliotek pomocniczych, które komunikują się z usługami REST usługi storage.
Uzyskiwanie pakietu przy użyciu języka RubyGems
- Użyj interfejsu wiersza poleceń, takiego jak PowerShell (Windows), Terminal (Mac) lub Bash (powłoka Unix).
- Wpisz
gem install azurew oknie poleceń, aby zainstalować gem i zależności.
Importowanie pakietu
Użyj swojego ulubionego edytora tekstu, dodaj następujący kod na początku pliku Ruby, w którym zamierzasz używać przechowywania.
require "azure"
Konfigurowanie połączenia usługi Azure Storage
Moduł platformy Azure odczytuje zmienne AZURE_STORAGE_ACCOUNT środowiskowe i AZURE_STORAGE_ACCESS_KEY informacje wymagane do nawiązania połączenia z kontem usługi Azure Storage. Jeśli te zmienne środowiskowe nie są ustawione, przed użyciem Azure::QueueService następującego kodu należy określić informacje o koncie:
Azure.config.storage_account_name = "<your azure storage account>"
Azure.config.storage_access_key = "<your Azure storage access key>"
Aby uzyskać te wartości z klasycznego konta magazynu lub konta magazynu Resource Manager w portalu Azure:
- Zaloguj się w witrynie Azure Portal.
- Przejdź do konta magazynowego, którego chcesz użyć.
- W bloku Ustawienia po prawej stronie kliknij pozycję Klucze dostępu.
- W wyświetlonym bloku Klucze dostępu zobaczysz klucz dostępu 1 i klucz dostępu 2. Możesz użyć jednej z tych opcji.
- Kliknij ikonę kopiowania, aby skopiować klucz do schowka.
Instrukcje: tworzenie kolejki
Poniższy kod tworzy Azure::QueueService obiekt, który umożliwia pracę z kolejkami.
azure_queue_service = Azure::QueueService.new
create_queue() Użyj metody , aby utworzyć kolejkę o określonej nazwie.
begin
azure_queue_service.create_queue("test-queue")
rescue
puts $!
end
Instrukcje: wstawianie komunikatu do kolejki
Aby wstawić komunikat do kolejki, użyj create_message() metody , aby utworzyć nowy komunikat i dodać go do kolejki.
azure_queue_service.create_message("test-queue", "test message")
Instrukcje: Zobacz następną wiadomość
Możesz zajrzeć do wiadomości z przodu kolejki bez jej usuwania z kolejki, wywołując metodę peek_messages(). Domyślnie peek_messages() zagląda do pojedynczego komunikatu. Możesz również określić liczbę komunikatów, które chcesz przejrzeć.
result = azure_queue_service.peek_messages("test-queue",
{:number_of_messages => 10})
Jak: Wypisać/Usunąć z kolejki następną wiadomość
Komunikat z kolejki można usunąć w dwóch krokach.
- Po wywołaniu
list_messages()metody domyślnie zostanie wyświetlony następny komunikat w kolejce. Możesz również określić liczbę komunikatów, które chcesz pobrać. Komunikaty zwrócone zlist_messages()stają się niewidoczne dla innego kodu odczytującego komunikaty z tej kolejki. Limit czasu widoczności jest przekazywany w sekundach jako parametr. - Aby zakończyć usuwanie komunikatu z kolejki, należy również wywołać metodę
delete_message().
Ten dwuetapowy proces usuwania komunikatu zapewnia, że gdy kod nie przetworzy komunikatu z powodu awarii sprzętu lub oprogramowania, inne wystąpienie kodu może uzyskać ten sam komunikat i spróbować ponownie. Twój kod wywołuje delete_message(), bezpośrednio po przetworzeniu wiadomości.
messages = azure_queue_service.list_messages("test-queue", 30)
azure_queue_service.delete_message("test-queue",
messages[0].id, messages[0].pop_receipt)
Jak: Zmień zawartość wiadomości w kolejce
Zawartość komunikatu można zmienić w kolejce. Poniższy kod używa update_message() metody w celu zaktualizowania komunikatu. Metoda zwróci krotkę zawierającą potwierdzenie odbioru komunikatu kolejki i wartość UTC DateTime, reprezentującą czas, kiedy komunikat będzie widoczny w kolejce.
message = azure_queue_service.list_messages("test-queue", 30)
pop_receipt, time_next_visible = azure_queue_service.update_message(
"test-queue", message.id, message.pop_receipt, "updated test message",
30)
Instrukcje: dodatkowe opcje usuwania komunikatów z kolejki
Są dwa sposoby dostosowania pobierania komunikatów z kolejki.
- Możesz otrzymać serię wiadomości.
- Możesz ustawić dłuższy lub krótszy limit czasu niewidoczności, dzięki czemu kod ma więcej lub mniej czasu na pełne przetworzenie każdego komunikatu.
Poniższy przykład kodu używa metody list_messages() do pobrania 15 komunikatów w jednym wywołaniu. Następnie drukuje i usuwa każdy komunikat. Ustawia również limitu czasu niewidoczności na pięć minut dla każdego komunikatu.
azure_queue_service.list_messages("test-queue", 300
{:number_of_messages => 15}).each do |m|
puts m.message_text
azure_queue_service.delete_message("test-queue", m.id, m.pop_receipt)
end
Jak uzyskać długość kolejki
Możesz uzyskać oszacowanie liczby komunikatów w kolejce. Metoda get_queue_metadata() zwraca przybliżoną liczbę komunikatów i inne metadane kolejki.
message_count, metadata = azure_queue_service.get_queue_metadata(
"test-queue")
Jak usunąć kolejkę
Aby usunąć kolejkę i wszystkie zawarte w niej komunikaty, wywołaj metodę delete_queue() w obiekcie kolejki.
azure_queue_service.delete_queue("test-queue")
Dalsze kroki
Teraz, gdy znasz już podstawy usługi Queue Storage, skorzystaj z tych linków, aby dowiedzieć się więcej o bardziej skomplikowanych zadaniach związanych z magazynowaniem.
- Odwiedź blog zespołu usługi Azure Storage
- Odwiedź repozytorium azure SDK for Ruby w witrynie GitHub
Porównanie usługi Azure Queue Storage omówionego w tym artykule i kolejkach usługi Azure Service Bus omówionych w temacie Jak używać kolejek usługi Service Bus, zobacz Kolejki usługi Azure Queue Storage i Kolejki usługi Service Bus — porównanie i kontrast