当我尝试为我的存储创建容器时,我得到StorageException。1.我创建了一个Azure帐户。2.我为blob创建了一个Azure存储。3.我写了一个简单的测试(如下)。4.我在本地计算机上编写了此代码,并得到了异常。怎么了?
public class Test {
public static final String storageConnectionString =
"DefaultEndpointsProtocol=https;" +
"AccountName=my_account;" +
"AccountKey=my_account_key";
public static void main(String[] args) throws StorageException, InvalidKeyException, URISyntaxException {
pushControll();
}
public static void pushControll() throws URISyntaxException, StorageException, InvalidKeyException {
CloudStorageAccount storageAccount = CloudStorageAccount.parse(storageConnectionString);
CloudBlobClient blobClient = storageAccount.createCloudBlobClient();
CloudBlobContainer container = blobClient.getContainerReference("observer");
container.create();
}
}
我得到StorageException->:
Exception in thread "main" com.microsoft.azure.storage.StorageException: Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.
at com.microsoft.azure.storage.StorageException.translateException(StorageException.java:89)
at com.microsoft.azure.storage.core.StorageRequest.materializeException(StorageRequest.java:307)
at com.microsoft.azure.storage.core.ExecutionEngine.executeWithRetry(ExecutionEngine.java:182)
at com.microsoft.azure.storage.blob.CloudBlobContainer.create(CloudBlobContainer.java:279)
at com.microsoft.azure.storage.blob.CloudBlobContainer.create(CloudBlobContainer.java:252)
at ru.marketirs.model.Test.pushControll(Test.java:40)
at ru.marketirs.model.Test.main(Test.java:25)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
流程以退出代码1完成
我做错了什么?
您的代码对我来说还不错。请检查2件事情:1)确保帐户名/密钥正确,以及2)检查计算机上的时钟,看它是否运行缓慢。这2件事可能会导致您得到错误。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句