我们已经为Azure Blob存储帐户创建了CNAME记录。
之前:https://example.blob.core.windows.net/zips/example.zip
之后:https://example.com/zips/example.zip
这对于访问Blob很好。
但是我们也想通过SDK上传blob
`
Uri uriToken = await getTokenAsync(...);
var blob = new CloudBlockBlob(uriToken);
blob.UploadFromStream(...)
`
真实令牌:http://example.blob.core.windows.net/zips/example.zip?sv=2016-05-31&sr=b&sig=szA%2BtKRsDhHqgblkasdiBRM25gslerJ1rSKwM6UdrPg%3D&se=2019-05-21T09%3A43%3A34Z&sp=cw
正常工作
替换主机:
https://example.com/zips/example.zip?sv=2016-05-31&sr=b&sig=szA%2BtKRsDhHqgblkasdiBRM25gslerJ1rSKwM6UdrPg%3D&se=2019-05-21T09%3A43%3A34Z&sp=cw
引发一个非常普通的错误:
An error occurred while sending the request.
at Microsoft.Azure.Storage.Core.Executor.Executor.<ExecuteAsync>d__1`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
at Microsoft.Azure.Storage.Blob.CloudBlockBlob.<UploadFromStreamAsyncHelper>d__31.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()