rychlý start: v12 klientské knihovny pro Azure Queue Storage pro Java
začínáme s klientskou knihovnou v12 pro Azure Queue Storage pro Java. Azure Queue Storage je služba pro ukládání velkého počtu zpráv pro pozdější načtení a zpracování. Postupujte podle těchto kroků a nainstalujte balíček a vyzkoušejte ukázkový kód pro základní úlohy.
pomocí klientské knihovny Azure Queue Storage v12 pro jazyk Java:
- Vytvoření fronty
- Přidání zpráv do fronty
- Prohlížet zprávy ve frontě
- Aktualizace zprávy ve frontě
- Přijímání a odstraňování zpráv z fronty
- Odstranění fronty
Další prostředky:
Požadavky
- Java Development Kit (JDK) verze 8 nebo vyšší
- Apache Maven
- Předplatné Azure – Vytvořte si ho zdarma .
- účet Azure Storage – vytvoření účtu úložiště
Nastavení
tato část vás provede přípravou projektu pro práci s v12 klientské knihovny Azure Queue Storage pro Java.
Vytvoření projektu
Vytvořte aplikaci Java s názvem queues-quickstart-v12 .
V okně konzoly (například cmd, PowerShell nebo bash) použijte Maven k vytvoření nové konzolové aplikace s názvem
queues-quickstart-v12. Zadáním následujícíhomvnpříkazu vytvořte projekt "Hello World" v jazyce Java.mvn archetype:generate ` --define interactiveMode=n ` --define groupId=com.queues.quickstart ` --define artifactId=queues-quickstart-v12 ` --define archetypeArtifactId=maven-archetype-quickstart ` --define archetypeVersion=1.4Výstup z generování projektu by měl vypadat přibližně takto:
[INFO] Scanning for projects... [INFO] [INFO] ------------------< org.apache.maven:standalone-pom >------------------- [INFO] Building Maven Stub Project (No POM) 1 [INFO] --------------------------------[ pom ]--------------------------------- [INFO] [INFO] >>> maven-archetype-plugin:3.1.2:generate (default-cli) > generate-sources @ standalone-pom >>> [INFO] [INFO] <<< maven-archetype-plugin:3.1.2:generate (default-cli) < generate-sources @ standalone-pom <<< [INFO] [INFO] [INFO] --- maven-archetype-plugin:3.1.2:generate (default-cli) @ standalone-pom --- [INFO] Generating project in Batch mode [INFO] ---------------------------------------------------------------------------- [INFO] Using following parameters for creating project from Archetype: maven-archetype-quickstart:1.4 [INFO] ---------------------------------------------------------------------------- [INFO] Parameter: groupId, Value: com.queues.quickstart [INFO] Parameter: artifactId, Value: queues-quickstart-v12 [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] Parameter: package, Value: com.queues.quickstart [INFO] Parameter: packageInPathFormat, Value: com/queues/quickstart [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] Parameter: package, Value: com.queues.quickstart [INFO] Parameter: groupId, Value: com.queues.quickstart [INFO] Parameter: artifactId, Value: queues-quickstart-v12 [INFO] Project created from Archetype in dir: C:\quickstarts\queues\queues-quickstart-v12 [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 6.394 s [INFO] Finished at: 2019-12-03T09:58:35-08:00 [INFO] ------------------------------------------------------------------------Přepněte do nově vytvořeného
queues-quickstart-v12adresáře.cd queues-quickstart-v12
Instalace balíčku
Otevřete pom.xml soubor v textovém editoru. Přidejte následující prvek závislosti do skupiny závislostí.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-storage-queue</artifactId>
<version>12.0.1</version>
</dependency>
Nastavení aplikační architektury
Z adresáře projektu:
- Přejděte k adresáři
/src/main/java/com/queues/quickstart. - Otevřete
App.javasoubor v editoru. - Odstranění
System.out.println("Hello, world");příkazu - Přidat
importdirektivy
Zde je kód:
package com.queues.quickstart;
/**
* Azure Queue Storage client library v12 quickstart
*/
import com.azure.storage.queue.*;
import com.azure.storage.queue.models.*;
import java.io.*;
import java.time.*;
public class App
{
public static void main( String[] args ) throws IOException
{
}
}
Zkopírování přihlašovacích údajů z webu Azure Portal
Když ukázková aplikace vytvoří požadavek na Azure Storage, musí být autorizována. Pokud chcete požadavek autorizovat, přidejte do aplikace přihlašovací údaje svého účtu úložiště jako připojovací řetězec. Pokud chcete zobrazit přihlašovací údaje účtu úložiště, postupujte takto:
Přihlaste se k webu Azure Portal.
Vyhledejte svůj účet úložiště.
V podokně nabídek účtu úložiště v části Zabezpečení a sítě vyberte Přístupové klíče. Tady můžete zobrazit přístupové klíče účtu a úplný připojovací řetězec pro každý klíč.

V podokně Přístupové klíče vyberte Zobrazit klíče.
V části key1 vyhledejte hodnotu Připojovací řetězec. Vyberte ikonu Zkopírovat do schránky a zkopírujte připojovací řetězec. Hodnotu připojovacího řetězce přidáte do proměnné prostředí v další části.

Konfigurace připojovacího řetězce úložiště
Po zkopírování připojovacího řetězce ho zapište do nové proměnné prostředí na místním počítači, na který běží aplikace. Proměnnou prostředí nastavíte tak, že otevřete okno konzoly a budete postupovat podle pokynů pro váš operační systém. Nahraďte <yourconnectionstring> skutečným připojovacím řetězcem.
Windows
setx AZURE_STORAGE_CONNECTION_STRING "<yourconnectionstring>"
Po přidání proměnné prostředí v Windows, je nutné spustit novou instanci příkazového okna.
Linux
export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"
macOS
export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"
Restartování programů
Po přidání proměnné prostředí restartujte všechny spuštěné programy, které budou muset proměnnou prostředí přečíst. Před pokračováním například restartujte vývojové prostředí nebo editor.
Objektový model
Azure Queue Storage je služba pro ukládání velkých objemů zpráv. Zpráva fronty může mít velikost až 64 KB. Fronta může obsahovat miliony zpráv až do celkového limitu kapacity účtu úložiště. Fronty se běžně používají k vytváření nevyřízených položek pro asynchronní zpracování. Queue Storage nabízí tři typy prostředků:
- Účet úložiště
- Fronta v účtu úložiště
- Zprávy ve frontě
Na následujícím diagramu jsou vztahy těchto prostředků.

K interakci s těmito prostředky použijte následující třídy Java:
QueueClientBuilder:QueueClientBuilderTřída konfiguruje a vytvoří instanciQueueClientobjektu.QueueServiceClient:QueueServiceClientUmožňuje spravovat všechny fronty v účtu úložiště.QueueClient:QueueClientTřída umožňuje spravovat a manipulovat s jednotlivou frontou a jejími zprávami.QueueMessageItem:QueueMessageItemTřída představuje jednotlivé objekty vracené při voláníReceiveMessagesve frontě.
Příklady kódu
tyto ukázkové fragmenty kódu ukazují, jak provést následující akce s klientskou knihovnou Azure Queue Storage pro Java:
- Získání připojovacího řetězce
- Vytvoření fronty
- Přidání zpráv do fronty
- Prohlížet zprávy ve frontě
- Aktualizace zprávy ve frontě
- Přijímání a odstraňování zpráv z fronty
- Odstranění fronty
Získání připojovacího řetězce
Následující kód načte připojovací řetězec pro účet úložiště. Připojovací řetězec ukládá proměnnou prostředí vytvořenou v části Konfigurace připojovacího řetězce úložiště .
Přidejte tento kód do main metody:
System.out.println("Azure Queue Storage client library v12 - Java quickstart sample\n");
// 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.
String connectStr = System.getenv("AZURE_STORAGE_CONNECTION_STRING");
Vytvoření fronty
Určete název nové fronty. Následující kód připojí hodnotu identifikátoru GUID k názvu fronty, aby bylo zajištěno, že je jedinečný.
Důležité
Názvy front můžou obsahovat jenom malá písmena, číslice a spojovníky a musí začínat písmenem nebo číslicí. Před i za každým spojovníkem musí být jiný znak než spojovník. Název musí mít také délku 3 až 63 znaků. Další informace o pojmenovávání front najdete v tématu pojmenování front a metadat.
Vytvořte instanci QueueClient třídy. Pak zavolejte Create metodu pro vytvoření fronty ve vašem účtu úložiště.
Přidejte tento kód na konec main metody:
// Create a unique name for the queue
String queueName = "quickstartqueues-" + java.util.UUID.randomUUID();
System.out.println("Creating queue: " + queueName);
// Instantiate a QueueClient which will be
// used to create and manipulate the queue
QueueClient queueClient = new QueueClientBuilder()
.connectionString(connectStr)
.queueName(queueName)
.buildClient();
// Create the queue
queueClient.create();
Přidání zpráv do fronty
Následující fragment kódu přidá zprávy do fronty voláním sendMessage metody. Také uloží SendMessageResult vrácené sendMessage volání. Výsledek se používá k aktualizaci zprávy později v programu.
Přidejte tento kód na konec main metody:
System.out.println("\nAdding messages to the queue...");
// Send several messages to the queue
queueClient.sendMessage("First message");
queueClient.sendMessage("Second message");
// Save the result so we can update this message later
SendMessageResult result = queueClient.sendMessage("Third message");
Prohlížet zprávy ve frontě
Podívejte se na zprávy ve frontě tím, že zavoláte peekMessages metodu. Tato metoda načte jednu nebo více zpráv z přední části fronty, ale nezmění viditelnost zprávy.
Přidejte tento kód na konec main metody:
System.out.println("\nPeek at the messages in the queue...");
// Peek at messages in the queue
queueClient.peekMessages(10, null, null).forEach(
peekedMessage -> System.out.println("Message: " + peekedMessage.getMessageText()));
Aktualizace zprávy ve frontě
Aktualizujte obsah zprávy voláním updateMessage metody. Tato metoda může změnit časový limit a obsah viditelnosti zprávy. Obsah zprávy musí být řetězec kódovaný v kódování UTF-8, který má velikost až 64 KB. Spolu s novým obsahem zprávy předejte ID zprávy a příjemku POP pomocí SendMessageResult , který byl uložen dříve v kódu. ID zprávy a příjemku pop identifikují, která zpráva se má aktualizovat.
System.out.println("\nUpdating the third message in the queue...");
// Update a message using the result that
// was saved when sending the message
queueClient.updateMessage(result.getMessageId(),
result.getPopReceipt(),
"Third message has been updated",
Duration.ofSeconds(1));
Přijímání a odstraňování zpráv z fronty
Stažení dříve přidaných zpráv voláním receiveMessages metody. Vzorový kód také odstraní zprávy z fronty po jejich přijetí a zpracování. V tomto případě se zpracovává jenom zpráva v konzole nástroje.
Aplikace pozastaví vstup uživatele voláním System.console().readLine(); , než přijme a odstraní zprávy. Před odstraněním ověřte ve svém Azure Portal , že se prostředky vytvořily správně. Všechny zprávy, které se explicitně neodstraní, se později stanou viditelnými ve frontě, aby se mohly zpracovat další šance na jejich zpracování.
Přidejte tento kód na konec main metody:
System.out.println("\nPress Enter key to receive messages and delete them from the queue...");
System.console().readLine();
// Get messages from the queue
queueClient.receiveMessages(10).forEach(
// "Process" the message
receivedMessage -> {
System.out.println("Message: " + receivedMessage.getMessageText());
// Let the service know we're finished with
// the message and it can be safely deleted.
queueClient.deleteMessage(receivedMessage.getMessageId(), receivedMessage.getPopReceipt());
}
);
Odstranění fronty
Následující kód vyčistí prostředky, které aplikace vytvořila, odstraněním fronty pomocí Delete metody.
Přidejte tento kód na konec main metody:
System.out.println("\nPress Enter key to delete the queue...");
System.console().readLine();
// Clean up
System.out.println("Deleting queue: " + queueClient.getQueueName());
queueClient.delete();
System.out.println("Done");
Spuštění kódu
Tato aplikace vytvoří a přidá tři zprávy do fronty Azure. Kód vypíše zprávy ve frontě a pak je načte a odstraní před tím, než se nakonec odstraní fronta.
V okně konzoly přejděte do adresáře aplikace a pak Sestavte a spusťte aplikaci.
mvn compile
Pak Sestavte balíček.
mvn package
mvnK spuštění aplikace použijte následující příkaz.
mvn exec:java -Dexec.mainClass="com.queues.quickstart.App" -Dexec.cleanupDaemonThreads=false
Výstup aplikace je podobný následujícímu příkladu:
Azure Queue Storage client library v12 - Java quickstart sample
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...
Press Enter key to receive messages and delete them from the queue...
Message: First message
Message: Second message
Message: Third message has been updated
Press Enter key to delete the queue...
Deleting queue: quickstartqueues-fbf58f33-4d5a-41ac-ac0e-1a05d01c7003
Done
Když se aplikace před přijetím zpráv pozastaví, ověřte si účet úložiště v Azure Portal. Ověřte, zda jsou zprávy ve frontě.
Pokud Enter chcete zprávy přijmout a odstranit, stiskněte klávesu. Po zobrazení výzvy znovu stiskněte klávesu Enter a odstraňte frontu a dokončete ukázku.
Další kroky
V tomto rychlém startu jste zjistili, jak vytvořit frontu a přidat do ní zprávy pomocí kódu Java. Pak jste se naučili prohlížet, načítat a odstraňovat zprávy. Nakonec jste zjistili, jak odstranit frontu zpráv.
Výukové programy, ukázky, rychlé starty a další dokumentace najdete na webu:
- další ukázkové aplikace pro azure Queue Storage najdete v tématu ukázky pro modul Java v azure Queue Storage v12.