İletiYi Yerleştir

İşlem Put Message , ileti kuyruğunun arkasına yeni bir ileti ekler. Görünürlük zaman aşımı süresi dolana kadar mesajı görünmez kılmak için bir görünürlük zaman aşımı da belirtilebilir. İleti, UTF-8 kodlamalı bir XML isteğine dahil edilebilen bir biçimde olmalıdır. Kodlanmış ileti, 2011-08-18 ve sonraki sürümler için en fazla 64 kibibayt (KiB) boyutunda veya önceki sürümler için 8 KiB boyutunda olabilir.

İstek

Put Message isteğini aşağıdaki gibi oluşturabilirsiniz. HTTPS kullanmanızı öneririz. myaccount değerini depolama hesabınızın adıyla ve myqueue kuyruğunuzun adıyla değiştirin:

Yöntem İstenilen URI HTTP sürümü
POST https://myaccount.queue.core.windows.net/myqueue/messages?visibilitytimeout=<int-seconds>&messagettl=<int-seconds> HTTP/1.1 (İngilizce)

Öykünmüş depolama hizmeti isteği

Öykünülmüş depolama hizmetine yönelik bir istekte bulunurken, öykünücü ana bilgisayar adını ve Kuyruk depolama bağlantı noktasını olarak 127.0.0.1:10001belirtin ve ardından öykünülmüş depolama hesabı adını belirtin:

Yöntem İstenilen URI HTTP sürümü
POST http://127.0.0.1:10001/devstoreaccount1/myqueue/messages?visibilitytimeout=<int-seconds>&messagettl=<int-seconds> HTTP/1.1 (İngilizce)

Daha fazla bilgi için bkz. Yerel Azure Depolama geliştirmesi için Azurite öykünücüsü kullanma.

URI parametreleri

İstek URI'sinde aşağıdaki parametreleri belirtebilirsiniz:

Parametre Açıklama
visibilitytimeout=<int=seconds> Opsiyonel. Sunucu saatine göre yeni görünürlük zaman aşımı değerini saniye cinsinden belirtir. Belirtilirse, isteğin 2011-08-18 veya üzeri kullanılarak x-ms-version yapılması gerekir. Belirtilmezse, varsayılan değer 0'dır. Yeni değer 0'dan büyük veya 0'a eşit olmalıdır ve 7 günden büyük olamaz. Bir iletinin görünürlük zaman aşımı, sona erme tarihinden sonraki bir değere ayarlanamaz. Yaşam süresi değerinden daha küçük bir değere ayarlayın visibilitytimeout .
messagettl=<int-seconds> Opsiyonel. İletinin yaşam süresini saniye cinsinden belirtir. 29/07/2017 tarihinden önceki sürümlerde izin verilen maksimum yaşam süresi 7 gündür. 2017-07-29 ve sonraki sürümler için, maksimum yaşam süresi herhangi bir pozitif sayı olabilir ve -1, bu da mesajın süresinin dolmadığını gösterir. Bu parametre atlanırsa, varsayılan yaşam süresi 7 gündür.
timeout Opsiyonel. timeout parametresi saniye cinsinden ifade edilir. Daha fazla bilgi için bkz. Kuyruk hizmeti işlemleri için zaman aşımlarını ayarlama.

İstek başlıkları

Gerekli ve isteğe bağlı istek üst bilgileri aşağıdaki tabloda açıklanmıştır:

İstek başlığı Açıklama
Authorization Gerekli. Yetkilendirme düzenini, hesap adını ve imzayı belirtir. Daha fazla bilgi için bkz. azure depolamaistekleri yetkilendirme .
Date or x-ms-date Gerekli. İstek için Eşgüdümlü Evrensel Saati (UTC) belirtir. Daha fazla bilgi için bkz. azure depolamaistekleri yetkilendirme .
x-ms-version Opsiyonel. Bu istek için kullanılacak işlemin sürümünü belirtir. Daha fazla bilgi için bkz . Azure Depolama hizmetleri için sürüm oluşturma.
x-ms-client-request-id Opsiyonel. Günlüğe kaydetme yapılandırıldığında günlüklere kaydedilen 1 kibibayt (KiB) karakter sınırıyla istemci tarafından oluşturulan, opak bir değer sağlar. İstemci tarafı etkinlikleriyle sunucunun aldığı istekler arasında bağıntı sağlamak için bu üst bilgiyi kullanmanızı kesinlikle öneririz.

İstek içeriği

İsteğin gövdesi, aşağıdaki XML biçimindeki ileti verilerini içerir. İleti içeriğinin UTF-8 ile kodlanabilecek bir biçimde olması gerektiğini unutmayın.

<QueueMessage>  
    <MessageText>message-content</MessageText>  
</QueueMessage>  

Numune isteği

Request:  
POST https://myaccount.queue.core.windows.net/messages?visibilitytimeout=30&timeout=30 HTTP/1.1  
  
Headers:  
x-ms-version: 2011-08-18  
x-ms-date: Tue, 30 Aug 2011 01:03:21 GMT  
Authorization: SharedKey myaccount:sr8rIheJmCd6npMSx7DfAY3L//V3uWvSXOzUBCV9wnk=  
Content-Length: 100  
  
Body:  
<QueueMessage>  
<MessageText>PHNhbXBsZT5zYW1wbGUgbWVzc2FnZTwvc2FtcGxlPg==</MessageText>  
</QueueMessage>  

Yanıt

Yanıt bir HTTP durum kodu ve bir dizi yanıt üst bilgisi içerir.

Durum kodu

Başarılı bir işlem 201 (Oluşturuldu) durum kodunu döndürür.

Durum kodları hakkında daha fazla bilgi için bkz. Durum ve hata kodları.

Yanıt başlıkları

Bu işlemin yanıtı aşağıdaki üst bilgileri içerir. Yanıt, ek standart HTTP üst bilgileri de içerebilir. Tüm standart üst bilgilerHTTP/1.1 protokol belirtimine uygundur.

İstek başlığı Açıklama
x-ms-request-id Yapılan isteği benzersiz olarak tanımlar ve isteği gidermek için kullanabilirsiniz. Daha fazla bilgi için bkz. API işlem sorunlarını giderme.
x-ms-version İsteği yürütmek için kullanılan Kuyruk hizmeti sürümünü gösterir. Bu üst bilgi, 2009-09-19 ve sonraki sürümlerde yapılan istekler için döndürülür.
Date Hizmet tarafından oluşturulan ve yanıtın başlatıldığı saati gösteren UTC tarih/saat değeri.
x-ms-client-request-id Bu üst bilgi, isteklerde ve ilgili yanıtlarda sorun gidermek için kullanılabilir. bu üst bilginin değeri, istekte mevcutsa ve değer 1.024'ten fazla görünür ASCII karakteri içermiyorsa x-ms-client-request-id üst bilgisinin değerine eşittir. İstekte x-ms-client-request-id üst bilgisi yoksa yanıtta bulunmaz.

Yanıtın içeriği

Sürüm 2016-05-31 itibariyle, işlemin yanıtı Put Message yanıt gövdesindeki ileti bilgilerini içerir. Döndürülen gövdenin XML biçimi burada açıklanmıştır.

Öğe MessageID , kuyruktaki iletiyi tanımlayan bir GUID değeridir. Bu değer, Kuyruk Depolama tarafından iletiye atanır ve istemci için opaktır. Bu değer, kuyruktan bir iletiyi silmek veya güncelleştirmek için PopReceipt öğesinin değeriyle birlikte kullanılabilir. PopReceipt'ın değeri de istemci için opaktır ve İletiyi Sil veya İletiyi Güncelleştir API'lerini kullanırken gereklidir.

InsertionTime, ExpirationTime, ve TimeNextVisible öğeleri UTC değerleri olarak temsil edilir ve RFC 1123'te açıklandığı gibi biçimlendirilir.

<QueueMessagesList>
    <QueueMessage>
      <MessageId>string-message-id</MessageId>
      <InsertionTime>insertion-time</InsertionTime>
      <ExpirationTime>expiration-time</ExpirationTime>
      <PopReceipt>opaque-string-receipt-data</PopReceipt>
      <TimeNextVisible>time-next-visible</TimeNextVisible>
    </QueueMessage>
</QueueMessagesList>

Örnek yanıt

Response Status:
HTTP/1.1 200 OK
Response headers:
Transfer-Encoding: chunked
Content-Type: application/xml
x-ms-version: 2016-05-31
Date: Fri, 09 Oct 2016 21:04:30 GMT
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0

Response Body:

<?xml version="1.0" encoding="utf-8"?>
<QueueMessagesList>
  <QueueMessage>
    <MessageId>5974b586-0df3-4e2d-ad0c-18e3892bfca2</MessageId>
    <InsertionTime>Fri, 09 Oct 2016 21:04:30 GMT</InsertionTime>
    <ExpirationTime>Fri, 16 Oct 2016 21:04:30 GMT</ExpirationTime>
    <PopReceipt>YzQ4Yzg1MDItYTc0Ny00OWNjLTkxYTUtZGM0MDFiZDAwYzEw</PopReceipt>
    <TimeNextVisible>Fri, 09 Oct 2016 23:29:20 GMT</TimeNextVisible>
   </QueueMessage>
</QueueMessagesList>

İzin

Bu işlem, hesap sahibi ve bu işlemi gerçekleştirme izinlerine sahip paylaşılan bir erişim imzasına sahip herkes tarafından gerçekleştirilebilir.

Açıklamalar

İsteğe bağlı görünürlük zaman aşımı, iletinin görünmez olduğu süreyi belirtir. Zaman aşımı süresi dolduktan sonra ileti görünür hale gelir. Görünürlük zaman aşımı belirtmezseniz, varsayılan değer olan 0 kullanılır.

İsteğe bağlı iletinin yaşam süresi, bir iletinin kuyrukta ne kadar süre kalacağını belirtir. Yaşam süresi sona erdiğinde ileti kuyruktan silinir.

İleti, UTF-8 kodlamalı bir XML isteğine dahil edilebilen bir biçimde olmalıdır. İletiye işaretleme eklemek için, iletinin içeriğinin Base64 ile kodlanmış olması gerekir. İletideki kodlanmamış herhangi bir XML işaretlemesi, iletinin geçersiz olmasına neden olur. İletiye geçersiz bir karakter (örneğin 0x1F) eklenirse, XML çıkış karakterli olsa bile, iletinin sonraki okumaları başarılı olmaz.

İleti çok büyükse, hizmet 400 (Hatalı İstek) durum kodunu döndürür.

Ayrıca bakınız

azure depolama istekleri yetkilendirmeyi
Durum ve hata kodları
Kuyruk hizmeti hata kodları