[英]How to copy files from S3 bucket from one region to another region using aws java sdk?
[英]Uploadcare: Having trouble using Java Library to copy files from Uploadcare storage to AWS S3 bucket
我對Uploadcare非常陌生。 我正在嘗試從Uploadcare檢索文件UUID,然后使用該UUID將映像復制到我的S3存儲桶中。 我正在使用git-hub上提供的Uploadcare API: 此處 。
該代碼非常易於實現。 這是我所擁有的:
package javaapplication2;
import com.uploadcare.api.Client;
import com.uploadcare.data.CopyFileData;
public class UploadAPITest {
public static void main(String[] args) {
Client client = new Client("mypublicKey", "myprivateKey");
CopyFileData copyFile = client.copyFile("d5e97aca-f6d9-47ea-8c76-1fe36d093b2d", "messagePicUploadCenter");
System.out.println("result: " + copyFile.result);
}
這段代碼編譯沒有問題。 但是,當我運行它時,這是我看到的錯誤:
enterException in thread "main"
com.uploadcare.exceptions.UploadcareNetworkException: Network failure!
at com.uploadcare.api.RequestHelper.executeQuery(RequestHelper.java:108)
at com.uploadcare.api.Client.copyFile(Client.java:221)
at javaapplication2.UploadAPITest.main(UploadAPITest.java:25)
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not instantiate value of type [simple type, class com.uploadcare.data.FileData] from String value; no single-String constructor/factory method (through reference chain: com.uploadcare.data.CopyFileData["result"])
at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator._createFromStringFallbacks(StdValueInstantiator.java:422)
at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.createFromString(StdValueInstantiator.java:298)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromString(BeanDeserializer.java:424)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:129)
at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375)
at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:107)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:308)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2796)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:1942)
at com.uploadcare.api.RequestHelper.executeQuery(RequestHelper.java:106)
... 2 more
Java結果:1
但是,在發生錯誤之前,我確實從Uploadcare得到了響應:{“ type”:“ url”,“ result”:“ s3:// photopatch-upload / messageImgs / d5e97aca-f6d9-47ea-8c76-1fe36d093b2d / uniqueness。 JPG“}
因此,我知道我已正確連接Uploadcare,因為實際上已復制了圖像。 但是在復制之后,返回的JSON可能格式不正確或某種原因(我在這里猜測)。
有沒有其他人遇到這個問題,或者對我有什么建議? 我真的很感激。 我喜歡這項服務,而且我認為問題與com.faster.jackson.databind庫有關。 這是我在這個簡單項目中使用的庫的圖片: http : //s3.postimg.org/n37i2ts5f/image.png
嘗試使用
System.out.println("result: " + copyFile);
即copyFile
而不是copyFile.result
,后者是FileData
的實例,沒有toString()
方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.