Kuyruk ACL'lerini ayarlama

İşlem, Set Queue ACL sas (paylaşılan erişim imzası) ile kullanılabilecek kuyruk için depolanan erişim ilkelerini ayarlar. Daha fazla bilgi için bkz. Saklı erişim ilkesi tanımlama.

Not

İşlem Set Queue ACL 2012-02-12 ve sonraki sürümlerde kullanılabilir.

İstek

İsteği aşağıdaki gibi oluşturabilirsiniz Set Queue ACL . HTTPS kullanmanızı öneririz. myaccount değerini depolama hesabınızın adıyla değiştirin:

Yöntem İstek URI'si HTTP sürümü
PUT https://myaccount.queue.core.windows.net/myqueue?comp=acl HTTP/1.1

Öykünülmüş depolama hizmeti isteği

Öykünülen depolama hizmetine karşı istekte bulunulduğunda öykünücü ana bilgisayar adını ve Kuyruk hizmeti bağlantı noktasını olarak 127.0.0.1:10001ve ardından öykünülen depolama hesabı adını belirtin:

Yöntem İstek URI'si HTTP sürümü
PUT http://127.0.0.1:10001/devstoreaccount1/myqueue?comp=acl HTTP/1.1

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 ek parametreleri belirtebilirsiniz:

Parametre Açıklama
timeout İsteğe bağlı. timeout parametresi saniye cinsinden ifade edilir. Daha fazla bilgi için bkz . Kuyruk hizmeti işlemleri için zaman aşımlarını ayarlama.

İstek üst bilgileri

Gerekli ve isteğe bağlı istek üst bilgileri aşağıdaki tabloda açıklanmıştı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 isteklerini yetkilendirme.
Date veya 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 isteklerini yetkilendirme.
x-ms-version İsteğe bağlı. 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 kibibaytlık (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

Depolanan erişim ilkesi belirtmek için Set Queue ACL , işlemin istek gövdesinde benzersiz bir tanımlayıcı ve erişim ilkesi sağlayın.

SignedIdentifier öğesinde belirtilen benzersiz tanımlayıcıyı ve öğesinde Id belirtildiği gibi erişim ilkesinin AccessPolicy ayrıntılarını içerir. Benzersiz tanımlayıcının uzunluk üst sınırı 64 karakterdir.

Start ve Expiry alanları UTC saatleri olarak ifade edilmeli ve geçerli bir ISO 8061 biçimine uymalıdır. Desteklenen ISO 8061 biçimleri şunları içerir:

  • YYYY-MM-DD
  • YYYY-MM-DDThh:mmTZD
  • YYYY-MM-DDThh:mm:ssTZD
  • YYYY-MM-DDThh:mm:ss.ffffffTZD

Bu biçimlerin tarih bölümü için dört YYYY basamaklı bir yıl gösterimi, MM iki basamaklı ay gösterimi ve DD iki basamaklı bir gün gösterimidir. Zaman bölümü için, hh 24 saatlik gösterimdeki saat gösterimi, mm iki basamaklı dakika gösterimi, ss iki basamaklı ikinci gösterim ve ffffff altı basamaklı milisaniye gösterimidir. Saat göstergesi T dizenin tarih ve saat bölümlerini ayırır ve saat dilimi belirleyicisi TZD bir saat dilimi belirtir.

<?xml version="1.0" encoding="utf-8"?>  
<SignedIdentifiers>  
  <SignedIdentifier>   
    <Id>unique-64-character-value</Id>  
    <AccessPolicy>  
      <Start>start-time</Start>  
      <Expiry>expiry-time</Expiry>  
      <Permission>abbreviated-permission-list</Permission>  
    </AccessPolicy>  
  </SignedIdentifier>  
</SignedIdentifiers>  
  

Örnek istek

Request Syntax:  
PUT https://myaccount.queue.core.windows.net/myqueue?comp=acl HTTP/1.1  
  
Request Headers:  
x-ms-version: 2012-02-12  
x-ms-date: Sun, 25 Sep 2011 00:42:49 GMT  
Authorization: SharedKey myaccount:V47F2tYLS29MmHPhiR8FyiCny9zO5De3kVSF0RYQHmo=  
  
Request Body:  
<?xml version="1.0" encoding="utf-8"?>  
<SignedIdentifiers>  
  <SignedIdentifier>   
    <Id>MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=</Id>  
    <AccessPolicy>  
      <Start>2009-09-28T08:49:37.0000000Z</Start>  
      <Expiry>2009-09-29T08:49:37.0000000Z</Expiry>  
      <Permission>raup</Permission>  
    </AccessPolicy>  
  </SignedIdentifier>  
</SignedIdentifiers>  
  

Yanıt

Yanıt bir HTTP durum kodu ve yanıt üst bilgileri kümesi içerir.

Durum kodu

Başarılı bir işlem 204 (İçerik Yok) durum kodunu döndürür.

Durum kodları hakkında daha fazla 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.

Yanıt üst bilgisi Description
x-ms-request-id Yapılan isteği benzersiz olarak tanımlar ve istekle ilgili sorunları gidermek için kullanılabilir. Daha fazla bilgi için bkz. API işlemleriyle ilgili sorunları 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, istekler ve karşılık gelen yanıtlarla ilgili sorunları 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 üst bilginin değerine x-ms-client-request-id eşittir. x-ms-client-request-id Üst bilgi istekte yoksa yanıtta bulunmaz.

Örnek yanıt

Response Status:  
HTTP/1.1 204 No Content  
  
Response Headers:  
Transfer-Encoding: chunked  
Date: Sun, 25 Sep 2011 22:42:55 GMT  
x-ms-version: 2012-02-12  
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0  
  

Yetkilendirme

Bu işlemi yalnızca hesap sahibi çağırabilir.

Açıklamalar

Yalnızca hesap sahibi, kuyruktaki bir kaynak için paylaşılan erişim imzası vermediği sürece belirli bir kuyruktaki kaynaklara erişebilir.

Bir kuyruk için izinleri ayarladığınızda, mevcut izinler değiştirilir. Kuyruğun izinlerini güncelleştirmek için Kuyruk Al ACL'sini çağırarak kuyrukla ilişkili tüm erişim ilkelerini getirin. Değiştirmek istediğiniz erişim ilkesini değiştirin ve ardından güncelleştirmeyi gerçekleştirmek için tam veri kümesiyle çağrısı Set Queue ACL yapın.

Depolanan erişim ilkeleri oluşturma

Depolanan erişim ilkesi, ilişkili olduğu paylaşılan erişim imzaları için başlangıç saatini, süre sonunu ve izinleri belirtebilir. Kuyruk kaynağınıza erişimi nasıl denetlemek istediğinize bağlı olarak, bu parametrelerin tümünü depolanan erişim ilkesi içinde belirtebilir ve paylaşılan erişim imzası URL'sinden atlayabilirsiniz. Bunu yaparak, ilişkili imzanın davranışını istediğiniz zaman değiştirebilir veya iptal edebilirsiniz. Alternatif olarak, depolanmış erişim ilkesi içinde bir veya daha fazla erişim ilkesi parametresi ve URL'de diğerlerini belirtebilirsiniz. Son olarak, URL'de tüm parametreleri belirtebilirsiniz. Bu durumda, saklı erişim ilkesini kullanarak imzayı iptal edebilir, ancak davranışını değiştiremezsiniz. Erişim ilkeleri oluşturma hakkında daha fazla bilgi için bkz. Saklı erişim ilkesi tanımlama.

Paylaşılan erişim imzası ve depolanmış erişim ilkesi birlikte imzayı yetkilendirmek için gereken tüm alanları içermelidir. Gerekli alanlar eksikse istek başarısız olur. Benzer şekilde, bir alan hem paylaşılan erişim imzası URL'sinde hem de depolanmış erişim ilkesinde belirtilirse, istek 400 (Hatalı İstek) durum koduyla başarısız olur.

En fazla, tek bir kuyruk için her zaman beş ayrı erişim ilkesi ayarlanabilir. İstek gövdesinde beşten fazla erişim ilkesi geçirilirse, hizmet 400 (Hatalı İstek) durum kodunu döndürür.

Kuyrukta depolanmış erişim ilkesi oluşturduğunuzda, etkin olması 30 saniye kadar sürebilir. Bu aralık boyunca, depolanan erişim ilkesiyle ilişkili paylaşılan erişim imzası, erişim ilkesi etkin olana kadar 403 (Yasak) durum koduyla başarısız olur.

Ayrıca bkz.

Depolanan erişim ilkesi tanımlama
Kuyruk ACL'lerini alma
Azure Depolama'ya yönelik istekleri yetkilendirme
Durum ve hata kodları