İletiyi Güncelleştirme
İşlem, Update Message
bir iletinin görünürlük zaman aşımını güncelleştirir. Bu işlemi bir iletinin içeriğini güncelleştirmek için de kullanabilirsiniz. İleti, UTF-8 kodlamalı bir XML isteğine dahil edilebilen bir biçimde olmalı ve kodlanmış iletinin boyutu 64 KB'a kadar olabilir. Bu işlem, Azure Kuyruk Depolama API'sinin 2011-08-18 sürümüyle kullanıma sunulmuştur.
İstek
İsteği aşağıdaki gibi oluşturabilirsiniz Update Message
. HTTPS önerilir.
myaccount değerini depolama hesabınızın adıyla, myqueue değerini ise kuyruğunuzun adıyla değiştirin.
Yöntem | İstek URI'si | HTTP sürümü |
---|---|---|
PUT |
https://myaccount.queue.core.windows.net/myqueue/messages/messageid?popreceipt=<string-value>&visibilitytimeout=<int-seconds> |
HTTP/1.1 |
Öykünülmüş depolama hizmeti
Bu işlem SDK 1.6 ve sonraki sürümlerde desteklenir.
Öykünülmüş depolama hizmetine yönelik bir istekte bulunurken öykünücü konak adını ve Kuyruk Depolama bağlantı noktasını olarak 127.0.0.1:10001
, ardından öykünülmüş depolama hesabı adını belirtin.
Yöntem | İstek URI'si | HTTP sürümü |
---|---|---|
PUT |
http://127.0.0.1:10001/devstoreaccount1/myqueue/messages/messageid?popreceipt=<string-value>&visibilitytimeout=<int-seconds> |
HTTP/1.1 |
URI parametreleri
İstek URI'sinde aşağıdaki parametreleri belirtebilirsiniz.
Parametre | Açıklama |
---|---|
popreceipt |
Gereklidir.
İletiLeri Al veya İletiyi Güncelleştir işlemlerine yapılan önceki bir çağrıdan döndürülen geçerli pop makbuzu değerini belirtir. URL popreceipt ile kodlanmış olmalıdır. |
visibilitytimeout |
Gereklidir. Sunucu süresine göre saniye olarak yeni görünürlük zaman aşımı değerini belirtir. Yeni değer 0'dan büyük veya buna eşit olmalıdır ve 7 günden uzun olamaz. İletinin görünürlük zaman aşımı süresi, süre sonu süresinden sonraki bir değere ayarlanamaz. İleti silinene veya süresi dolana kadar iletiyi güncelleştirebilirsiniz. |
timeout |
İsteğe bağlı.
timeout parametresi saniye cinsinden ifade edilir. Daha fazla bilgi için bkz . Kuyruk Depolama işlemleri için zaman aşımlarını ayarlama. |
İstek üst bilgileri
Aşağıdaki tabloda gerekli ve isteğe bağlı istek üst bilgileri açıklanmaktadır.
İstek üst bilgisi | Açıklama |
---|---|
Authorization |
Gereklidir. Yetkilendirme düzenini, hesap adını ve imzayı belirtir. Daha fazla bilgi için bkz. Azure Depolama'ya istekleri yetkilendirme. |
Date or x-ms-date |
Gereklidir. İstek için Eşgüdümlü Evrensel Saat (UTC) biçimini belirtir. Daha fazla bilgi için bkz. Azure Depolama'ya istekleri yetkilendirme. |
x-ms-version |
2011-08-18 veya üzerini gerektirir. 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 |
İsteğe bağlı. 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. Daha fazla bilgi için bkz. Azure Kuyruk Depolama'yı izleme. |
İstek gövdesi
İsteğin gövdesi, ileti verilerini aşağıdaki XML biçiminde içerir. İleti içeriğinin UTF-8 ile kodlanabilen bir biçimde olması gerektiğini unutmayın.
<QueueMessage>
<MessageText>message-content</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 204 (İçerik Yok) durum kodunu döndürür. Durum kodları hakkında bilgi için bkz. Durum ve hata kodları.
Yanıt üst bilgileri
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 bilgiler HTTP/1.1 protokol belirtimine uygundur.
İstek üst bilgisi | Açıklama |
---|---|
x-ms-request-id |
Bu üst bilgi, yapılan isteği benzersiz olarak tanımlar ve istek sorunlarını gidermek için kullanılabilir. Daha fazla bilgi için bkz . API işlemleriyle ilgili sorunları giderme. |
x-ms-version |
İsteği çalıştırmak için kullanılan Kuyruk Depolama 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 |
Yanıtın başlatıldığı saati gösteren UTC tarih/saat değeri. Hizmet bu değeri oluşturur. |
x-ms-popreceipt |
Kuyruk iletisinin pop alındı bilgisi. |
x-ms-time-next-visible |
İletinin kuyrukta ne zaman görünür olacağını gösteren utc tarih/saat değeri. |
x-ms-client-request-id |
İsteklerde ve karşılık gelen yanıtlarda sorun gidermek için bu üst bilgiyi kullanabilirsiniz. Bu üst bilginin değeri, istekte varsa üst bilginin değerine x-ms-client-request-id eşittir. Değer en fazla 1.024 görünür ASCII karakterdir. İstekte x-ms-client-request-id üst bilgi yoksa, yanıtta bu üst bilgi bulunmaz. |
Yanıt gövdesi
Yok.
Yetkilendirme
Hesap sahibi bu işlemi gerçekleştirebilir. Ayrıca, paylaşılan erişim imzasına sahip olan ve bu işlemi gerçekleştirme izni olan herkes bunu yapabilir.
Örnek istek ve yanıt
Aşağıdaki istek, kuyruk iletisinin görünürlüğünü 30 saniye genişletir ve içeriğini güncelleştirir.
PUT https://myaccount.queue.core.windows.net/myqueue/messages/663d89aa-d1d9-42a2-9a6a-fcf822a97d2c?popreceipt=AgAAAAEAAAApAAAAGIw6Q29bzAE%3d&visibilitytimeout=30&timeout=30 HTTP/1.1
İstek aşağıdaki üst bilgilerle gönderilir:
x-ms-version: 2011-08-18
x-ms-date: Mon, 29 Aug 2011 17:17:21 GMT
Authorization: SharedKey myaccount:batcrWZ35InGCZeTUFWMdIQiOZPCW7UEyeGdDOg7WW4=
Content-Length: 75
İstek aşağıdaki XML gövdesiyle gönderilir:
<QueueMessage>
<MessageText>new-message-content</MessageText>
</QueueMessage>
İstek gönderildikten sonra aşağıdaki yanıt döndürülür:
HTTP/1.1 204 No Content
Content-Length: 0
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: df34a7dd-3cbe-4206-a586-d6de3cf225a7
x-ms-version: 2011-08-18
x-ms-popreceipt: AwAAAAIAAAApAAAAINtMQ29bzAEBAAAA
x-ms-time-next-visible: Mon, 29 Aug 2011 17:17:51 GMT
Date: Mon, 29 Aug 2011 17:17:21 GMT
Açıklamalar
Update Message
Belirtilen ileti kuyrukta yoksa veya belirtilen pop alındı bilgisi iletiyle eşleşmiyorsa işlem başarısız olur.
İşlem veya Update Message
işlem tarafından Get Messages
bir pop alındı bilgisi döndürülür. Pop alındı bilgileri, aşağıdaki olaylardan biri gerçekleşene kadar geçerli kalır:
İletinin süresi doldu.
İleti, veya
Update Message
'denGet Messages
alınan son pop alındı bilgisi kullanılarak silindi.Görünmezlik süresi geçti ve bir istek tarafından
Get Messages
iletinin sırası kaldırıldı. Görünmezlik süresi geçtiğinde, ileti yeniden görünür hale gelir. Başka birGet Messages
istek tarafından alınırsa, döndürülen pop alındı bilgisi iletiyi silmek veya güncelleştirmek için kullanılabilir.İleti yeni bir görünürlük zaman aşımı ile güncelleştirildi. İleti güncelleştirildiğinde yeni bir açılır makbuz döndürülür.
Bir kuyruk iletisinin Update Message
görünmezliğini sürekli genişletmek için işlemini kullanabilirsiniz. Bir çalışan rolünün kuyruk iletisi kiralamasını istiyorsanız bu işlev yararlı olabilir. Örneğin, bir çalışan rolü İleti Al'ı çağırırsa ve bir iletiyi işlemek için daha fazla zamana ihtiyacı olduğunu algılarsa, ileti işlenene kadar iletinin görünmezliğini sürekli genişletebilir. çalışan rolü işleme sırasında başarısız olursa, sonunda ileti yeniden görünür hale gelir ve başka bir çalışan rolü bunu işleyebilecektir.
Ayrıca bkz.
Azure Depolama'ya yönelik istekleri yetkilendirme
Durum ve hata kodları
Kuyruk Depolama hata kodları