AWSAPIGatewayClient получает ошибку по запросу API - PullRequest
0 голосов
/ 19 апреля 2019
Message = "User: arn:aws:sts::XXXX85095:assumed-role/XXXXXX_unauth_MOBILEHUB_XXXX039892/CognitoIdentityCredentials 
is not authorized to perform: execute-api:Invoke on resource: arn:aws:execute-api:ap-southeast-1:********5095:XXXXu7mj
/Dev/POST/XXXXX with an explicit deny";

Я звоню AWS API, используя AWSAPIGatewayClient класс. Я установил код, как показано ниже.

AWSCognitoCredentialsProvider *creds = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionAPSoutheast1 identityPoolId:@"ap-southeast-1_XXXXX"];

AWSServiceConfiguration *configuration2 = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionAPSoutheast1 credentialsProvider:creds];

AWSServiceManager.defaultServiceManager.defaultServiceConfiguration = configuration2;

AWSAPIGatewayClient *client2 = [[AWSAPIGatewayClient alloc] init];

AWSEndpoint *endPoint = [[AWSEndpoint alloc] initWithRegion:configuration2.regionType

                                                                          service:AWSServiceAPIGateway

                                                                          URL:[NSURL URLWithString:kHostNameGuest]];



AWSSignatureV4Signer *signer = [[AWSSignatureV4Signer alloc] initWithCredentialsProvider:configuration2.credentialsProvider

                                                                                             endpoint:configuration2.endpoint];

configuration2.baseURL = endPoint.URL;

configuration2.requestInterceptors = @[[AWSNetworkingRequestInterceptor new], signer];

[client2 setConfiguration:configuration2];

[[client2 invoke:request] continueWithBlock:^id _Nullable(AWSTask<AWSAPIGatewayResponse *> * _Nonnull t) {

    if (t.result){

                dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);

        dispatch_async(queue, ^{

        dispatch_sync(dispatch_get_main_queue(), ^{                            

        NSMutableDictionary *jsonObjects = [NSJSONSerialization JSONObjectWithData:t.result.responseData

                                                                                               options:NSJSONReadingAllowFragments

                                                                                                 error:nil];

            NSLog(@"Result =>%@",jsonObjects);                            

                        });

                    });

                }

    if (t.error) {

        dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);

                dispatch_async(queue, ^{

            dispatch_sync(dispatch_get_main_queue(), ^{

                            NSLog(@"Error: %@", t.error);                      

                        });

                 });

                   return nil;

    }

    return nil;

}]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...