AWS Java SDK: no se puede encontrar una región a través de la cadena de proveedores de la región
Revisé la pregunta titulada "Configuración de la región de AWS mediante programación 1", pero no proporciona todas las respuestas que necesito.
Q1: estoy obteniendo unSDKClientException-Unable to find a region via the region provider chain
. ¿Qué estoy haciendo mal? o hay un error tipográfico que me perdí.
public class CreateS3Bucket {
public static void main(String[] args) throws IOException {
BasicAWSCredentials creds = new BasicAWSCredentials("aws-access-key", "aws-secret-key");
AmazonS3 s3Client = AmazonS3ClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(creds)).build();
Region region = Region.getRegion(Regions.US_EAST_1);
s3Client.setRegion(region);
try {
String bucketName = "testBucket" + UUID.randomUUID();
s3Client.createBucket(bucketName);
System.out.println("Bucket Created Successfully.");
} catch(AmazonServiceException awse) {
System.out.println("This means that your request made it AWS S3 but got rejected");
System.out.println("Error Message:" +awse.getMessage());
System.out.println("Error Message:" +awse.getErrorCode());
System.out.println("Error Message:" +awse.getErrorType());
System.out.println("Error Message:" +awse.getRequestId());
} catch (AmazonClientException ace) {
System.out.println("The Amazon Client encountered an Error with network Connectivity");
System.out.println("Error Message:" + ace.getMessage());
}
}
}
P2: ¿Qué cambios de código hay que hacer si quiero construir una función Lambda a partir de él? Soy consciente de cómo crear una función lambda y los roles que necesita. Solo necesito saber si el código que he escrito debe cambiar. ¿Cómo debo implementar la clase LambdaFuctionHandler como se muestra a continuación?
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
public class LambdaFunctionHandler implements RequestHandler<String, String> {
@Override
public String handleRequest(String input, Context context) {
context.getLogger().log("Input: " + input);
return null;
}
}