我有這段簡單的代碼試圖通過代理上傳文件到Amazon S3。這是代碼:亞馬遜S3客戶端通過代理連接 - putObject獲取NullPointerException
BasicAWSCredentials basicCred = new BasicAWSCredentials("my_access_key", "my_secret_key");
ClientConfiguration clientCfg = new ClientConfiguration();
clientCfg.setProtocol(Protocol.HTTP);
//setup proxy connection:
clientCfg.setProxyHost("192.168.2.12");
clientCfg.setProxyPort(80);
AmazonS3 s3 = new AmazonS3Client(basicCred, clientCfg);
String bucketName = "mybucket";
String key = "/test/Capture.JPG";
File file = new File("d:/Test_Data/Capture.JPG");
System.out.println("Uploading a new object to S3 from a file");
s3.putObject(new PutObjectRequest(bucketName, key, file));
然而,這是我從運行程序得到了錯誤:
Exception in thread "main" java.lang.NullPointerException
at com.amazonaws.util.BinaryUtils.fromHex(BinaryUtils.java:69)
at com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1066)
at javaapplication8.JavaApplication8.main(JavaApplication8.java:48)
Java Result: 1
我使用的是最新的AWS從亞馬遜1.3.8 SDK。代理是在另一臺PC旁邊設置的,它只是一個簡單的Javascript代理(http://www.catonmat.net/http-proxy-in-nodejs/)
我不明白爲什麼。有人可以幫助我嗎?
經過進一步調查,我發現這是hexData是函數空: 公共靜態的byte []從BinaryUtils.java線fromHex(字符串hexData)其他那些我可以獲得更多調試信息的方法呢? – Eugene
更新:我有與AWS SDK 1.6.7相同的問題,它似乎現在所有工作後,更新到1.9.35 – sscarduzio