Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
aws ios sdk-发布从s3下载图像_Ios_Swift_Amazon S3_Aws Sdk_Aws Ios - Fatal编程技术网

aws ios sdk-发布从s3下载图像

aws ios sdk-发布从s3下载图像,ios,swift,amazon-s3,aws-sdk,aws-ios,Ios,Swift,Amazon S3,Aws Sdk,Aws Ios,我试图使用iOS sdk(swift)从我的s3存储桶下载图像,但我总是得到访问被拒绝错误 Domain=com.amazonaws.AWSS3ErrorDomain Code=1“(null)”UserInfo={HostId=asadadadadad=,Message=Access-Denied,Code=AccessDenied,RequestId=A467438974F8127B}] 当我不使用任何ACL设置时,它可以很好地用于上传。如果我设置ACL let uploadReque

我试图使用iOS sdk(swift)从我的s3存储桶下载图像,但我总是得到
访问被拒绝
错误


Domain=com.amazonaws.AWSS3ErrorDomain Code=1“(null)”UserInfo={HostId=asadadadadad=,Message=Access-Denied,Code=AccessDenied,RequestId=A467438974F8127B}]

当我不使用任何ACL设置时,它可以很好地用于上传。如果我设置ACL

 let uploadRequest = AWSS3TransferManagerUploadRequest()
 uploadRequest.ACL = AWSS3ObjectCannedACL.AuthenticatedRead
上载和下载都失败

以下是我的cognito和IAM政策

{
  "Version": "2012-10-17",
  "Statement": [
    {
    "Action": [
        "s3:GetObject",
        "s3:PutObject"
      ],
      "Effect": "Allow",
      "Resource":["arn:aws:s3:::yimages/*"]
    },{
    "Action": [
        "s3:GetObject",
        "s3:PutObject"
      ],
      "Effect": "Allow",
      "Resource":["arn:aws:s3:::yimages"]
    }
  ]
}

我确信这是与政策有关的事情,但我不知道是什么。。让我困惑的是,为什么上传可以正常工作,而下载却不行

非常感谢您的帮助

  • GetObject和PutObject是指对bucket中的对象执行的操作,不适用于bucket(arn:aws:s3:::yimages)。对于bucket本身,您需要提供如下bucket操作:
  • 您可以尝试将类似的策略添加到“权限”选项卡的显式“Bucket policy”部分,以指定Bucket和对象级别的权限
  • GetObject和PutObject是指对bucket中的对象执行的操作,不适用于bucket(arn:aws:s3:::yimages)。对于bucket本身,您需要提供如下bucket操作:
  • 您可以尝试将类似的策略添加到“权限”选项卡的显式“Bucket policy”部分,以指定Bucket和对象级别的权限
  • {
      "Version":"2012-10-17",
      "Statement":[
        {
          "Sid":"AddCannedAcl",
          "Effect":"Allow",
          "Principal": "*",
         "Action": [
            "s3:GetObject",
            "s3:PutObject"
          ],
          "Resource":["arn:aws:s3:::yimages/*"]
        }
      ]
    }
    
    "Action": [
                "s3:GetBucketLocation",
                "s3:ListBucket",
                "s3:ListAllMyBuckets"
            ]