服務 SAS 範例

本主題透過 REST API 示範共用存取簽章的使用範例。 共用存取簽章可讓您提供容器和 Blob、資料表、佇列或檔案的存取權限。 您可以提供共用存取簽章,即可在指定時段內,授與使用者對特定容器、Blob、佇列、資料表或資料表實體範圍的有限存取權。 如需建構、剖析和使用共用存取簽章的完整詳細資料,請參閱 使用共用存取簽章委派存取權。 如需使用 .NET 儲存體用戶端程式庫建立共用存取簽章的相關資訊,請參閱 建立和使用共用存取簽章

Blob 範例

本節包含的範例示範 Blob 上 REST 作業的共用存取簽章。

範例:使用容器的共用存取簽章取得 Blob

2013-08-15 版之前的版本

下列範例示範如何建構共用存取簽章,以取得容器的讀取存取權。

將組成 URL 的簽署簽章欄位包括:

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

簽章的建構方式如下所示:

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 會針對指定的間隔指定容器的 pictures 讀取權限。 要求 URL 所代表的資源是 Blob,但共用存取簽章是在容器上指定。 也可能在 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>  
  

2013-08-15 版和更新的版本

下列範例使用 2013-08-15 版的儲存體服務,示範如何建構共用存取簽章,以取得容器的讀取存取權。

2013-08-15 版導入新的查詢參數,可讓用戶端發出要求,僅針對此共用存取簽章覆寫回應標頭。

回應標頭及對應的查詢參數如下:

回應標頭名稱 對應的 SAS 查詢參數
Cache-Control rscc
Content-Disposition rscd
Content-Encoding rsce
Content-Language rscl
Content-Type rsct

為簽章組成簽署字串的欄位包括:

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  

簽署字串的建構方式如下所示:

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=  

共用存取簽章會針對指定的間隔指定 pictures 容器的讀取權限。 要求 URL 所代表的資源是 Blob,但共用存取簽章是在容器上指定。 也可能在 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  
  

對於發出此簽章要求的用戶端,如果符合下列準則,將會執行 取得 Blob 作業:

  • 要求已成功獲得授權。

  • 在共用存取簽章指定的時間範圍中提出要求。

  • 此要求沒有違反任何相關預存的存取原則條款。

  • 要求所指定的 Blob (/myaccount/pictures/profile.jpg) 位於指定為簽署資源的容器內 (/myaccount/pictures)。

rsct=binary 共用存取簽章上指定 和 rscd=file; attachment 會分別覆寫回應中的內容類型和內容處置標頭。

使用此共用存取簽章所提出之要求的成功回應與下列相似:

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  

範例:使用容器的共用存取簽章上傳 Blob

下列範例示範如何建構共用存取簽章,以寫入 Blob。 在此範例中,我們會建構簽章,授與容器中的所有 Blob 寫入權限。 然後我們會使用共用存取簽章寫入容器中的 Blob。

構成 URL 的帶正負號欄位包括:

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

簽章的建構方式如下所示:

  
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 會針對指定的間隔指定容器的 pictures 寫入權限。 要求 URL 所代表的資源是 Blob,但共用存取簽章是在容器上指定。 也可能在 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.  
  

使用此簽章時,如果符合下列準則,將會呼叫 Put Blob

  • 要求已成功獲得授權。

  • 在共用存取簽章指定的時間範圍中提出要求。

  • 此要求沒有違反任何相關預存的存取原則條款。

  • 要求所指定的 blob (/myaccount/pictures/profile.jpg) 位於指定為簽署資源的容器內 (/myaccount/pictures)。

範例:使用 Blob 的共用存取簽章刪除 Blob

下列範例示範如何建構共用存取簽章,授與 Blob 刪除權限,並刪除 Blob。

警告

請注意,應明智散發 DELETE 作業的共用存取簽章,因為允許用戶端刪除資料可能會發生意料之外的結果。

將組成 URL 的簽署簽章欄位包括:

  
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  
  

簽章的建構方式如下所示:

  
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 會針對指定的間隔指定 pictures 容器的刪除權限。 要求 URL 所代表的資源是 Blob,且該 Blob 上會指定共用存取簽章。 在 Blob 的容器上加以指定,以授與刪除容器中所有 Blob 的權限,也是可行的。

  
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  
  

使用此簽章時,如果符合下列準則,將會呼叫 刪除 Blob

  • 要求已成功獲得授權。

  • 在共用存取簽章指定的時間範圍中提出要求。

  • 此要求沒有違反任何相關預存的存取原則條款。

  • 要求所指定的 Blob (/myaccount/pictures/profile.jpg) 符合指定為簽署資源的 Blob。

檔案範例

本節包含範例,示範檔案上 REST 作業的共用存取簽章。

範例:使用共用的共用存取簽章取得檔案

下列範例示範如何建構共用存取簽章,以取得共用上的讀取存取權。

少數查詢參數可讓發出要求來覆寫此共用存取簽章回應標頭的用戶端。

回應標頭及對應的查詢參數如下:

回應標頭名稱 對應的 SAS 查詢參數
Cache-Control rscc
Content-Disposition rscd
Content-Encoding rsce
Content-Language rscl
Content-Type rsct

為簽章組成簽署字串的欄位包括:

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  

簽署字串的建構方式如下所示:

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=  

共用存取簽章會針對指定的間隔指定共用的 pictures 讀取權限。 要求 URL 所代表的資源是檔案,但共用存取簽章是在共用上指定。 您也可以在檔案本身上指定它。

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  
  

對於發出具有此簽章要求的用戶端,如果符合下列準則,將會執行 Get File 作業:

  • 要求已成功獲得授權。

  • 在共用存取簽章指定的時間範圍中提出要求。

  • 此要求沒有違反任何相關預存的存取原則條款。

  • 要求所指定的檔案 (/myaccount/pictures/profile.jpg) 位於指定為已簽署資源的共用內 , (/myaccount/pictures) 。

rsct=binary 共用存取簽章上指定 和 rscd=file; attachment 會分別覆寫 content-type 回應中的 和 content-disposition 標頭。

使用此共用存取簽章所提出之要求的成功回應與下列相似:

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  

範例:在共用上使用共用存取簽章上傳檔案

下列範例示範如何建構用於寫入檔案的共用存取簽章。 在此範例中,我們會建構簽章,以授與共享中所有檔案的寫入權限。 然後,我們會使用共用存取簽章來寫入共用中的檔案。

將組成 URL 的簽署簽章欄位包括:

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

簽章的建構方式如下所示:

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 會針對指定的間隔指定容器的 pictures 寫入權限。 要求 URL 所代表的資源是 Blob,但共用存取簽章是在容器上指定。 也可能在 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.  

使用此簽章時,如果符合下列準則,將會呼叫 建立檔案

  • 要求已成功獲得授權。

  • 在共用存取簽章指定的時間範圍中提出要求。

  • 此要求沒有違反任何相關預存的存取原則條款。

  • 要求所指定的檔案 (/myaccount/pictures/photo.jpg) 位於指定為已簽署資源的共用中, (/myaccount/pictures) 。

範例:使用檔案的共用存取簽章刪除檔案

下列範例示範如何建構授與檔案刪除許可權的共用存取簽章,然後使用共用存取簽章來刪除檔案。

警告

DELETE 作業的共用存取簽章應該謹慎散發,因為允許用戶端刪除資料可能會產生非預期的結果。

將組成 URL 的簽署簽章欄位包括:

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  

簽章的建構方式如下所示:

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 會針對指定的間隔指定圖片共用的刪除許可權。 要求 URL 所代表的資源是檔案,而且在該檔案上指定共用存取簽章。 您也可以在檔案的共用上指定它,以授與刪除共用中任何檔案的許可權。

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  

使用此簽章時,如果符合下列準則,將會呼叫 刪除檔案

  • 要求已成功獲得授權。

  • 在共用存取簽章指定的時間範圍中提出要求。

  • 此要求沒有違反任何相關預存的存取原則條款。

  • 要求所指定的檔案 (/myaccount/pictures/profile.jpg) 符合指定為已簽署資源的檔案。

佇列範例

本節包含的範例示範佇列上 REST 作業的共用存取簽章。 在這些範例中,佇列服務作業僅在符合下列準則後執行:

  • 要求已成功獲得授權。

  • 在共用存取簽章指定的時間範圍中提出要求。

  • 此要求沒有違反任何相關預存的存取原則條款。

  • 要求所指定的佇列是共用存取簽章驗證的相同佇列。

範例:使用共用存取簽章擷取訊息

下列範例示範如何建構共用存取簽章,以從佇列擷取訊息。 此簽章會授與佇列訊息的處理權限。 最後,此範例會使用共用存取簽章,從佇列擷取訊息。

檢查下列已簽署的簽章欄位、建構字串對簽署,以及要求授權之後呼叫取得訊息作業的 URL 建構:

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  
  

範例:使用共用存取簽章新增訊息

下列範例示範如何建構共用存取簽章,以新增訊息到佇列。 此簽章會授與佇列新增權限。 最後,此範例會使用簽章新增訊息。

檢查下列已簽署的簽章欄位、StringToSign 字串的建構,以及要求授權之後呼叫 Put Message 作業的 URL 建構:

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>  
  

範例:使用共用存取簽章查看訊息及取得訊息

下列範例會示範如何建構共用存取簽章,以查看佇列中的下則訊息以及擷取佇列中的訊息計數。 此簽章會授與佇列讀取權限。 最後,此範例會使用共用存取簽章,以查看訊息然後讀取佇列中繼資料,包括訊息計數。

檢查下列已簽署的簽章欄位、字串對簽署的建構,以及呼叫 [查看訊息 ] 和 [ 取得佇列中繼資料 ] 作業的 URL 建構:

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  
  

資料表範例

本節包含的範例示範資料表上 REST 作業的共用存取簽章。 在這些範例中,表格服務作業僅在符合下列準則後執行:

  • 要求已成功獲得授權。

  • 在共用存取簽章指定的時間範圍中提出要求。

  • 此要求沒有違反任何相關預存的存取原則條款。

  • 要求所指定的佇列是共用存取簽章驗證的相同佇列。

範例:使用共用存取簽章查詢資料表

下列範例示範如何建構共用存取簽章,以查詢資料表中的實體。 簽章會將查詢權限授與資料表中的特定範圍。 最後,此範例會使用共用存取簽章,以查詢範圍中的實體。

檢查下列簽署簽章欄位、StringToSign 字串的建構,以及呼叫 Query Entities 作業的 URL 建構。 此 Query Entities 作業的結果僅會包含 startpkstartrkendpkendrk 定義之範圍中的實體。

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  
  

範例:使用共用存取簽章更新資料表

下列範例示範如何建構共用存取簽章,以更新資料表中的實體。 簽章會將更新權限授與特定實體範圍。 最後,此範例會使用共用存取簽章以更新範圍中的實體。

檢查下列簽署簽章欄位、StringToSign 字串的建構,以及呼叫 Update Entity 作業的 URL 建構。 Update Entity 作業只能更新 startpkendpk 所定義之資料分割範圍內的實體。

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>  
  

另請參閱

使用共用存取簽章委派存取權
建立服務 SAS