Я попытался с помощью AWSS3transferutility загрузить фотографии из корзины aws s3 и отобразить их на моем imageView в приложении ios, однако, когда оно дает мне ошибку отказа в доступе.Я уверен, что ведро открыто для публики, и я настроил Cognito, поэтому я понятия не имею, почему это происходит, у кого-нибудь есть идея?
func getPicture() {
let tranferUtility = AWSS3TransferUtility.default()
let expression = AWSS3TransferUtilityDownloadExpression()
tranferUtility.downloadData(fromBucket: bucket, key: self.currentQuestionData!._userId!, expression: expression){ (task, url, data, error) in
if error != nil{
print(error!)
}
DispatchQueue.main.async(execute: {
self.imageView.image = UIImage(data: data!)
})
}
}
//bucket policy
{
"Id": "Policy1562706569188",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1562706565258",
"Action": "s3:*",
"Effect": "Allow",
"Resource": "arn:aws:s3:::schooled-deployments-mobilehub-969166170",
"Principal": "*"
}
]
}
Сообщение об ошибке, отображаемое в консоли:
1006 * "Ошибка домена = com.amazonaws.AWSS3TransferUtilityErrorDomain Code = 2 "(нуль)" UserInfo = {Server = AmazonS3, Error = {Code = AccessDenied; НомерУзла = "GHIlY6U4nxxqKQ / Bn8lf3FWjFZZmVhxn3DDjc8YUZY2gkguT6qdqhS54PL85AL7KaSU0Q9gSckw ="; Message ="Доступ запрещен "; RequestId = EA34AC42C00AE399;"