Contoh SAS layanan
Topik ini menunjukkan contoh penggunaan tanda tangan akses bersama dengan REST API. Tanda tangan akses bersama memungkinkan Anda memberikan hak akses ke kontainer dan blob, tabel, antrean, atau file. Dengan memberikan tanda tangan akses bersama, Anda dapat memberi pengguna akses terbatas ke kontainer, blob, antrean, tabel, atau rentang entitas tabel tertentu untuk jangka waktu tertentu. Untuk detail lengkap tentang membuat, mengurai, dan menggunakan tanda tangan akses bersama, lihat Mendelegasikan Akses dengan Tanda Tangan Akses Bersama. Untuk informasi tentang menggunakan pustaka klien penyimpanan .NET untuk membuat tanda tangan akses bersama, lihat Membuat dan Menggunakan Tanda Tangan Akses Bersama.
Contoh Blob
Bagian ini berisi contoh yang menunjukkan tanda tangan akses bersama untuk operasi REST pada blob.
Contoh: Dapatkan Blob menggunakan Tanda Tangan Akses Bersama Kontainer
Versi Sebelum 2013-08-15
Contoh berikut menunjukkan cara membuat tanda tangan akses bersama untuk akses baca pada kontainer.
Bidang tanda tangan yang ditandatangani yang akan terdiri dari URL meliputi:
signedstart=2009-02-09
signedexpiry=2009-02-10
signedresource=c
signedpermissions=r
signature=dD80ihBh5jfNpymO5Hg1IdiJIEvHcJpCMiCMnN/RnbI=
signedidentifier=YWJjZGVmZw==
signedversion=2012-02-12
Tanda tangan dibangun sebagai berikut:
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=
URL permintaan menentukan izin baca pada pictures
kontainer untuk interval yang ditunjuk. Sumber daya yang diwakili oleh URL permintaan adalah blob, tetapi tanda tangan akses bersama ditentukan pada kontainer. Anda juga dapat menentukannya pada blob itu sendiri.
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>
Versi 2013-08-15 dan yang lebih baru
Contoh berikut menunjukkan cara membuat tanda tangan akses bersama untuk akses baca pada kontainer menggunakan layanan penyimpanan versi 2013-08-15.
Versi 2013-08-15 memperkenalkan parameter kueri baru yang memungkinkan klien mengeluarkan permintaan untuk mengambil alih header respons hanya untuk tanda tangan akses bersama ini.
Header respons dan parameter kueri yang sesuai adalah sebagai berikut:
Nama header respons | Parameter kueri SAS terkait |
---|---|
Cache-Control |
rscc |
Content-Disposition |
rscd |
Content-Encoding |
rsce |
Content-Language |
rscl |
Content-Type |
rsct |
Bidang yang terdiri dari string-to-sign untuk tanda tangan meliputi:
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
String-to-sign dibangun sebagai berikut:
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=
Tanda tangan akses bersama menentukan izin baca pada kontainer gambar untuk interval yang ditunjuk. Sumber daya yang diwakili oleh URL permintaan adalah blob, tetapi tanda tangan akses bersama ditentukan pada kontainer. Anda juga dapat menentukannya pada blob itu sendiri.
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
Untuk klien yang membuat permintaan dengan tanda tangan ini, operasi Dapatkan Blob akan dijalankan jika kriteria berikut terpenuhi:
Permintaan berhasil diotorisasi.
Permintaan dibuat dalam jangka waktu yang ditentukan oleh tanda tangan akses bersama.
Permintaan tidak melanggar jangka waktu apa pun dari kebijakan akses tersimpan terkait.
Blob yang ditentukan oleh permintaan (/myaccount/pictures/profile.jpg) berada dalam kontainer yang ditentukan sebagai sumber daya yang ditandatangani (/myaccount/pictures).
Menentukan rsct=binary
dan rscd=file; attachment
pada tanda tangan akses bersama masing-masing mengambil alih header jenis konten dan disposisi konten dalam respons.
Respons yang berhasil untuk permintaan yang dibuat menggunakan tanda tangan akses bersama ini akan mirip dengan yang berikut ini:
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
Contoh: Mengunggah Blob menggunakan Tanda Tangan Akses Bersama Kontainer
Contoh berikut menunjukkan cara membuat tanda tangan akses bersama untuk menulis blob. Dalam contoh ini, kami membuat tanda tangan yang memberikan izin tulis untuk semua blob dalam kontainer. Kemudian kita menggunakan tanda tangan akses bersama untuk menulis ke blob dalam kontainer.
Bidang yang ditandatangani yang akan terdiri dari URL meliputi:
signedstart=2015-07-01T08:49Z
signedexpiry=2015-07-02T08:49Z
signedresource=c
signedpermissions=w
signedidentifier=YWJjZGVmZw==
signedversion=2015-02-21
Tanda tangan dibangun sebagai berikut:
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=
URL permintaan menentukan izin tulis pada pictures
kontainer untuk interval yang ditunjuk. Sumber daya yang diwakili oleh URL permintaan adalah blob, tetapi tanda tangan akses bersama ditentukan pada kontainer. Anda juga dapat menentukannya pada blob itu sendiri.
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.
Dengan tanda tangan ini, Put Blob akan dipanggil jika kriteria berikut terpenuhi:
Permintaan berhasil diotorisasi.
Permintaan dibuat dalam jangka waktu yang ditentukan oleh tanda tangan akses bersama.
Permintaan tidak melanggar jangka waktu apa pun dari kebijakan akses tersimpan terkait.
Blob yang ditentukan oleh permintaan (/myaccount/pictures/photo.jpg) berada dalam kontainer yang ditentukan sebagai sumber daya yang ditandatangani (/myaccount/pictures).
Contoh: Menghapus Blob menggunakan Tanda Tangan Akses Bersama Blob
Contoh berikut menunjukkan cara membuat tanda tangan akses bersama yang memberikan izin penghapusan untuk blob, dan menghapus blob.
Perhatian
Perhatikan bahwa tanda tangan akses bersama untuk operasi DELETE harus didistribusikan secara yudisial, karena mengizinkan klien untuk menghapus data mungkin memiliki konsekuensi yang tidak diinginkan.
Bidang tanda tangan yang ditandatangani yang akan terdiri dari URL meliputi:
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
Tanda tangan dibangun sebagai berikut:
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=
URL permintaan menentukan izin penghapusan pada kontainer gambar untuk interval yang ditunjuk. Sumber daya yang diwakili oleh URL permintaan adalah blob, dan tanda tangan akses bersama ditentukan pada blob tersebut. Anda juga dapat menentukannya pada kontainer blob untuk memberikan izin untuk menghapus blob apa pun dalam kontainer.
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
Dengan tanda tangan ini, Hapus Blob akan dipanggil jika kriteria berikut terpenuhi:
Permintaan berhasil diotorisasi.
Permintaan dibuat dalam jangka waktu yang ditentukan oleh tanda tangan akses bersama.
Permintaan tidak melanggar jangka waktu apa pun dari kebijakan akses tersimpan terkait.
Blob yang ditentukan oleh permintaan (/myaccount/pictures/profile.jpg) cocok dengan blob yang ditentukan sebagai sumber daya yang ditandatangani.
Contoh File
Bagian ini berisi contoh yang menunjukkan tanda tangan akses bersama untuk operasi REST pada file.
Contoh: Mendapatkan File menggunakan Tanda Tangan Akses Bersama Berbagi
Contoh berikut menunjukkan cara membuat tanda tangan akses bersama untuk akses baca pada berbagi.
Beberapa parameter kueri dapat memungkinkan klien mengeluarkan permintaan untuk mengambil alih header respons untuk tanda tangan akses bersama ini.
Header respons dan parameter kueri yang sesuai adalah sebagai berikut:
Nama header respons | Parameter kueri SAS terkait |
---|---|
Cache-Control |
rscc |
Content-Disposition |
rscd |
Content-Encoding |
rsce |
Content-Language |
rscl |
Content-Type |
rsct |
Bidang yang terdiri dari string-to-sign untuk tanda tangan meliputi:
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
String-to-sign dibangun sebagai berikut:
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=
Tanda tangan akses bersama menentukan izin baca pada pictures
berbagi untuk interval yang ditunjuk. Sumber daya yang diwakili oleh URL permintaan adalah file, tetapi tanda tangan akses bersama ditentukan pada berbagi. Anda juga dapat menentukannya pada file itu sendiri.
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
Untuk klien yang membuat permintaan dengan tanda tangan ini, operasi Dapatkan File akan dijalankan jika kriteria berikut terpenuhi:
Permintaan berhasil diotorisasi.
Permintaan dibuat dalam jangka waktu yang ditentukan oleh tanda tangan akses bersama.
Permintaan tidak melanggar jangka waktu apa pun dari kebijakan akses tersimpan terkait.
File yang ditentukan oleh permintaan (/myaccount/pictures/profile.jpg) berada dalam berbagi yang ditentukan sebagai sumber daya yang ditandatangani (/myaccount/pictures).
Menentukan rsct=binary
dan rscd=file; attachment
pada tanda tangan akses bersama masing-masing mengambil content-type
alih header dan content-disposition
dalam respons.
Respons yang berhasil untuk permintaan yang dibuat menggunakan tanda tangan akses bersama ini akan mirip dengan yang berikut ini:
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
Contoh: Mengunggah File menggunakan Tanda Tangan Akses Bersama di Berbagi
Contoh berikut menunjukkan cara membuat tanda tangan akses bersama untuk menulis file. Dalam contoh ini, kami membuat tanda tangan yang memberikan izin tulis untuk semua file dalam berbagi. Kemudian kita menggunakan tanda tangan akses bersama untuk menulis ke file di berbagi.
Bidang tanda tangan yang ditandatangani yang akan terdiri dari URL meliputi:
signedstart=2015-07-01T08:49Z
signedexpiry=2015-07-02T08:49Z
signedresource=c
signedpermissions=w
signature=Rcp6gQRfV7WDlURdVTqCa+qEArnfJxDgE+KH3TCChIs=
signedidentifier=YWJjZGVmZw==
signedversion=2015-02-21
Tanda tangan dibangun sebagai berikut:
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=
URL permintaan menentukan izin tulis pada pictures
kontainer untuk interval yang ditunjuk. Sumber daya yang diwakili oleh URL permintaan adalah blob, tetapi tanda tangan akses bersama ditentukan pada kontainer. Anda juga dapat menentukannya pada blob itu sendiri.
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.
Dengan tanda tangan ini, Buat File akan dipanggil jika kriteria berikut terpenuhi:
Permintaan berhasil diotorisasi.
Permintaan dibuat dalam jangka waktu yang ditentukan oleh tanda tangan akses bersama.
Permintaan tidak melanggar ketentuan kebijakan akses tersimpan terkait.
File yang ditentukan oleh permintaan (/myaccount/pictures/photo.jpg) berada dalam berbagi yang ditentukan sebagai sumber daya yang ditandatangani (/myaccount/pictures).
Contoh: Menghapus File menggunakan Tanda Tangan Akses Bersama File
Contoh berikut menunjukkan cara membuat tanda tangan akses bersama yang memberikan izin penghapusan untuk file, lalu menggunakan tanda tangan akses bersama untuk menghapus file.
Perhatian
Tanda tangan akses bersama untuk operasi DELETE harus didistribusikan secara yudisial, karena memungkinkan klien untuk menghapus data mungkin memiliki konsekuensi yang tidak diinginkan.
Bidang tanda tangan yang ditandatangani yang akan terdiri dari URL meliputi:
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
Tanda tangan dibangun sebagai berikut:
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=
URL permintaan menentukan izin hapus pada berbagi gambar untuk interval yang ditunjuk. Sumber daya yang diwakili oleh URL permintaan adalah file, dan tanda tangan akses bersama ditentukan pada file tersebut. Anda juga dapat menentukannya pada berbagi file untuk memberikan izin untuk menghapus file apa pun di berbagi.
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
Dengan tanda tangan ini, Hapus File akan dipanggil jika kriteria berikut terpenuhi:
Permintaan berhasil diotorisasi.
Permintaan dibuat dalam jangka waktu yang ditentukan oleh tanda tangan akses bersama.
Permintaan tidak melanggar ketentuan kebijakan akses tersimpan terkait.
File yang ditentukan oleh permintaan (/myaccount/pictures/profile.jpg) cocok dengan file yang ditentukan sebagai sumber daya yang ditandatangani.
Contoh Antrean
Bagian ini berisi contoh yang menunjukkan tanda tangan akses bersama untuk operasi REST pada antrean. Dalam contoh ini, operasi layanan Antrean hanya berjalan setelah kriteria berikut terpenuhi:
Permintaan berhasil diotorisasi.
Permintaan dibuat dalam jangka waktu yang ditentukan oleh tanda tangan akses bersama.
Permintaan tidak melanggar ketentuan kebijakan akses tersimpan terkait.
Antrean yang ditentukan oleh permintaan adalah antrean yang sama yang diotorisasi oleh tanda tangan akses bersama.
Contoh: Mengambil Pesan menggunakan Tanda Tangan Akses Bersama
Contoh berikut menunjukkan cara membuat tanda tangan akses bersama untuk mengambil pesan dari antrean. Tanda tangan ini memberikan izin pemrosesan pesan untuk antrean. Terakhir, contoh ini menggunakan tanda tangan akses bersama untuk mengambil pesan dari antrean.
Periksa bidang tanda tangan yang ditandatangani berikut, konstruksi string-to-sign, dan konstruksi URL yang memanggil operasi Dapatkan Pesan setelah permintaan diotorisasi:
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
Contoh: Menambahkan Pesan menggunakan Tanda Tangan Akses Bersama
Contoh berikut menunjukkan cara membuat tanda tangan akses bersama untuk menambahkan pesan ke antrean. Tanda tangan ini memberikan izin penambahan untuk antrean. Terakhir, contoh ini menggunakan tanda tangan untuk menambahkan pesan.
Periksa bidang tanda tangan yang ditandatangani berikut, konstruksi string StringToSign, dan konstruksi URL yang memanggil operasi Put Message setelah permintaan diotorisasi:
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>
Contoh: Mengintip Pesan dan Mendapatkan Pesan menggunakan Tanda Tangan Akses Bersama
Contoh berikut menunjukkan cara membuat tanda tangan akses bersama untuk mengintip pesan berikutnya dalam antrean dan mengambil jumlah pesan antrean. Tanda tangan ini memberikan izin baca untuk antrean. Terakhir, contoh ini menggunakan tanda tangan akses bersama untuk mengintip pesan lalu membaca metadata antrean, yang mencakup jumlah pesan.
Periksa bidang tanda tangan yang ditandatangani berikut, konstruksi string-to-sign, dan konstruksi URL yang memanggil operasi Intip Pesan dan Dapatkan Metadata Antrean :
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
Contoh Tabel
Bagian ini berisi contoh yang menunjukkan tanda tangan akses bersama untuk operasi REST pada tabel. Dalam contoh ini, operasi layanan Tabel hanya berjalan setelah kriteria berikut terpenuhi:
Permintaan berhasil diotorisasi.
Permintaan dibuat dalam jangka waktu yang ditentukan oleh tanda tangan akses bersama.
Permintaan tidak melanggar ketentuan kebijakan akses tersimpan terkait.
Antrean yang ditentukan oleh permintaan adalah antrean yang sama yang diotorisasi oleh tanda tangan akses bersama.
Contoh: Mengkueri Tabel menggunakan Tanda Tangan Akses Bersama
Contoh berikut menunjukkan cara membuat tanda tangan akses bersama untuk mengkueri entitas dalam tabel. Tanda tangan memberikan izin kueri untuk rentang tertentu dalam tabel. Terakhir, contoh ini menggunakan tanda tangan akses bersama untuk mengkueri entitas dalam rentang.
Periksa bidang tanda tangan yang ditandatangani berikut, konstruksi string StringToSign, dan konstruksi URL yang memanggil operasi Entitas Kueri. Hasil operasi Entitas Kueri ini hanya akan menyertakan entitas dalam rentang yang ditentukan oleh startpk
, , startrk
endpk
, dan endrk
.
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
Contoh: Memperbarui Tabel menggunakan Tanda Tangan Akses Bersama
Contoh berikut menunjukkan cara membuat tanda tangan akses bersama untuk memperbarui entitas dalam tabel. Tanda tangan memberikan izin pembaruan untuk rentang entitas tertentu. Terakhir, contoh ini menggunakan tanda tangan akses bersama untuk memperbarui entitas dalam rentang.
Periksa bidang tanda tangan yang ditandatangani berikut, konstruksi string StringToSign, dan konstruksi URL yang memanggil operasi Perbarui Entitas. Operasi Perbarui Entitas hanya dapat memperbarui entitas dalam rentang partisi yang ditentukan oleh startpk
dan endpk
.
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>
Lihat juga
Mendelegasikan akses dengan tanda tangan akses bersama
Membuat SAS layanan