【发布时间】:2013-07-19 18:09:30
【问题描述】:
我在 jClouds AzureBlob API 中遇到了 put 操作的问题
context = new BlobStoreContextFactory().createContext(
this.storageType,
this.storageAccount,
this.primaryAccessKey);
BlobStore blobStore = context.getBlobStore();
Blob blob = blobStore.blobBuilder(fileName).payload(content).build(); //$NON-NLS-1$
blobStore.putBlob(this.containerName, blob);
我正在从管理访问密钥设置主访问密钥 -> 我的存储帐户的主访问密钥。
它给了我以下错误
org.jclouds.http.HttpResponseException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty connecting to PUT https://mypackages.blob.core.windows.net/mycontainer/ERROR/error_20130717022518962.xml HTTP/1.1
at org.jclouds.http.internal.BaseHttpCommandExecutorService$HttpResponseCallable.call(BaseHttpCommandExecutorService.java:173)
at org.jclouds.http.internal.BaseHttpCommandExecutorService$HttpResponseCallable.call(BaseHttpCommandExecutorService.java:130)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[:1.6.0_43]
at java.util.concurrent.FutureTask.run(FutureTask.java:138)[:1.6.0_43]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)[:1.6.0_43]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)[:1.6.0_43]
at java.lang.Thread.run(Thread.java:662)[:1.6.0_43]
at org.jclouds.concurrent.config.ExecutorServiceModule$DescribingExecutorService.submit(ExecutorServiceModule.java:184)
at org.jclouds.http.internal.BaseHttpCommandExecutorService.submit(BaseHttpCommandExecutorService.java:127)
at org.jclouds.http.TransformingHttpCommandExecutorServiceImpl.submit(TransformingHttpCommandExecutorServiceImpl.java:54)
at org.jclouds.http.TransformingHttpCommandImpl.execute(TransformingHttpCommandImpl.java:73)
at org.jclouds.rest.internal.AsyncRestClientProxy.createListenableFutureForHttpRequestMappedToMethodAndArgs(AsyncRestClientProxy.java:198)
at org.jclouds.rest.internal.AsyncRestClientProxy.invoke(AsyncRestClientProxy.java:134)
at com.sun.proxy.$Proxy295.putBlob(Unknown Source)
at sun.reflect.GeneratedMethodAccessor107.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_43]
at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_43]
at org.jclouds.concurrent.internal.SyncProxy.invoke(SyncProxy.java:137)
at com.sun.proxy.$Proxy296.putBlob(Unknown Source)
at org.jclouds.azureblob.blobstore.AzureBlobStore.putBlob(AzureBlobStore.java:194)
at sun.reflect.GeneratedMethodAccessor105.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_43]
at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_43]
at com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:37)
at com.sun.proxy.$Proxy287.putBlob(Unknown Source)
在上面的堆栈跟踪中,“ERROR/error_20130717022518962.xml”是我试图放在 blob 存储中的文件。
任何线索,如何解决这个问题?
【问题讨论】:
-
我知道,这可能是 1. 信任库尚未设置或无法访问。但问题是这几个月以来一直有效,但突然开始出错。环境或代码没有变化。因此,请帮助我
标签: java azure-blob-storage jclouds