hızlı başlangıç: Java için Azure kuyruğu Depolama istemci kitaplığı v12
Java için v12 istemci kitaplığı Depolama Azure kuyruğu ile çalışmaya başlayın. Azure kuyruğu Depolama, daha sonra almak ve işlemek üzere çok sayıda ileti depolamaya yönelik bir hizmettir. Paketi yüklemek ve temel görevler için örnek kodu denemek üzere bu adımları izleyin.
Java için v12 istemci kitaplığı Depolama Azure kuyruğunu şu şekilde kullanın:
- Bir kuyruk oluşturma
- Bir kuyruğa ileti ekleme
- Kuyruktaki iletilere göz atın
- Kuyruktaki bir iletiyi güncelleştirme
- Kuyruktaki iletileri alma ve silme
- Bir kuyruk silme
Ek kaynaklar:
Önkoşullar
- Java Development Kit (JDK) sürüm 8 veya üstü
- Apache Maven
- Azure aboneliği- ücretsiz olarak bir tane oluşturun
- Azure Depolama hesabı- depolama hesabı oluşturma
Ayarlanıyor
bu bölümde, bir projeyi Java için v12 istemci kitaplığı Depolama Azure kuyruğu ile çalışacak şekilde hazırlama adımları gösterilmektedir.
Proje oluşturma
Adlı bir Java uygulaması oluşturun queues-quickstart-v12 .
Konsol penceresinde (cmd, PowerShell veya Bash gibi), Maven kullanarak ada sahip yeni bir konsol uygulaması oluşturun
queues-quickstart-v12.mvnBir "Hello World" Java projesi oluşturmak için aşağıdaki komutu yazın.mvn archetype:generate ` --define interactiveMode=n ` --define groupId=com.queues.quickstart ` --define artifactId=queues-quickstart-v12 ` --define archetypeArtifactId=maven-archetype-quickstart ` --define archetypeVersion=1.4Projenin üretilme çıktısı şuna benzer görünmelidir:
[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] ------------------------------------------------------------------------Yeni oluşturulan dizine geçiş yapın
queues-quickstart-v12.cd queues-quickstart-v12
Paketi yükler
pom.xmlDosyayı metin düzenleyicinizde açın. Aşağıdaki bağımlılık öğesini bağımlılıklar grubuna ekleyin.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-storage-queue</artifactId>
<version>12.0.1</version>
</dependency>
Uygulama çerçevesini ayarlama
Proje dizininden:
/src/main/java/com/queues/quickstartdizinine gidinApp.javaDosyayı Düzenleyicinizde açın- İfadeyi sil
System.out.println("Hello, world"); importYönergeler ekleme
Kod şu şekildedir:
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
{
}
}
Azure portalından kimlik bilgilerinizi kopyalama
örnek uygulama Azure Depolama istek yaptığında yetkilendirilmiş olması gerekir. Bir isteği yetkilendirmek için, depolama hesabı kimlik bilgilerinizi uygulamaya bağlantı dizesi olarak ekleyin. Depolama hesabı kimlik bilgilerinizi görüntülemek için aşağıdaki adımları izleyin:
Azure Portal’ında oturum açın.
Depolama hesabınızı bulun.
Depolama hesabı menü bölmesinde, güvenlik + ağ altında, erişim anahtarları' nı seçin. Burada, her anahtar için hesap erişim anahtarlarını ve tüm bağlantı dizesini görüntüleyebilirsiniz.

Erişim tuşları bölmesinde, anahtarları göster' i seçin.
KEY1 bölümünde bağlantı dizesi değerini bulun. Bağlantı dizesini kopyalamak için Panoya Kopyala simgesini seçin. Bir sonraki bölümde bağlantı dizesi değerini bir ortam değişkenine eklersiniz.

Depolama bağlantı dizelerinizi yapılandırma
Bağlantı dizesini kopyaladıktan sonra, uygulamayı çalıştıran yerel makinede yeni bir ortam değişkenine yazın. Ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminizin yönergelerini izleyin. <yourconnectionstring>Gerçek bağlantı dizeniz ile değiştirin.
Windows
setx AZURE_STORAGE_CONNECTION_STRING "<yourconnectionstring>"
ortam değişkenini Windows ekledikten sonra, komut penceresinin yeni bir örneğini başlatmanız gerekir.
Linux
export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"
macOS
export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"
Programları yeniden Başlat
Ortam değişkenini ekledikten sonra, ortam değişkenini okumak için gereken tüm çalışan programları yeniden başlatın. Örneğin, devam etmeden önce geliştirme ortamınızı veya düzenleyiciyi yeniden başlatın.
Nesne modeli
Azure Kuyruk Depolama, çok sayıda iletiyi depolamaya yönelik bir hizmettir. Kuyruk iletisi boyutu 64 KB 'ye kadar olabilir. Bir kuyruk, depolama hesabının toplam kapasite sınırına kadar milyonlarca ileti içerebilir. Kuyruklar genellikle zaman uyumsuz olarak işlenecek iş biriktirme listesi oluşturmak için kullanılır. Queue Depolama üç tür kaynak sunar:
- Depolama hesabı
- Depolama hesabındaki bir kuyruk
- Kuyruktaki iletiler
Aşağıdaki diyagramda bu kaynaklar arasındaki ilişki gösterilmektedir.

Şu kaynaklarla etkileşim kurmak için aşağıdaki Java sınıflarını kullanın:
QueueClientBuilder:QueueClientBuilderSınıfı bir nesneyi yapılandırır ve başlatırQueueClient.QueueServiceClient:,QueueServiceClientDepolama hesabınızdaki tüm kuyrukları yönetmenizi sağlar.QueueClient:QueueClientSınıfı tek bir kuyruğu ve iletilerini yönetmenizi ve düzenlemenizi sağlar.QueueMessageItem:QueueMessageItemSınıfı, bir sıraya çağrılırken döndürülen ayrı nesneleri temsil ederReceiveMessages.
Kod örnekleri
bu örnek kod parçacıkları, Java için Azure kuyruğu Depolama istemci kitaplığı ile aşağıdaki eylemleri nasıl yapılacağını gösterir:
- Bağlantı dizesini alma
- Bir kuyruk oluşturma
- Bir kuyruğa ileti ekleme
- Kuyruktaki iletilere göz atın
- Kuyruktaki bir iletiyi güncelleştirme
- Kuyruktaki iletileri alma ve silme
- Bir kuyruk silme
Bağlantı dizesini alma
Aşağıdaki kod, depolama hesabı için bağlantı dizesini alır. Bağlantı dizesi, depolama Bağlantı dizenizi yapılandırma bölümünde oluşturulan ortam değişkenini saklı tutulur.
Bu kodu metodun içine ekleyin main :
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");
Bir kuyruk oluşturma
Yeni sıra için bir ad belirleyin. Aşağıdaki kod, benzersiz olduğundan emin olmak için kuyruk adına bir GUID değeri ekler.
Önemli
Kuyruk adları yalnızca küçük harf, sayı ve kısa çizgi içerebilir ve bir harf veya sayı ile başlamalıdır. Her kısa çizginin önünde ve arkasında kısa çizgi dışında bir karakter bulunmalıdır. Ad ayrıca 3 ila 63 karakter uzunluğunda olmalıdır. Adlandırma sıraları hakkında daha fazla bilgi için bkz. adlandırma sıraları ve meta verileri.
Sınıfının bir örneğini oluşturun QueueClient . Ardından, Create depolama hesabınızda kuyruğu oluşturmak için yöntemini çağırın.
Bu kodu yönteminin sonuna ekleyin main :
// 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();
Bir kuyruğa ileti ekleme
Aşağıdaki kod parçacığı, yöntemini çağırarak kuyruğa ileti ekler sendMessage . Ayrıca, SendMessageResult bir çağrıdan döndürülen bir sendMessage çağrı kaydeder. Sonuç, programın ilerleyen kısımlarında iletiyi güncelleştirmek için kullanılır.
Bu kodu yönteminin sonuna ekleyin main :
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");
Kuyruktaki iletilere göz atın
Yöntemi çağırarak kuyruktaki iletilere göz atın peekMessages . Bu yöntem, sıranın önüne bir veya daha fazla ileti alır ancak iletinin görünürlüğünü değiştirmez.
Bu kodu yönteminin sonuna ekleyin main :
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()));
Kuyruktaki bir iletiyi güncelleştirme
Yöntemini çağırarak bir iletinin içeriğini güncelleştirin updateMessage . Bu yöntem, bir iletinin görünürlük zaman aşımını ve içeriğini değiştirebilir. İleti içeriği, boyutu 64 KB 'a kadar olan bir UTF-8 kodlu dize olmalıdır. İletinin yeni içeriğiyle birlikte, SendMessageResult kodda daha önce kaydedilen öğesini kullanarak ILETI kimliğini ve pop alındı bilgisini geçirin. İleti KIMLIĞI ve pop alındısı hangi iletinin güncelleştirilecek olduğunu belirler.
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));
Kuyruktaki iletileri alma ve silme
Yöntemini çağırarak önceden eklenmiş iletileri indirin receiveMessages . Örnek kod aynı zamanda iletileri alındıktan ve işlendikten sonra kuyruktan de siler. Bu durumda, işleme yalnızca konsolda iletiyi görüntülüyor.
Uygulama, System.console().readLine(); iletileri almadan ve silmeden önce çağırarak kullanıcı girişi için duraklatılır. Azure Portal , kaynakların silinmeden önce doğru şekilde oluşturulduğunu doğrulayın. Açıkça silinmeyen tüm iletiler, daha sonra bu işlemleri işlemek için bir süre sonra sırada görünür hale gelir.
Bu kodu yönteminin sonuna ekleyin main :
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());
}
);
Bir kuyruk silme
Aşağıdaki kod, yöntemi kullanılarak sıranın silindiği, uygulamanın oluşturduğu kaynakları temizler Delete .
Bu kodu yönteminin sonuna ekleyin main :
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");
Kodu çalıştırma
Bu uygulama, bir Azure kuyruğuna üç ileti oluşturur ve ekler. Kod kuyruktaki iletileri listeler, ardından kuyruğu silmeden önce bunları alır ve siler.
Konsol pencerenizde uygulama dizininize gidip uygulamayı derleyin ve çalıştırın.
mvn compile
Ardından, paketini oluşturun.
mvn package
mvnUygulamayı çalıştırmak için aşağıdaki komutu kullanın.
mvn exec:java -Dexec.mainClass="com.queues.quickstart.App" -Dexec.cleanupDaemonThreads=false
Uygulamanın çıktısı aşağıdaki örneğe benzer:
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
Uygulama iletileri almadan önce durakladığında, Azure Portaldepolama hesabınızı kontrol edin. İletilerin kuyrukta olduğunu doğrulayın.
Enterİletileri almak ve silmek için tuşuna basın. İstendiğinde, Enter kuyruğu silmek ve tanıtımı sona almak için tuşa basın.
Sonraki adımlar
Bu hızlı başlangıçta, bir kuyruk oluşturmayı ve Java kodunu kullanarak buna ileti eklemeyi öğrendiniz. Ardından iletileri göz atmayı, almayı ve silmeyi öğrendiniz. Son olarak, bir ileti sırasının nasıl silineceğini öğrendiniz.
Öğreticiler, örnekler, hızlı bir şekilde ve diğer belgeler için şu adresi ziyaret edin:
- daha fazla azure kuyruğu Depolama örnek uygulamalar için bkz. Java-samples için v12 client library Depolama azure kuyruğu.