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 , , startrk
endpk
ve endrk
tarafından startpk
tanı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 endpk
tarafı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