J'ai une application plus Whos téléchargement d'image a commencé à défaut, le code utilisé ci-dessous:AWS Objective-C Image Télécharger
dispatch_semaphore_t sema = dispatch_semaphore_create (0);
NSError * __block anError = nil;
AWSS3PutObjectRequest *por = [AWSS3PutObjectRequest new];
por.key = key;
por.bucket = bucket;
por.contentType = @"image/png";
por.contentLength = [NSNumber numberWithUnsignedLong:[UIImagePNGRepresentation(image) length]];
por.body = UIImagePNGRepresentation(image);
por.ACL = AWSS3ObjectCannedACLPublicRead;
[[AWSS3 defaultS3] putObject:por completionHandler:^(AWSS3PutObjectOutput * _Nullable response, NSError * _Nullable error) {
anError = error;
dispatch_semaphore_signal(sema);
}];
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
if (anError) {
NSException *exception = [NSException exceptionWithName:@"NoahPutObjectException" reason:[anError description] userInfo:nil];
@throw exception;
}
Je peux confirmer que le compartiment n'a pas changé et se trouve dans la bonne région. L'erreur que je reçois est la suivante:
Error Domain=com.amazonaws.AWSS3ErrorDomain Code=0 "(null)" UserIn
fo={RequestId=F5B5BFDB18414371,
Bucket=BUCKETREDACTED, HostId=HOSTIDREDACTED,
Message=The bucket you are attempting to access must be addressed
using the specified endpoint. Please send all future requests to this endpoint., Code=PermanentRedirect,
Endpoint=s3.amazonaws.com}
J'ai été mis à jour en utilisant le module le plus récent, mais je reçois toujours cette erreur.
Comment exactement pourrais-je configurer cela? C'est une vieille base de code héritée, donc je suis un peu perdu dedans. – steventnorris
Heh, vous avez une longueur d'avance sur moi, étant capable de lire cette vieille base de code. Je commencerais par: grep s3.amazonaws.com - en gros, vous devez trouver où cette URL est codée en dur ou stockée dans la configuration et la changer. – CodeWriter23
Gotcha. J'ai vu quelques informations à ce sujet, mais je pensais que cela ne s'appliquait qu'aux seaux non américains d'après ce que j'avais lu. Je ne savais pas que cela s'appliquait aussi aux États-Unis. – steventnorris