0

現在、アプリで 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 ファイルを調査しましたが、すべてが順調に進んでいるようです。

AWS IAM コンソール

私のプロジェクトの AWSConfiguration.json ファイル

Mobile Hub が IAM 構成を処理することになっていて、すべてのことを処理する必要はないと思っていたので、今は混乱しています。

誰かがこれを修正するために正しい方向に私を向けてもらえますか? ありがとうございました。

4

3 に答える 3