我从这个github获得了这段代码:azure-storage-ios/BlobSample/ 我能够创建我的容器并为其添加blob。我证实他们在天蓝色的门户网站上。我正在使用SAS令牌方法:
var containerURL = "https://<mystorage>.blob.core.windows.net/profiles?se=2016-09-05T00%3A00%3A00Z&sp=rw&sv=2015-02-21&sr=c&sig=<mysig>"
var usingSAS = true
self.container = AZSCloudBlobContainer(url: NSURL(string: containerURL)!, error: &error)
// ... later:
blob.uploadFromText(textTextField.text ?? "", completionHandler: { (error: NSError?) -> Void in
})
但是现在,我正在尝试加载blob但收到一个或多个错误!
func reloadBlobList() {
self.container.listBlobsSegmentedWithContinuationToken(nil, prefix: nil, useFlatBlobListing: true, blobListingDetails: AZSBlobListingDetails.All, maxResults: 50) { (error : NSError?, results : AZSBlobResultSegment?) -> Void in
if let error = error {
print("error code! \(error.code)")
print("error description! \(error.description)")
}
我主要收到有关AuthorizationPermissionMismatch的错误
错误代码! 3 错误说明! Error Domain = com.Microsoft.AzureStorage.ErrorDomain Code = 3&#34;(null)&#34; UserInfo = {Code = AuthorizationPermissionMismatch,AdditionalErrorDetails = { },rawErrorData = {length = 279,capacity = 279,bytes = 0xefbbbf3c3f786d6c2076657273696f6e ... 3c2f4572726f723e},OperationContext =,RequestResult =,HTTP Status Code = 403,URLResponse = {URL:https://.blob.core.windows。净/简档SIG =安培; API-版本= 2015年4月5日&安培; SP = RW&安培; SE = 2016-09-05T00%3A00%3A00Z&安培; SV = 2015年2月21日&安培; SR = C&安培; restype =容器&安培; comp = list&amp; maxresults = 50&amp; include = snapshots,metadata,uncommittedblobs,copy} {status code:403,headers { &#34; Content-Length的&#34; = 279; &#34;内容类型&#34; =&#34; application / xml&#34 ;; 日期=&#34;星期五,27五月2016 08:12:19 GMT&#34 ;; Server =&#34; Windows-Azure-Blob / 1.0 Microsoft-HTTPAPI / 2.0&#34 ;; &#34; X-MS-请求-ID&#34; =&#34; 90746e2f-0001-0114-7eef-b7be1e000000&#34 ;; &#34; X-MS-版本&#34; =&#34; 2015-04-05&#34 ;; 消息=此请求无权使用此权限执行此操作。 的requestId:90746e2f-0001-0114-7eef-B
我之前生成的密钥具有r / w权限,我能够将blob发布到容器中,我还应该为检索做些什么?
答案 0 :(得分:1)
var containerURL = &#34; HTTPS:?//.blob.core.windows.net/profiles SE = 2016-09-05T00%3A00%3A00Z&安培;的 SP = RW 强>&安培; SV = 2015年2月21日&安培; SR = C&安培; SIG =&#34;
要在blob容器中列出blob,您需要在SAS中获得List (l)
权限。目前,您只有Read (r)
和Write (w)
权限。您是否可以尝试创建一个具有List
权限的新SAS?