Android应用程序无法下载S3禁止(服务:Amazon S3;状态代码:403;错误代码:null)
我正在尝试读取s3存储桶的元数据(版本),然后决定是否需要下载sqlite.db文件 代码Android应用程序无法下载S3禁止(服务:Amazon S3;状态代码:403;错误代码:null),android,amazon-s3,Android,Amazon S3,我正在尝试读取s3存储桶的元数据(版本),然后决定是否需要下载sqlite.db文件 代码 private void downloadLatestSEZDBFile() { Object result; String finalDatabasePath = getFinalDatabasePath(); s3client = new AmazonS3Client( new ClasspathPropertiesFil
private void downloadLatestSEZDBFile() {
Object result;
String finalDatabasePath = getFinalDatabasePath();
s3client = new AmazonS3Client(
new ClasspathPropertiesFileCredentialsProvider());
try {
-->Exception here--> newVersion = Integer.valueOf((String) s3client.getObjectMetadata(
bucketName, sezDB).getRawMetadataValue(versionMetadata));
} catch (NumberFormatException e) {
}
Log.d("myapp", "SEZDB version returned " + newVersion);
File finalDatabase = new File(finalDatabasePath);
if (newVersion == 1 || !finalDatabase.exists()) {
copyVersion1FromAssets(finalDatabase);
result = finalDatabase.getAbsolutePath();
} else if (newVersion != God.getSEZDBVersion(context)) {
GetObjectRequest objectRequest = new GetObjectRequest(bucketName,
sezDB);
s3client.getObject(objectRequest, finalDatabase);
result = finalDatabase.getAbsolutePath();
} else
result = null;
if (result != null) {
God.setSEZDBVersion(context, newVersion);
sqliteDatabase = SQLiteDatabase.openOrCreateDatabase(
finalDatabasePath, null);
God.initializeCityVariables(context);
}
}
我已将AwsCredentials.properties
复制到我的src
文件夹中
secretKey=<mysecretkey>
accessKey=<myaccesskey>
我错过了什么
编辑
@Praneet Sharma这个问题仍然没有解决。。
com.amazonaws.services.s3.model.AmazonS3Exception: Forbidden (Service: Amazon S3; Status Code: 403; Error Code: null; Request ID: DE30A17F3E9E3B1C), S3 Extended Request ID: fdl02MUW0qzC6WPzO52nUBCw4+LYxAPlUuPOWN2lJd+LRJLC/nUoM2AJip5yWxeG2fGhy7HIbLQ=
03-09 09:26:34.195: E/AndroidRuntime(31116): at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(Unknown Source)
03-09 09:26:34.195: E/AndroidRuntime(31116): at com.amazonaws.http.AmazonHttpClient.executeHelper(Unknown Source)
03-09 09:26:34.195: E/AndroidRuntime(31116): at com.amazonaws.http.AmazonHttpClient.execute(Unknown Source)
03-09 09:26:34.195: E/AndroidRuntime(31116): at com.amazonaws.services.s3.AmazonS3Client.invoke(Unknown Source)
03-09 09:26:34.195: E/AndroidRuntime(31116): at com.amazonaws.services.s3.AmazonS3Client.getObjectMetadata(Unknown Source)
03-09 09:26:34.195: E/AndroidRuntime(31116): at com.amazonaws.services.s3.AmazonS3Client.getObjectMetadata(Unknown Source)
03-09 09:26:34.195: E/AndroidRuntime(31116): at com.myapp.support.ActiveSEZDB.downloadLatestSEZDBFile(ActiveSEZDB.java:262)
03-09 09:26:34.195: E/AndroidRuntime(31116): at com.myapp.support.ActiveSEZDB.access$0(ActiveSEZDB.java:256)
03-09 09:26:34.195: E/AndroidRuntime(31116): at com.myapp.support.ActiveSEZDB$1.run(ActiveSEZDB.java:43)
03-09 09:26:34.195: E/AndroidRuntime(31116): at java.lang.Thread.run(Thread.java:1019)
03-09 09:26:34.203: E/(1490): Dumpstate > /data/log/dumpstate_app_error
03-09 09:26:39.625: E/Launcher(1588): setWindowOpaque()