Hizmet SAS örnekleri

Bu konuda, REST API ile paylaşılan erişim imzalarının örnek kullanımları gösterilmektedir. Paylaşılan erişim imzaları kapsayıcılara ve bloblara, tablolara, kuyruklara veya dosyalara erişim hakları sağlamanıza olanak sağlar. Paylaşılan erişim imzası sağlayarak, kullanıcılara belirli bir süre boyunca belirli bir kapsayıcı, blob, kuyruk, tablo veya tablo varlık aralığına kısıtlı erişim vererek. Paylaşılan erişim imzalarını oluşturma, ayrıştırma ve kullanmayla ilgili tüm ayrıntılar için bkz. Paylaşılan Erişim İmzası ile Erişimi Temsilci Olarak Belirleme. Paylaşılan erişim imzaları oluşturmak için .NET depolama istemci kitaplığını kullanma hakkında bilgi için bkz. Paylaşılan Erişim İmzası Oluşturma ve Kullanma.

Blob Örnekleri

Bu bölüm, bloblardaki REST işlemleri için paylaşılan erişim imzalarını gösteren örnekler içerir.

Örnek: Kapsayıcının Paylaşılan Erişim İmzasını Kullanarak Blob Alma

2013-08-15 Öncesi Sürümler

Aşağıdaki örnekte, bir kapsayıcıda okuma erişimi için paylaşılan erişim imzası oluşturma gösterilmektedir.

URL'yi içerecek imzalı imza alanları şunlardır:

signedstart=2009-02-09  
signedexpiry=2009-02-10  
signedresource=c  
signedpermissions=r  
signature=dD80ihBh5jfNpymO5Hg1IdiJIEvHcJpCMiCMnN/RnbI=  
signedidentifier=YWJjZGVmZw==  
signedversion=2012-02-12  

İmza aşağıdaki gibi oluşturulur:

StringToSign = r + \n   
               2009-02-09 + \n  
               2009-02-10 + \n  
               /myaccount/pictures + \n  
               YWJjZGVmZw== + \n  
               2012-02-12  
  
HMAC-SHA256(URL.Decode(UTF8.Encode(StringToSign))) = dD80ihBh5jfNpymO5Hg1IdiJIEvHcJpCMiCMnN/RnbI=  

İstek URL'si, belirlenen aralık için kapsayıcı üzerindeki pictures okuma izinlerini belirtir. İstek URL'si tarafından temsil edilen kaynak bir blobdur, ancak kapsayıcıda paylaşılan erişim imzası belirtilir. Blob üzerinde de belirtebilirsiniz.

GET https://myaccount.blob.core.windows.net/pictures/profile.jpg?sv=2012-02-12&st=2009-02-09&se=2009-02-10&sr=c&sp=r&si=YWJjZGVmZw%3d%3d&sig=dD80ihBh5jfNpymO5Hg1IdiJIEvHcJpCMiCMnN%2fRnbI%3d   
HTTP/1.1  
Host: myaccount.blob.core.windows.net  
x-ms-date: <date>  
  

Sürüm 2013-08-15 ve Üzeri

Aşağıdaki örnekte, depolama hizmetlerinin 2013-08-15 sürümünü kullanarak bir kapsayıcıda okuma erişimi için paylaşılan erişim imzası oluşturma gösterilmektedir.

Sürüm 2013-08-15, isteği veren istemcinin yalnızca bu paylaşılan erişim imzası için yanıt üst bilgilerini geçersiz kılmasını sağlayan yeni sorgu parametreleri sunar.

Yanıt üst bilgileri ve karşılık gelen sorgu parametreleri aşağıdaki gibidir:

Yanıt üst bilgisi adı Karşılık gelen SAS sorgu parametresi
Cache-Control rscc
Content-Disposition rscd
Content-Encoding rsce
Content-Language rscl
Content-Type rsct

İmza için imza dizesinden imzaya kadar olan alanlar şunlardır:

signedstart=2013-08-16  
signedexpiry=2013-08-17  
signedresource=c  
signedpermissions=r  
signedidentifier=YWJjZGVmZw==  
signedversion=2013-08-15  
responsecontent-disposition=file; attachment  
responsecontent-type=binary  

dizeden imzaya aşağıdaki gibi oluşturulur:

StringToSign = r + \n   
               2013-08-16 + \n  
               2013-08-17 + \n  
               /myaccount/pictures + \n  
               YWJjZGVmZw== + \n  
               2013-08-15 + \n  
               + \n    
               file; attachment + \n  
               + \n  
               + \n  
               binary  
  
HMAC-SHA256(URL.Decode(UTF8.Encode(StringToSign))) = a39+YozJhGp6miujGymjRpN8tsrQfLo9Z3i8IRyIpnQ=  

Paylaşılan erişim imzası, belirlenen aralık için resimler kapsayıcısı üzerindeki okuma izinlerini belirtir. İstek URL'si tarafından temsil edilen kaynak bir blobdur, ancak kapsayıcıda paylaşılan erişim imzası belirtilir. Blob üzerinde de belirtebilirsiniz.

GET https://myaccount.blob.core.windows.net/pictures/profile.jpg?sv=2013-08-15&st=2013-08-16&se=2013-08-17&sr=c&sp=r&rscd=file;%20attachment&rsct=binary &sig=YWJjZGVmZw%3d%3d&sig=a39%2BYozJhGp6miujGymjRpN8tsrQfLo9Z3i8IRyIpnQ%3d HTTP/1.1  
  

Bu imzayla istekte bulunan bir istemci için, aşağıdaki ölçütler karşılanırsa Blob Al işlemi yürütülür:

  • İstek başarıyla yetkilendirildi.

  • İstek, paylaşılan erişim imzası tarafından belirtilen zaman çerçevesi içinde yapılır.

  • İstek, ilişkili bir depolanmış erişim ilkesinin herhangi bir terimini ihlal etmez.

  • İstek (/myaccount/pictures/profile.jpg) tarafından belirtilen blob, imzalı kaynak (/myaccount/pictures) olarak belirtilen kapsayıcıda bulunur.

Paylaşılan erişim imzasında ve rscd=file; attachment belirtilmesirsct=binary, yanıttaki içerik türü ve içerik bırakma üst bilgilerini sırasıyla geçersiz kılar.

Bu paylaşılan erişim imzası kullanılarak yapılan bir istek için başarılı bir yanıt aşağıdakine benzer olacaktır:

Status Response:  
HTTP/1.1 200 OK  
  
Response Headers:  
x-ms-blob-type: BlockBlob  
Content-Length: 11  
Content-Type: binary  
Content-Disposition: file; attachment  
ETag: "0x8CB171DBEAD6A6B"  
x-ms-version: 2013-08-15  
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0  

Örnek: Kapsayıcının Paylaşılan Erişim İmzasını Kullanarak Blob Yükleme

Aşağıdaki örnekte blob yazmak için paylaşılan erişim imzasının nasıl oluşturulduğu gösterilmektedir. Bu örnekte, kapsayıcıdaki tüm bloblar için yazma izinleri veren bir imza oluştururuz. Ardından kapsayıcıdaki bir bloba yazmak için paylaşılan erişim imzasını kullanırız.

URL'yi içerecek imzalı alanlar şunlardır:

  
signedstart=2015-07-01T08:49Z  
signedexpiry=2015-07-02T08:49Z  
signedresource=c  
signedpermissions=w  
signedidentifier=YWJjZGVmZw==  
signedversion=2015-02-21  
  

İmza aşağıdaki gibi oluşturulur:

  
StringToSign = w + \n   
               2015-07-01T08:49Z + \n  
               2015-07-02T08:49Z + \n  
               /myaccount/pictures + \n  
               YWJjZGVmZw== + \n  
               2013-08-15  
  
HMAC-SHA256(URL.Decode(UTF8.Encode(StringToSign))) = Rcp6gQRfV7WDlURdVTqCa+qEArnfJxDgE+KH3TCChIs=  
  

İstek URL'si, belirlenen aralık için kapsayıcı üzerinde pictures yazma izinlerini belirtir. İstek URL'si tarafından temsil edilen kaynak bir blobdur, ancak kapsayıcıda paylaşılan erişim imzası belirtilir. Blob üzerinde de belirtebilirsiniz.

PUT https://myaccount.blob.core.windows.net/pictures/photo.jpg?sv=2015-02-21&st=2015-07-01T08%3a49Z&se=2015-07-02T08%3a49Z&  
sr=c&sp=w&si=YWJjZGVmZw%3d%3d&sig=Rcp6gQRfV7WDlURdVTqCa%2bqEArnfJxDgE%2bKH3TCChIs%3d HTTP/1.1  
Host: myaccount.blob.core.windows.net  
  
Content-Length: 12  
  
Hello World.  
  

Bu imzayla, aşağıdaki ölçütler karşılanırsa Blob Yerleştir çağrılır:

  • İstek başarıyla yetkilendirildi.

  • İstek, paylaşılan erişim imzası tarafından belirtilen zaman çerçevesi içinde yapılır.

  • İstek, ilişkili bir depolanmış erişim ilkesinin herhangi bir terimini ihlal etmez.

  • İstek (/myaccount/pictures/photo.jpg) tarafından belirtilen blob, imzalı kaynak (/myaccount/pictures) olarak belirtilen kapsayıcıdadır.

Örnek: Blob'un Paylaşılan Erişim İmzasını Kullanarak Blob Silme

Aşağıdaki örnekte, blob için silme izinleri veren ve bir blobu silerek paylaşılan erişim imzası oluşturma işlemi gösterilmektedir.

Dikkat

Bir istemcinin verileri silmesine izin verilmesi istenmeyen sonuçlara neden olabileceği için, DELETE işlemi için paylaşılan erişim imzalarının rastgele dağıtılması gerektiğini unutmayın.

URL'yi içerecek imzalı imza alanları şunlardır:

  
signedstart=2015-07-01T08:49:37.0000000Z  
signedexpiry=2015-07-02T08:49:37.0000000Z  
signedresource=b  
signedpermissions=d  
signature=+SzBm0wi8xECuGkKw97wnkSZ/62sxU+6Hq6a7qojIVE=  
signedidentifier=YWJjZGVmZw==  
signedversion=2015-02-21  
  

İmza aşağıdaki gibi oluşturulur:

  
StringToSign = d + \n   
               2015-07-01T08:49:37.0000000Z + \n  
               2015-07-02T08:49:37.0000000Z + \n  
               blob/myaccount/pictures/profile.jpg + \n  
               YWJjZGVmZw==  
               2015-02-21  
  
HMAC-SHA256(URL.Decode(UTF8.Encode(StringToSign))) = +SzBm0wi8xECuGkKw97wnkSZ/62sxU+6Hq6a7qojIVE=  
  

İstek URL'si, belirlenen aralık için resimler kapsayıcısı üzerindeki silme izinlerini belirtir. İstek URL'si tarafından temsil edilen kaynak bir blobdur ve paylaşılan erişim imzası bu blobda belirtilir. Kapsayıcıdaki herhangi bir blobu silme izni vermek için blob kapsayıcısında da belirtebilirsiniz.

  
DELETE https://myaccount.blob.core.windows.net/pictures/profile.jpg?sv=2015-02-21&st=2015-07-01T08%3a49%3a37.0000000Z&se=2015-07-02T08%3a49%3a37.0000000Z&sr=b&sp=d&si=YWJjZGVmZw%3d%3d&sig=%2bSzBm0wi8xECuGkKw97wnkSZ%2f62sxU%2b6Hq6a7qojIVE%3d HTTP/1.1  
Host: myaccount.blob.core.windows.net  
Content-Length: 0  
  

Bu imzayla, aşağıdaki ölçütler karşılanırsa Blobu Sil çağrılır:

  • İstek başarıyla yetkilendirildi.

  • İstek, paylaşılan erişim imzası tarafından belirtilen zaman çerçevesi içinde yapılır.

  • İstek, ilişkili bir depolanmış erişim ilkesinin herhangi bir terimini ihlal etmez.

  • İstek (/myaccount/pictures/profile.jpg) tarafından belirtilen blob, imzalı kaynak olarak belirtilen blobla eşleşir.

Dosya Örnekleri

Bu bölüm, dosyalardaki REST işlemleri için paylaşılan erişim imzalarını gösteren örnekler içerir.

Örnek: Paylaşımın Paylaşılan Erişim İmzasını Kullanarak Dosya Alma

Aşağıdaki örnekte, paylaşımda okuma erişimi için paylaşılan erişim imzası oluşturma gösterilmektedir.

Az sayıda sorgu parametresi, isteği veren istemcinin bu paylaşılan erişim imzası için yanıt üst bilgilerini geçersiz kılabilmesini sağlayabilir.

Yanıt üst bilgileri ve karşılık gelen sorgu parametreleri aşağıdaki gibidir:

Yanıt üst bilgisi adı Karşılık gelen SAS sorgu parametresi
Cache-Control rscc
Content-Disposition rscd
Content-Encoding rsce
Content-Language rscl
Content-Type rsct

İmza için imza dizesinden imzaya kadar olan alanlar şunlardır:

signedstart=2015-07-01T08:49Z  
signedexpiry=2015-07-02T08:49Z  
signedresource=c  
signedpermissions=r  
signature=dD80ihBh5jfNpymO5Hg1IdiJIEvHcJpCMiCMnN/RnbI=  
signedidentifier=YWJjZGVmZw==  
signedversion=2015—02-21  
responsecontent-disposition=file; attachment  
responsecontent-type=binary  

dizeden imzaya aşağıdaki gibi oluşturulur:

StringToSign = r + \n   
               2015-07-01T08:49Z + \n  
               2015-07-02T08:49Z + \n  
               file/myaccount/pictures + \n  
               YWJjZGVmZw== + \n  
               2015—02-21 + \n  
               + \n    
               file; attachment + \n  
               + \n  
               + \n  
               binary  
  
HMAC-SHA256(URL.Decode(UTF8.Encode(StringToSign))) = a39+YozJhGp6miujGymjRpN8tsrQfLo9Z3i8IRyIpnQ=  

Paylaşılan erişim imzası, belirlenen aralık için paylaşımda pictures okuma izinlerini belirtir. İstek URL'si tarafından temsil edilen kaynak bir dosyadır, ancak paylaşımda paylaşılan erişim imzası belirtilir. Dosyanın kendisinde de belirtebilirsiniz.

GET https://myaccount.file.core.windows.net/pictures/profile.jpg?sv=2015-02-21&st=2015-07-01T08:49Z&se=2015-07-02T08:49Z&sr=c&sp=r&rscd=file;%20attachment&rsct=binary&sig=YWJjZGVmZw%3d%3d&sig=a39%2BYozJhGp6miujGymjRpN8tsrQfLo9Z3i8IRyIpnQ%3d  
  

Bu imzayla istekte bulunan bir istemci için, aşağıdaki ölçütler karşılanırsa Dosya Al işlemi yürütülür:

  • İstek başarıyla yetkilendirildi.

  • İstek, paylaşılan erişim imzası tarafından belirtilen zaman çerçevesi içinde yapılır.

  • İstek, ilişkili bir depolanmış erişim ilkesinin herhangi bir terimini ihlal etmez.

  • İstek ( /myaccount/pictures/profile.jpg) tarafından belirtilen dosya, imzalı kaynak (/myaccount/pictures) olarak belirtilen paylaşımda bulunur.

Paylaşılan erişim imzasında ve belirtilmesirsct=binary, yanıttaki ve content-disposition üst bilgilerini sırasıyla geçersiz kılarcontent-type.rscd=file; attachment

Bu paylaşılan erişim imzası kullanılarak yapılan bir istek için başarılı bir yanıt aşağıdakine benzer olacaktır:

Status Response:  
HTTP/1.1 200 OK  
  
Response Headers:  
Content-Length: 11  
Content-Type: binary  
Content-Disposition: file; attachment  
ETag: "0x8CB171DBEAD6A6B"  
x-ms-version: 2015-02-21  
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0  

Örnek: Paylaşımda Paylaşılan Erişim İmzası Kullanarak Dosya Yükleme

Aşağıdaki örnekte, dosya yazmak için paylaşılan erişim imzasının nasıl oluşturulduğu gösterilmektedir. Bu örnekte, paylaşımdaki tüm dosyalar için yazma izinleri veren bir imza oluştururuz. Ardından paylaşımdaki bir dosyaya yazmak için paylaşılan erişim imzasını kullanırız.

URL'yi içerecek imzalı imza alanları şunlardır:

signedstart=2015-07-01T08:49Z  
signedexpiry=2015-07-02T08:49Z  
signedresource=c  
signedpermissions=w  
signature=Rcp6gQRfV7WDlURdVTqCa+qEArnfJxDgE+KH3TCChIs=  
signedidentifier=YWJjZGVmZw==  
signedversion=2015-02-21  

İmza aşağıdaki gibi oluşturulur:

StringToSign = w + \n   
               2015-07-01T08:49Z + \n  
               2015-07-02T08:49Z + \n  
               file/myaccount/pictures + \n  
               YWJjZGVmZw== + \n  
               2015-02-21  
  
HMAC-SHA256(URL.Decode(UTF8.Encode(StringToSign))) = Rcp6gQRfV7WDlURdVTqCa+qEArnfJxDgE+KH3TCChIs=  

İstek URL'si, belirlenen aralık için kapsayıcı üzerinde pictures yazma izinlerini belirtir. İstek URL'si tarafından temsil edilen kaynak bir blobdur, ancak kapsayıcıda paylaşılan erişim imzası belirtilir. Blob üzerinde de belirtebilirsiniz.

PUT https://myaccount.file.core.windows.net/pictures/photo.jpg?sv=2015-02-21&st=2015-07-01T08%3a49Z&se=2015-07-01T08%3a49Z&  
sr=c&sp=w&si=YWJjZGVmZw%3d%3d&sig=Rcp6gQRfV7WDlURdVTqCa%2bqEArnfJxDgE%2bKH3TCChIs%3d HTTP/1.1  
Host: myaccount.blob.core.windows.net  
Content-Length: 12  
  
Hello World.  

Bu imzayla, aşağıdaki ölçütler karşılanırsa Dosya Oluştur çağrılır:

  • İstek başarıyla yetkilendirildi.

  • İstek, paylaşılan erişim imzası tarafından belirtilen zaman çerçevesi içinde yapılır.

  • İstek, ilişkili bir saklı erişim ilkesinin herhangi bir terimini ihlal etmez.

  • İstek (/myaccount/pictures/photo.jpg) tarafından belirtilen dosya, imzalı kaynak (/myaccount/pictures) olarak belirtilen paylaşımdadır.

Örnek: Dosyanın Paylaşılan Erişim İmzasını Kullanarak Dosya Silme

Aşağıdaki örnekte, bir dosya için silme izinleri veren ve ardından paylaşılan erişim imzasını kullanarak dosyayı silecek paylaşılan erişim imzası oluşturma işlemi gösterilmektedir.

Dikkat

Bir istemcinin verileri silmesine izin vermek istenmeyen sonuçlara neden olabileceği için, DELETE işlemi için paylaşılan erişim imzası akıllıca dağıtılmalıdır.

URL'yi içerecek imzalı imza alanları şunlardır:

signedstart=2015-07-01T08:49:37.0000000Z  
signedexpiry=2015-07-02T08:49:37.0000000Z  
signedresource=b  
signedpermissions=d  
signature=+SzBm0wi8xECuGkKw97wnkSZ/62sxU+6Hq6a7qojIVE=  
signedidentifier=YWJjZGVmZw==  
signedversion=2015-02-21  

İmza aşağıdaki gibi oluşturulur:

StringToSign = d + \n   
               2015-07-01T08:49:37.0000000Z + \n  
               2015-07-02T08:49:37.0000000Z + \n  
               file/myaccount/pictures/profile.jpg + \n  
               YWJjZGVmZw==  
               2015-02-21  
  
HMAC-SHA256(URL.Decode(UTF8.Encode(StringToSign))) = +SzBm0wi8xECuGkKw97wnkSZ/62sxU+6Hq6a7qojIVE=  

İstek URL'si, belirlenen aralık için resim paylaşımındaki silme izinlerini belirtir. İstek URL'si tarafından temsil edilen kaynak bir dosyadır ve paylaşılan erişim imzası bu dosyada belirtilir. Paylaşımdaki herhangi bir dosyayı silme izni vermek için dosya paylaşımında bunu belirtmek de mümkündür.

DELETE https://myaccount.file.core.windows.net/pictures/profile.jpg?sv=2015-02-21&st=2015-07-01T08%3a49%3a37.0000000Z&se=2015-07-02T08%3a49%3a37.0000000Z&sr=b&sp=d&si=YWJjZGVmZw%3d%3d&sig=%2bSzBm0wi8xECuGkKw97wnkSZ%2f62sxU%2b6Hq6a7qojIVE%3d HTTP/1.1  
Host: myaccount.blob.core.windows.net  
Content-Length: 0  

Bu imzayla, aşağıdaki ölçütler karşılanırsa Dosyayı Sil çağrılır:

  • İstek başarıyla yetkilendirildi.

  • İstek, paylaşılan erişim imzası tarafından belirtilen zaman çerçevesi içinde yapılır.

  • İstek, ilişkili bir saklı erişim ilkesinin herhangi bir terimini ihlal etmez.

  • İstek (/myaccount/pictures/profile.jpg) tarafından belirtilen dosya, imzalı kaynak olarak belirtilen dosyayla eşleşir.

Kuyruk Örnekleri

Bu bölüm, kuyruklardaki REST işlemleri için paylaşılan erişim imzalarını gösteren örnekler içerir. Bu örneklerde Kuyruk hizmeti işlemi yalnızca aşağıdaki ölçütler karşılandığında çalıştırılır:

  • İstek başarıyla yetkilendirildi.

  • İstek, paylaşılan erişim imzası tarafından belirtilen zaman çerçevesi içinde yapılır.

  • İstek, ilişkili bir saklı erişim ilkesinin herhangi bir terimini ihlal etmez.

  • İstek tarafından belirtilen kuyruk, paylaşılan erişim imzası tarafından yetkilendirilen kuyrukla aynıdır.

Örnek: Paylaşılan Erişim İmzası kullanarak İleti alma

Aşağıdaki örnekte, kuyruktan ileti almak için paylaşılan erişim imzası oluşturma işlemi gösterilmektedir. Bu imza kuyruk için ileti işleme izinleri verir. Son olarak, bu örnek kuyruktan bir ileti almak için paylaşılan erişim imzasını kullanır.

aşağıdaki imza alanlarını, imzaya dizenin oluşturulmasını ve istek yetkilendirildikten sonra İleti Al işlemini çağıran URL'nin oluşturulmasını inceleyin:

signedstart=2015-07-01T08:49Z  
signedexpiry=2015-07-02T08:49Z  
signedpermissions=p  
signature=+SzBm0wi8xECuGkKw97wnkSZ/62sxU+6Hq6a7qojIVE=  
signedidentifier=YWJjZGVmZw==   
signedversion=2015-02-21  
  
StringToSign = p + \n   
               2015-07-01T08:49Z + \n  
               2015-07-02T08:49Z + \n  
               queue/myaccount/myqueue + \n  
               YWJjZGVmZw== + \n  
               2015-02-21  
  
GET https://myaccount.queue.core.windows.net/myqueue/messages?visibilitytimeout=120&sv=2015-02-21&st=2015-07-01T08%3a49Z&se=2015-07-02T08%3a49Z&sp=p&si=YWJjZGVmZw%3d%3d&sig=jDrr6cna7JPwIaxWfdH0tT5v9dc%3d HTTP/1.1  
Host: myaccount.queue.core.windows.net  
  

Örnek: Paylaşılan Erişim İmzası Kullanarak İleti Ekleme

Aşağıdaki örnekte, kuyruğa ileti eklemek için paylaşılan erişim imzası oluşturma adımları gösterilmektedir. Bu imza kuyruk için ekleme izinleri verir. Son olarak, bu örnekte ileti eklemek için imza kullanılır.

Aşağıdaki imzalı imza alanlarını, StringToSign dizesinin oluşturulmasını ve istek yetkilendirildikten sonra İleti Koy işlemini çağıran URL'nin oluşturulmasını inceleyin:

signedstart=2015-07-01T08:49Z  
signedexpiry=2015-07-02T08:49Z  
signedpermissions=a  
signature= +SzBm0wi8xECuGkKw97wnkSZ/62sxU+6Hq6a7qojIVE=  
signedidentifier=YWJjZGVmZw==
signedversion=2015-02-21  
  
StringToSign = a + \n
               2015-07-01T08:49Z + \n  
               2015-07-02T08:49Z + \n  
               queue/myaccount/myqueue + \n  
               YWJjZGVmZw== + \n  
               2015-02-21  
  
POST https://myaccount.queue.core.windows.net/myqueue/messages?visibilitytimeout=120&sv=2015-02-21&st=2015-07-01T08%3a49Z&se=2015-07-02T08%3a49Z&sp=a&si=YWJjZGVmZw%3d%3d&sig=jDrr6cna7JPwIaxWfdH0tT5v9dc%3d HTTP/1.1  
Host: myaccount.queue.core.windows.net  
Content-Length: 100  
  
<QueueMessage>  
<MessageText>PHNhbXBsZT5zYW1wbGUgbWVzc2FnZTwvc2FtcGxlPg==</MessageText>  
</QueueMessage>  
  

Örnek: Paylaşılan Erişim İmzası Kullanarak İletilere Göz Atma ve İleti Alma

Aşağıdaki örnekte, bir kuyruktaki sonraki iletiye göz atmak ve kuyruğun ileti sayısını almak için paylaşılan erişim imzası oluşturma işlemi gösterilmektedir. Bu imza kuyruk için okuma izinleri verir. Son olarak, bu örnek paylaşılan erişim imzasını kullanarak bir iletiye göz atıp ileti sayısını içeren kuyruklar meta verilerini okur.

Aşağıdaki imzalı imza alanlarını, imzaya dizenin oluşturulmasını ve İletilere Göz Atma ve Kuyruk Meta Verilerini Alma işlemlerini çağıran URL'nin oluşturulmasını inceleyin:

signedstart=2015-07-01T08:49Z  
signedexpiry=2015-07-02T08:49Z  
signedpermissions=r  
signature=+SzBm0wi8xECuGkKw97wnkSZ/62sxU+6Hq6a7qojIVE=  
signedidentifier=YWJjZGVmZw==
signedversion=2015-02-21  
  
StringToSign = r + \n
               2015-07-01T08:49Z + \n  
               2015-07-02T08:49Z + \n  
               queue/myacccount/myqueue + \n  
               YWJjZGVmZw== + \n  
               2015-02-21  
  
GET https://myaccount.queue.core.windows.net/myqueue/messages?peekonly=true&sv=2015-02-21&st=2015-07-01T08%3a49Z&se=2015-07-02T08%3a49Z&sp=r&si=YWJjZGVmZw%3d%3d&sig=jDrr6cna7JPwIaxWfdH0tT5v9dc%3d HTTP/1.1  
Host: myaccount.queue.core.windows.net  
  
GET https://myaccount.queue.core.windows.net/myqueue?comp=metadata&sv=2015-02-21&st=2015-07-01T08%3a49Z&se=2015-07-01T08%3a49Z&sp=r&si=YWJjZGVmZw%3d%3d&sig=jDrr6cna7JPwIaxWfdH0tT5v9dc%3d HTTP/1.1  
Host: myaccount.queue.core.windows.net  
  

Tablo Örnekleri

Bu bölüm, tablolardaki REST işlemleri için paylaşılan erişim imzalarını gösteren örnekler içerir. Bu örneklerde Tablo hizmeti işlemi yalnızca aşağıdaki ölçütler karşılandığında çalıştırılır:

  • İstek başarıyla yetkilendirildi.

  • İstek, paylaşılan erişim imzası tarafından belirtilen zaman çerçevesi içinde yapılır.

  • İstek, ilişkili bir saklı erişim ilkesinin herhangi bir terimini ihlal etmez.

  • İstek tarafından belirtilen kuyruk, paylaşılan erişim imzası tarafından yetkilendirilen kuyrukla aynıdır.

Örnek: Paylaşılan Erişim İmzası Kullanarak Tablo Sorgulama

Aşağıdaki örnekte, bir tablodaki varlıkları sorgulamak için paylaşılan erişim imzası oluşturma gösterilmektedir. İmza, tablodaki belirli bir aralık için sorgu izinleri verir. Son olarak, bu örnek aralıktaki varlıkları sorgulamak için paylaşılan erişim imzasını kullanır.

Aşağıdaki imzalı imza alanlarını, StringToSign dizesinin oluşturulmasını ve Sorgu Varlıkları işlemini çağıran URL'nin oluşturulmasını inceleyin. Bu Sorgu Varlıkları işleminin sonuçları yalnızca , , startrkendpkve endrktarafından startpktanımlanan aralıktaki varlıkları içerir.

signedstart=2015-07-01T08:49Z  
signedexpiry=2015-07-02T08:49Z  
signedpermissions=r  
signature= +SzBm0wi8xECuGkKw97wnkSZ/62sxU+6Hq6a7qojIVE=  
signedidentifier=YWJjZGVmZw==
signedversion=2015-02-21  
startpk="Coho Winery"  
startrk="Auburn"  
endpk="Coho Winery"  
endrk="Seattle"  
  
String-To-Sign = r + \n
                 2015-07-01T08:49Z + \n  
                 2015-07-02T08:49Z + \n  
                 table/myaccount/mytable + \n  
                 YWJjZGVmZw==  + \n  
                 2015-02-21 + \n  
                 Coho Winery + \n  
                 Auburn + \n  
                 Coho Winery + \n  
                 Seattle  
  
GET https://myaccount.table.core.windows.net/MyTable?$filter=PartitionKey%20eq%20'Coho%20Winery'&sv=2015-02-21&tn=MyTable&st=2015-07-01T08%3a49Z&se=2015-07-02T08%3a49Z&sp=r&si=YWJjZGVmZw%3d%3d&sig=jDrr6cna7JPwIaxWfdH0tT5v9dc%3d&spk=Coho%20Winery&srk=Auburn&epk=Coho%20Winery&erk=Seattle HTTP/1.1  
Host: myaccount.table.core.windows.net  
DataServiceVersion: 3.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
  

Örnek: Paylaşılan Erişim İmzası Kullanarak Tablo Güncelleştirme

Aşağıdaki örnekte, bir tablodaki varlıkları güncelleştirmek için paylaşılan erişim imzası oluşturma gösterilmektedir. İmza, belirli bir varlık aralığı için güncelleştirme izinleri verir. Son olarak, bu örnek aralıktaki bir varlığı güncelleştirmek için paylaşılan erişim imzasını kullanır.

Aşağıdaki imzalı imza alanlarını, StringToSign dizesinin oluşturulmasını ve Varlığı Güncelleştir işlemini çağıran URL'nin oluşturulmasını inceleyin. Varlığı Güncelleştir işlemi yalnızca ve endpktarafından startpk tanımlanan bölüm aralığındaki varlıkları güncelleştirebilir.

signedstart=2015-07-01T08:49Z  
signedexpiry=2015-07-02T08:49Z  
signedpermissions=u  
signature= +SzBm0wi8xECuGkKw97wnkSZ/62sxU+6Hq6a7qojIVE=  
signedidentifier=YWJjZGVmZw==   
signedversion=2015-02-21  
startpk="Coho Winery"  
endpk="Coho Winery"  
  
String-To-Sign = u + \n   
                 2015-07-01T08:49Z + \n  
                 2015-07-02T08:49Z + \n  
                 table/myaccount/mytable + \n  
                 YWJjZGVmZw== + \n  
                 2015-02-21 + \n  
                 Coho Winery + \n  
                 + \n  
                 Coho Winery + \n  
  
MERGE https://myaccount.table.core.windows.net/MyTable(PartitionKey='Coho%20Winery',RowKey='Seattle')?sv=2015-02-21&tn=MyTable&st=2015-07-01T08%3a49Z&se=2015-07-02T08%3a49Z&sp=u&si=YWJjZGVmZw%3d%3d&sig=jDrr6cna7JPwIaxWfdH0tT5v9dc%3d&spk=Coho%20Winery&epk=Coho%20Winery HTTP/1.1  
Host: myaccount.table.core.windows.net  
DataServiceVersion: 3.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
If-Match: *  
Content-Type: application/atom+xml  
Content-Length: 696  
  
<?xml version="1.0" encoding="utf-8" standalone="yes"?>  
<entry xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://www.w3.org/2005/Atom">  
  <title />  
  <author>  
    <name />  
  </author>  
  <id>https://myaccount.table.core.windows.net/MyTable(PartitionKey='Coho Winery',RowKey='Seattle')</id>  
  <content type="application/xml">  
    <m:properties>  
      <d:PartitionKey>P</d:PartitionKey>  
      <d:RowKey>R</d:RowKey>  
      <d:Timestamp m:type="Edm.DateTime">0001-01-01T00:00:00</d:Timestamp>  
    </m:properties>  
  </content>  
</entry>  
  

Ayrıca Bkz.

Paylaşılan erişim imzası ile temsilci erişimi
Hizmet SAS’si oluşturma