Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

208
Vistas
AWS S3: confusión sobre la región del depósito y el IdentityPoolId (Swift)

Tengo problemas para descargar un archivo de mi depósito de AWS S3 (aplicación Swift/iOS). Parece ser uno de dos problemas, pero no puedo decir cuál:

  1. Problema con mi identidadPoolId
  2. Problema con la región para el balde

Si creo el proveedor de credenciales de esta manera:

 AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 identityPoolId:@"us-west-2:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"];

Obtuve el siguiente error:

 [Error Domain=com.amazonaws.AWSCognitoIdentityErrorDomain Code=10 "(null)" UserInfo={__type=ResourceNotFoundException, message=Identity 'us-west-2:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' not found.}]

Noté la falta de coincidencia en la línea donde creo el proveedor de credenciales: el tipo de región es AWSRegionUSEast1, pero tengo "us-west-2" como parte de IdentityPoolId.

Si cambio regionType a AWSRegionUSWest2 (para que coincida con mi ID), ResourceNotFoundExeception desaparece. Pero luego me sale esto:

 <Error><Code>PermanentRedirect</Code><Message>The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.</Message><Bucket>sportsmanregs</Bucket><Endpoint>s3.amazonaws.com</Endpoint><RequestId>AEFD833FF4E7B6F1</RequestId><HostId>mYxbBKlzTeWgVZW4W060+ESiBhWuxmfDDFE6UriXG7bqxA5NWuRbH9lu4NuGCaU/7H8f1hjAukA=</HostId></Error>

Lo interesante es que el error anterior se encuentra en el objeto de datos en el controlador de finalización, como en "datos" a continuación:

 completionHandler = { (task, location, data, error) -> Void in DispatchQueue.main.async( execute: {

Entonces el controlador de finalización se llama OK. En la consola S3, la URL del archivo que intento descargar comienza con " https://s3.amazonaws.com/ /xxx/xxx.tiff". ¿Alguien tiene una idea de cuál es el problema aquí?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Parece que tanto su grupo de identidades como su depósito S3 están en la región us-west-2. Usted abordó la parte del conjunto de identidades sobre usted mismo, y eso es correcto. Para corregir la región del depósito en su código, también debe pasar la región a la llamada S3; de lo contrario, utilizará el valor predeterminado de us-east-1 y le dará ese error.

Una alternativa sería especificar su URL con [bucketname].s3.amazonaws.com, algunas personas parecieron tener éxito con eso, pero probablemente lo hará simplemente arreglando la región.

over 4 years ago · Santiago Trujillo Denunciar

0

AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 identityPoolId:@"us-west-2:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"];

Es correcto pero necesita agregar alguna línea de código. Por favor agregue este código:

 NSString *cognitoId = credentialsProvider.identityId; NSString *cognitopoolId = credentialsProvider.identityPoolId; NSLog(@"This is cognitoId: %@",cognitoId); NSLog(@"This is cognitopoolId: %@",cognitopoolId); [[credentialsProvider getIdentityId] continueWithBlock:^id(AWSTask *task){ if (task.error == nil) { NSString* cognitoId = credentialsProvider.identityId; NSLog(@"cognitoId: %@", cognitoId); } else { NSLog(@"Error : %@", task.error); } return nil; }];
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda