У меня есть функция Lambda, которая должна читать файл с S3 каждый раз, когда он выполняется.
Файл очень маленький, около 200 байт, ведро S3 находится в стандартном регионе США, функция лямбда находится в области us-east-1 (поэтому в том же регионе). Для чтения файла требуется от 10 до 15 секунд, почему это так медленно?
Спасибо.
EDIT: некоторый код
long start = System.nanoTime();
AmazonS3Client s3Client = new AmazonS3Client();
S3Object propertyFile = null;
try {
propertyFile = s3Client.getObject(S3_BUCKET_NAME, S3_PROPERTY_FILE);
} catch (Exception e) {...}
try (InputStream in = propertyFile.getObjectContent()) {
PROPERTIES.load(in);
} catch (Exception e) {...}
LOGGER.debug("S3 access " + (System.nanoTime() - start));
ИЗМЕНИТЬ №2: После предложения Брукса я сделал
AmazonS3Client s3Client = new AmazonS3Client(new InstanceProfileCredentialsProvider());
И я получаю эту ошибку:
Unable to load credentials from Amazon EC2 metadata service
ИЗМЕНИТЬ № 3:
Память, выделенная для функции Lambda, была 256 МБ, когда я выделяю 1024 МБ, она занимает 3-4 секунды, которая все еще слишком медленная (требуется 1-2 секунды, когда я тестирую локально с моего компьютера).