S3を使用するAndroidアプリのコードがあります。私はほぼ一年前にアプリの依存関係では、それが宣言し、this exampleを、次のようにそれを設定していた:Android AWS S3 - sdkバージョンを「2.2。+」から「2.6.7」にアップグレードした後にオブジェクトが存在しない
dependencies {
compile 'com.amazonaws:aws-android-sdk-core:2.2.+'
compile 'com.amazonaws:aws-android-sdk-s3:2.2.+'
}
これを書いている時点での最新バージョンは2.6.7です。
さて、私の問題は次のとおりです。
//This code came from the Mobile Hub sample application
//Obtain a reference to the mobile client. It is created in the Application class.
final AWSMobileClient awsMobileClient = AWSMobileClient.defaultMobileClient();
//Obtain a reference to the identity manager.
IdentityManager identityManager = awsMobileClient.getIdentityManager();
AmazonS3 s3Client = new AmazonS3Client(identityManager.getCredentialsProvider());
try{
//This used to return TRUE but now returns FALSE
boolean objectExists = s3Client.doesObjectExist(BUCKET_NAME, key);
...
//catch, etc.
その結果、私はオブジェクトをダウンロードすることができません。私はこれが何らかの形で認証関連の問題であると想定しています。セキュリティの原則に従えば、オブジェクトが存在しないと私に伝えるだけです。バケット名やキーに関する
何も両端に変化していない、と私は変更することで問題が引き金と解決できることを確認しました:/ランニングを
compile 'com.amazonaws:aws-android-sdk-s3:2.2.+' //works
compile 'com.amazonaws:aws-android-sdk-s3:2.6.7' //does not work
にして再構築しますアプリ。
この問題を引き起こす可能性のあるバージョンの変更については、ドキュメントや何かを見つけることができません。誰か知っていますか?私はまだ、この問題が発生していない状態でどれくらい高い状態で行くことができるかを見てきました。
編集:2.3.9は問題なく、2.4.0は問題が発生する場所です。これらの変更のどれが問題を引き起こすかを確かめることはできません。
AWSMobileHubからダウンロードしたサンプルアプリケーションの一部を参照しているAWSMobileClientとIdentityManagerはありますか? – Karthikeyan
はい。私はそれを言及すべきだった。 – Xenalin
AWSMobileClientとIdentityManagerは、08/31にAWS Mobile Hubサンプルアプリケーションから削除されました。 IdentityManagerは、SDKの一部としてリリースされています。あなたは "aws-sdk-android-auth-core:[email protected]"でそれをつかむことができます。 AWSMobileClientは、「aws-sdk-android-mobile-client:[email protected]」で、AuthenticationとSignInUIのサポートを最小限に抑えてリリースされています。あなたが指摘したサンプルコードは、SDK> = 2.6.0のバージョンでは動作しません。 – Karthikeyan