Sdílet prostřednictvím


Příklady SAS služby

Toto téma ukazuje ukázkové použití sdílených přístupových podpisů pomocí rozhraní REST API. Sdílené přístupové podpisy umožňují poskytovat přístupová práva ke kontejnerům a objektům blob, tabulkám, frontám nebo souborům. Poskytnutím sdíleného přístupového podpisu můžete uživatelům udělit omezený přístup ke konkrétnímu kontejneru, objektu blob, frontě, tabulce nebo rozsahu entit tabulky na zadanou dobu. Úplné podrobnosti o vytváření, parsování a používání sdílených přístupových podpisů najdete v tématu Delegování přístupu pomocí sdíleného přístupového podpisu. Informace o vytváření sdílených přístupových podpisů pomocí klientské knihovny úložiště .NET najdete v tématu Vytvoření a použití sdíleného přístupového podpisu.

Příklady objektů blob

Tato část obsahuje příklady, které ukazují sdílené přístupové podpisy pro operace REST s objekty blob.

Příklad: Získání objektu blob pomocí sdíleného přístupového podpisu kontejneru

Verze před 15. 8. 2013

Následující příklad ukazuje, jak vytvořit sdílený přístupový podpis pro přístup ke čtení v kontejneru.

Pole podepsaného podpisu, která budou obsahovat adresu URL, zahrnují:

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

Podpis se sestaví takto:

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=  

Adresa URL požadavku určuje oprávnění ke čtení kontejneru pictures po určený interval. Prostředek reprezentovaný adresou URL požadavku je objekt blob, ale sdílený přístupový podpis je zadaný v kontejneru. Je také možné ho zadat v samotném objektu blob.

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>  
  

Verze 2013-08-15 a novější

Následující příklad ukazuje, jak vytvořit sdílený přístupový podpis pro přístup pro čtení v kontejneru pomocí verze 2013-08-15 služeb úložiště.

Verze 2013-08-15 zavádí nové parametry dotazu, které umožňují klientovi vydávajícímu požadavek přepsat hlavičky odpovědi pouze pro tento sdílený přístupový podpis.

Hlavičky odpovědi a odpovídající parametry dotazu jsou následující:

Název hlavičky odpovědi Odpovídající parametr dotazu SAS
Cache-Control rscc
Content-Disposition rscd
Content-Encoding rsce
Content-Language rscl
Content-Type rsct

Pole, která tvoří řetězec k podpisu, zahrnují:

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  

Řetězec k podepsání se sestaví takto:

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=  

Sdílený přístupový podpis určuje oprávnění ke čtení kontejneru pictures po určený interval. Prostředek reprezentovaný adresou URL požadavku je objekt blob, ale sdílený přístupový podpis je zadaný v kontejneru. Je také možné ho zadat v samotném objektu blob.

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  
  

V případě klienta, který vytváří požadavek s tímto podpisem, se operace Získání objektu blob provede, pokud jsou splněna následující kritéria:

  • Žádost je úspěšně autorizována.

  • Žádost se provede v časovém rámci určeném sdíleným přístupovým podpisem.

  • Požadavek neporušuje žádný termín přidružených uložených zásad přístupu.

  • Objekt blob určený požadavkem (/myaccount/pictures/profile.jpg) se nachází v kontejneru určeném jako podepsaný prostředek (/myaccount/pictures).

Zadání rsct=binary a rscd=file; attachment u sdíleného přístupového podpisu přepíše hlavičky content-type a content-disposition v odpovědi v uvedeném pořadí.

Úspěšná odpověď na požadavek učiněný pomocí tohoto sdíleného přístupového podpisu bude podobná následující:

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  

Příklad: Nahrání objektu blob pomocí sdíleného přístupového podpisu kontejneru

Následující příklad ukazuje, jak vytvořit sdílený přístupový podpis pro zápis objektu blob. V tomto příkladu vytvoříme podpis, který uděluje oprávnění k zápisu pro všechny objekty blob v kontejneru. Potom použijeme sdílený přístupový podpis k zápisu do objektu blob v kontejneru.

Mezi podepsaná pole, která se budou skládat z adresy URL, patří:

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

Podpis se sestaví takto:

  
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=  
  

Adresa URL požadavku určuje oprávnění k zápisu do kontejneru pictures v určeném intervalu. Prostředek reprezentovaný adresou URL požadavku je objekt blob, ale sdílený přístupový podpis je zadaný v kontejneru. Je také možné ho zadat v samotném objektu blob.

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.  
  

S tímto podpisem se bude objekt blob put volat, pokud jsou splněna následující kritéria:

  • Žádost je úspěšně autorizována.

  • Žádost se provede v časovém rámci určeném sdíleným přístupovým podpisem.

  • Požadavek neporušuje žádný termín přidružených uložených zásad přístupu.

  • Objekt blob určený požadavkem (/myaccount/pictures/photo.jpg) je v kontejneru zadaném jako podepsaný prostředek (/myaccount/pictures).

Příklad: Odstranění objektu blob pomocí sdíleného přístupového podpisu objektu blob

Následující příklad ukazuje, jak vytvořit sdílený přístupový podpis, který uděluje oprávnění k odstranění objektu blob a odstraní objekt blob.

Upozornění

Mějte na paměti, že sdílený přístupový podpis pro operaci DELETE by měl být distribuovaný uvážlivě, protože povolení klienta k odstranění dat může mít nezamýšlené důsledky.

Pole podepsaného podpisu, která budou obsahovat adresu URL, zahrnují:

  
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  
  

Podpis se sestaví takto:

  
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=  
  

Adresa URL požadavku určuje oprávnění k odstranění kontejneru pictures v určeném intervalu. Prostředek reprezentovaný adresou URL požadavku je objekt blob a pro tento objekt blob je zadaný sdílený přístupový podpis. Je také možné ho zadat v kontejneru objektu blob a udělit tak oprávnění k odstranění libovolného objektu blob v kontejneru.

  
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  
  

S tímto podpisem se funkce Odstranit objekt blob zavolá, pokud jsou splněna následující kritéria:

  • Žádost je úspěšně autorizována.

  • Žádost se provede v časovém rámci určeném sdíleným přístupovým podpisem.

  • Požadavek neporušuje žádný termín přidružených uložených zásad přístupu.

  • Objekt blob určený požadavkem (/myaccount/pictures/profile.jpg) odpovídá objektu blob zadanému jako podepsaný prostředek.

Příklady souborů

Tato část obsahuje příklady, které ukazují sdílené přístupové podpisy pro operace REST se soubory.

Příklad: Získání souboru pomocí sdíleného přístupového podpisu sdílené složky

Následující příklad ukazuje, jak vytvořit sdílený přístupový podpis pro přístup pro čtení sdílené složky.

Několik parametrů dotazu může umožnit klientovi, který vydává požadavek, přepsat hlavičky odpovědi pro tento sdílený přístupový podpis.

Hlavičky odpovědi a odpovídající parametry dotazu jsou následující:

Název hlavičky odpovědi Odpovídající parametr dotazu SAS
Cache-Control rscc
Content-Disposition RSCD
Content-Encoding rsce
Content-Language rscl
Content-Type rsct

Pole, která tvoří řetězec k podpisu, zahrnují:

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  

Řetězec k podepsání se sestaví takto:

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=  

Sdílený přístupový podpis určuje oprávnění ke čtení sdílené pictures složky po určený interval. Prostředek reprezentovaný adresou URL požadavku je soubor, ale sdílený přístupový podpis je zadaný ve sdílené složce. Je také možné ho zadat v samotném souboru.

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  
  

V případě klienta, který vytváří požadavek s tímto podpisem, se operace Získat soubor provede, pokud jsou splněna následující kritéria:

  • Žádost je úspěšně autorizována.

  • Žádost se provede v časovém rámci určeném sdíleným přístupovým podpisem.

  • Požadavek neporušuje žádný termín přidružených uložených zásad přístupu.

  • Soubor určený požadavkem (/myaccount/pictures/profile.jpg) se nachází ve sdílené složce zadané jako podepsaný prostředek (/myaccount/pictures).

Zadáním rsct=binary a rscd=file; attachment u sdíleného přístupového podpisu se přepíší content-type hlavičky a content-disposition v odpovědi v uvedeném pořadí.

Úspěšná odpověď na požadavek učiněný pomocí tohoto sdíleného přístupového podpisu bude podobná následující:

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  

Příklad: Nahrání souboru pomocí sdíleného přístupového podpisu ve sdílené složce

Následující příklad ukazuje, jak vytvořit sdílený přístupový podpis pro zápis souboru. V tomto příkladu vytvoříme podpis, který uděluje oprávnění k zápisu pro všechny soubory ve sdílené složce. Potom použijeme sdílený přístupový podpis k zápisu do souboru ve sdílené složce.

Pole podepsaného podpisu, která budou obsahovat adresu URL, zahrnují:

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

Podpis se sestaví takto:

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=  

Adresa URL požadavku určuje oprávnění k zápisu do kontejneru pictures v určeném intervalu. Prostředek reprezentovaný adresou URL požadavku je objekt blob, ale sdílený přístupový podpis je zadaný v kontejneru. Je také možné ho zadat v samotném objektu blob.

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.  

S tímto podpisem bude volána funkce Vytvořit soubor , pokud jsou splněna následující kritéria:

  • Žádost je úspěšně autorizována.

  • Žádost se provede v časovém rámci určeném sdíleným přístupovým podpisem.

  • Požadavek neporušuje žádný termín přidružených uložených zásad přístupu.

  • Soubor určený požadavkem (/myaccount/pictures/photo.jpg) je ve sdílené složce zadané jako podepsaný prostředek (/myaccount/pictures).

Příklad: Odstranění souboru pomocí sdíleného přístupového podpisu souboru

Následující příklad ukazuje, jak vytvořit sdílený přístupový podpis, který uděluje oprávnění k odstranění souboru, a pak pomocí sdíleného přístupového podpisu soubor odstranit.

Upozornění

Sdílený přístupový podpis pro operaci DELETE by měl být distribuovaný uvážlivě, protože povolení klienta k odstranění dat může mít nezamýšlené důsledky.

Pole podepsaného podpisu, která budou obsahovat adresu URL, zahrnují:

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  

Podpis se sestaví takto:

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=  

Adresa URL požadavku určuje oprávnění k odstranění sdílené složky obrázků v určeném intervalu. Prostředek reprezentovaný adresou URL požadavku je soubor a v daném souboru je zadaný sdílený přístupový podpis. Můžete ho také zadat ve sdílené složce souboru a udělit tak oprávnění k odstranění libovolného souboru ve sdílené složce.

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  

S tímto podpisem bude funkce Odstranit soubor volána, pokud jsou splněna následující kritéria:

  • Žádost je úspěšně autorizována.

  • Žádost se provede v časovém rámci určeném sdíleným přístupovým podpisem.

  • Požadavek neporušuje žádný termín přidružených uložených zásad přístupu.

  • Soubor určený požadavkem (/myaccount/pictures/profile.jpg) odpovídá souboru zadanému jako podepsaný prostředek.

Příklady front

Tato část obsahuje příklady, které ukazují sdílené přístupové podpisy pro operace REST ve frontách. V těchto příkladech se operace queue service spustí pouze po splnění následujících kritérií:

  • Žádost je úspěšně autorizována.

  • Žádost se provede v časovém rámci určeném sdíleným přístupovým podpisem.

  • Požadavek neporušuje žádný termín přidružených uložených zásad přístupu.

  • Fronta určená požadavkem je stejná jako fronta autorizovaná sdíleným přístupovým podpisem.

Příklad: Načtení zpráv pomocí sdíleného přístupového podpisu

Následující příklad ukazuje, jak vytvořit sdílený přístupový podpis pro načítání zpráv z fronty. Tento podpis uděluje oprávnění ke zpracování zpráv pro frontu. Nakonec tento příklad používá sdílený přístupový podpis k načtení zprávy z fronty.

Prozkoumejte následující pole podepsaného podpisu, konstrukci řetězce k podpisu a konstrukci adresy URL, která volá operaci Get Messages po autorizaci požadavku:

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  
  

Příklad: Přidání zprávy pomocí sdíleného přístupového podpisu

Následující příklad ukazuje, jak vytvořit sdílený přístupový podpis pro přidání zprávy do fronty. Tento podpis uděluje oprávnění k přidání pro frontu. Nakonec tento příklad použije podpis k přidání zprávy.

Prozkoumejte následující podepsaná pole podpisu, konstrukci řetězce StringToSign a konstrukci adresy URL, která volá operaci Put Message po autorizaci požadavku:

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>  
  

Příklad: Náhled zpráv a Získání zprávy pomocí sdíleného přístupového podpisu

Následující příklad ukazuje, jak vytvořit sdílený přístupový podpis pro náhled na další zprávu ve frontě a načtení počtu zpráv ve frontě. Tento podpis uděluje oprávnění ke čtení fronty. Nakonec tento příklad používá sdílený přístupový podpis k náhledu zprávy a následnému přečtení metadat front, která zahrnují počet zpráv.

Prozkoumejte následující pole podepsaného podpisu, konstrukci řetězce k podpisu a konstrukci adresy URL, která volá operace Náhled zpráv a Získat metadata fronty :

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  
  

Příklady tabulek

Tato část obsahuje příklady, které ukazují sdílené přístupové podpisy pro operace REST s tabulkami. V těchto příkladech se operace služby Table Service spustí pouze po splnění následujících kritérií:

  • Žádost je úspěšně autorizována.

  • Žádost se provede v časovém rámci určeném sdíleným přístupovým podpisem.

  • Požadavek neporušuje žádný termín přidružených uložených zásad přístupu.

  • Fronta určená požadavkem je stejná jako fronta autorizovaná sdíleným přístupovým podpisem.

Příklad: Dotazování tabulky pomocí sdíleného přístupového podpisu

Následující příklad ukazuje, jak vytvořit sdílený přístupový podpis pro dotazování entit v tabulce. Podpis uděluje oprávnění k dotazu pro konkrétní rozsah v tabulce. Nakonec tento příklad používá sdílený přístupový podpis k dotazování entit v rámci rozsahu.

Prozkoumejte následující podepsaná pole podpisu, konstrukci řetězce StringToSign a konstrukci adresy URL, která volá operaci Query Entities. Výsledky této operace dotazování entit budou obsahovat pouze entity v rozsahu definovaném pomocí startpk, startrk, endpka 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  
  

Příklad: Aktualizace tabulky pomocí sdíleného přístupového podpisu

Následující příklad ukazuje, jak vytvořit sdílený přístupový podpis pro aktualizaci entit v tabulce. Podpis uděluje oprávnění k aktualizaci pro určitý rozsah entit. Nakonec tento příklad používá sdílený přístupový podpis k aktualizaci entity v rozsahu.

Prozkoumejte následující podepsaná pole podpisu, konstrukci řetězce StringToSign a konstrukci adresy URL, která volá operaci Aktualizovat entitu. Operace Aktualizovat entitu může aktualizovat pouze entity v rozsahu oddílů definovaném pomocí startpk a 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>  
  

Viz také

Delegování přístupu pomocí sdíleného přístupového podpisu
Vytvoření SAS služby