現在、アプリで Mobile Hub を使用しています。S3 を使用してバケットに写真をアップロードしようとしたとき、ここのドキュメントから関数をそのままコピーして、ファイルをダウンロード/アップロードしました: https://docs.aws.amazon.com/aws-mobile/latest/developerguide/add- aws-mobile-user-data-storage.html
これは、S3TransferUtility を利用しようとしている Swift の私のコードです。
func uploadData(data: Data, fileName: String) {
let expression = AWSS3TransferUtilityUploadExpression()
expression.progressBlock = {(task, progress) in
DispatchQueue.main.async(execute: {
// Do something e.g. Update a progress bar.
})
}
var completionHandler: AWSS3TransferUtilityUploadCompletionHandlerBlock?
completionHandler = { (task, error) -> Void in
DispatchQueue.main.async(execute: {
// Do something e.g. Alert a user for transfer completion.
// On failed uploads, `error` contains the error object.
})
}
let transferUtility = AWSS3TransferUtility.default()
transferUtility.uploadData(data,
bucket: "my bucket name",
key: fileName,
contentType: "image/jpeg",
expression: expression,
completionHandler: completionHandler).continueWith {
(task) -> AnyObject? in
if let error = task.error {
print("Error: \(error.localizedDescription)")
}
if let res = task.result {
// Do something with uploadTask.
print(res)
}
return nil
}
}
コンソールに次のエラーが表示されます: Image of Error in Console
AWS S3 と提供された awsconfiguration.json ファイルを調査しましたが、すべてが順調に進んでいるようです。
私のプロジェクトの AWSConfiguration.json ファイル
Mobile Hub が IAM 構成を処理することになっていて、すべてのことを処理する必要はないと思っていたので、今は混乱しています。
誰かがこれを修正するために正しい方向に私を向けてもらえますか? ありがとうございました。