アンドロイドでS3にアップロードしようとしています。ただし、実際には画像はアップロードされません。androidのs3バケットにアップロード中にエラーが発生しました
D/CognitoCachingCredentialsProvider:それをグーグルときSharedPreferences
では見つかりません有効な資格情報がしかし、私は様々な矛盾する情報を見つけていない私が見るのエラーに似ている唯一のものはこれです。私が見つけることができる唯一の本当のことは、プロジェクトにCognitoフレームワークを適切に追加しないと発生する可能性がありますが、build.gradleにあることを確認しました。
私は、同じ資格情報を使用してiOSでうまく動作していることにも注意してください。プラットフォームごとに異なるIDプールを使用する必要があると言われました。だから私はAndroid用の新しいアイデンティティプールを作成し、一致するパーミッションを持っているかどうかを確認し、どちらもうまくいきませんでした。 iOSがどのようにうまく動作し、問題なくイメージをアップロードするかを考えてみると、Androidで使用しているコードでは何かでなければならないと感じています。私はそれを以下に含めた。
cognito
private CognitoCachingCredentialsProvider getCreadentials(Context context) {
CognitoCachingCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider(
context.getApplicationContext(),
IDENTITY_POOL_ID,
Regions.US_EAST_1
);
return credentialsProvider;
}
そして実際にS3
public void saveImage(Context context, Bitmap data, String key, Double lat, Double lon) {
exifBuilder = new ExifBuilder(mContext, lat, lon);
File file = writeImageToFile(context, data);
s3 = new AmazonS3Client(getCreadentials(context));
if (file != null) {
TransferUtility transferUtility = new TransferUtility(s3, context.getApplicationContext());
TransferObserver observer = transferUtility.upload(
BUCKET_NAME,
key,
file
);
}
}
に画像を保存する機能から資格情報を取得するには、この関数は、ファイルがnullでないことを私が確認しているがあります。また、正しいIDプールIDであることも確認しました。
ここで何かが不足していると目立ちますか?