【问题标题】:Amazon s3 Image Upload (cognito id null)Amazon s3 图片上传(cognito id null)
【发布时间】:2015-06-20 06:57:11
【问题描述】:

图像未在 amazon s3 中上传。我使用的是旧库,所有上传工作正常,但对于 ios 8,我使用新的 sdk 并创建新的 conginito id 现在我面临错误。任何帮助将不胜感激 我的代码是

  AWSS3TransferManagerUploadRequest *request = [[AWSS3TransferManagerUploadRequest alloc] init];






    request.bucket = @"my bucket name";
    request.key = @"my cognitio id";
    request.body =[NSURL fileURLWithPath:path];
    request.contentType = @"image/png";


    [[transferManager upload:request] continueWithExecutor:[BFExecutor mainThreadExecutor]
                                                 withBlock:^id(BFTask *task) {
                                                     NSLog(@"ckmdkcd dvdsv");
                                                     if (task.error) {
                                                         if ([task.error.domain isEqualToString:AWSS3TransferManagerErrorDomain]) {
                                                             switch (task.error.code) {
                                                                 case AWSS3TransferManagerErrorCancelled:
                                                                 case AWSS3TransferManagerErrorPaused:
                                                                     break;

                                                                 default:
                                                                     NSLog(@"Error: %@", task.error);
                                                                     break;
                                                             }
                                                         } else {
                                                             // Unknown error.
                                                             NSLog(@"Error: %@", task.error);
                                                         }
                                                     }

                                                     if (task.result) {
                                                         AWSS3TransferManagerUploadOutput *uploadOutput = task.result;
                                                         // The file uploaded successfully.


                                                         NSLog(@"result = %@",task.result);
                                                     }
                                                     return nil;
                                                 }];

我收到以下回复

AWSiOSSDKv2 [Error] AWSIdentityProvider.m line:185 | __51-[AWSAbstractCognitoIdentityProvider getIdentityId]_block_invoke169 | GetId failed. Error is [Error Domain=NSURLErrorDomain Code=-1003 "The operation couldn’t be completed. (NSURLErrorDomain error -1003.)" UserInfo=0x7f9b987aabf0 {NSErrorFailingURLStringKey=https://cognito-identity.(null).amazonaws.com/, NSErrorFailingURLKey=https://cognito-identity.(null).amazonaws.com/, _kCFStreamErrorDomainKey=12, _kCFStreamErrorCodeKey=8, NSUnderlyingError=0x7f9b9a839480 "The operation couldn’t be completed. (kCFErrorDomainCFNetwork error -1003.)"}]
2015-04-14 08:13:16.326 newtest[6611:172200] AWSiOSSDKv2 [Error] AWSCredentialsProvider.m line:534 | __40-[AWSCognitoCredentialsProvider refresh]_block_invoke350 | Unable to refresh. Error is [Error Domain=NSURLErrorDomain Code=-1003 "The operation couldn’t be completed. (NSURLErrorDomain error -1003.)" UserInfo=0x7f9b987aabf0 {NSErrorFailingURLStringKey=https://cognito-identity.(null).amazonaws.com/, NSErrorFailingURLKey=https://cognito-identity.(null).amazonaws.com/, _kCFStreamErrorDomainKey=12, _kCFStreamErrorCodeKey=8, NSUnderlyingError=0x7f9b9a839480 "The operation couldn’t be completed. (kCFErrorDomainCFNetwork error -1003.)"}]
2015-04-14 08:13:16.328 newtest[6611:172071] ckmdkcd dvdsv
2015-04-14 08:13:16.328 newtest[6611:172071] Error: Error Domain=NSURLErrorDomain Code=-1003 "The operation couldn’t be completed. (NSURLErrorDomain error -1003.)" UserInfo=0x7f9b987aabf0 {NSErrorFailingURLStringKey=https://cognito-identity.(null).amazonaws.com/, NSErrorFailingURLKey=https://cognito-identity.(null).amazonaws.com/, _kCFStreamErrorDomainKey=12, _kCFStreamErrorCodeKey=8, NSUnderlyingError=0x7f9b9a839480 "The operation couldn’t be completed. (kCFErrorDomainCFNetwork error -1003.)"}

我还在应用程序委托中设置认知 ID。

【问题讨论】:

    标签: ios amazon-s3 amazon-cognito


    【解决方案1】:

    基于您在错误中看到https://cognito-identity.(null).amazonaws.com/ 的事实,这会让我相信您在创建AWSCognitoCredentialsProvider 时没有正确设置区域。请仔细检查您没有将其设置为AWSRegionUnknown

    2015 年 4 月 17 日更新Here is the list of Region constants。您应该将其设置为您的身份池所在的区域。目前,Amazon Cognito 仅在 AWSRegionUSEast1AWSRegionEUWest1 中可用。

    请注意,您的身份池区域与您可能在应用程序中使用的其他 AWS 服务的区域无关。例如,您可以使用AWSRegionUSEast1 中的身份池来访问AWSRegionSAEast1 中的资源。

    【讨论】:

    • 我应该设置什么而不是这个,才能在所有地区都可用?
    • @ZohaibkhanNiazi 我已经更新了我的答案,提供了应该回答您问题的其他信息。
    • 谢谢,让我检查一下。
    • 感谢您的快速响应。现在我面临这个问题 {__type=InvalidIdentityPoolConfigurationException, message=Invalid identity pool configuration。检查为此池分配的 IAM 角色。}]
    • 实际上我正在按照该教程mobiletoolworks.com/… 配置认知ID,在移动端我正在使用亚马逊提供的s3传输管理器示例
    猜你喜欢
    • 2010-11-26
    • 2017-07-07
    • 2015-08-24
    • 2019-05-15
    • 1970-01-01
    • 2017-11-04
    • 2017-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多