AWSS3TransferManager を使用してファイルを s3 に直接アップロードしています。アップロード ブロックから成功メッセージが返ってきましたが、s3 管理コンソールのバケットに表示されません。URLに直接アクセスすると表示されます。私のアプリはデータベースにオブジェクトを作成するためにsqsキューからプルするため、これをバケットに追加する必要があります。
アップロード用のコードは次のとおりです。
let uploadFileRequest = AWSS3TransferManagerUploadRequest()
uploadFileRequest.bucket = AWS.S3BucketName
uploadFileRequest.key = uploadFileName
uploadFileRequest.contentType = "video/quicktime"
uploadFileRequest.contentLength = NSNumber(integer: video!.length)
let transferManager = AWSS3TransferManager.defaultS3TransferManager()
uploadFileRequest.body = uploadFileURL!
transferManager.upload(uploadFileRequest).continueWithBlock({ (task) -> AnyObject! in
if task.error != nil {
print("video upload failed \(task.error)")
} else {
print("video upload succeeded")
print("\(uploadFileName)")
}
return 1
})
更新: これはセキュリティ上の問題である可能性があります。cognito をセットアップするためのコードは次のとおりです。 let credentialsProvider = AWSCognitoCredentialsProvider(regionType:
AWSRegionType.USEast1, identityPoolId: AWS.cognitoPoolID)
let configuration = AWSServiceConfiguration(region: AWSRegionType.USEast1, credentialsProvider: credentialsProvider)
AWSServiceManager.defaultServiceManager().defaultServiceConfiguration = configuration