in neptune-export/src/main/java/com/amazonaws/services/neptune/export/NeptuneExportLambda.java [47:163]
public void handleRequest(InputStream inputStream, OutputStream outputStream, Context context) throws IOException {
Logger logger = s -> context.getLogger().log(s);
ObjectMapper objectMapper = new ObjectMapper();
JsonNode json = objectMapper.readTree(IOUtils.toString(inputStream, UTF_8.name()));
String cmd = json.has("command") ?
json.path("command").textValue() :
EnvironmentVariableUtils.getOptionalEnv("COMMAND", "export-pg");
ObjectNode params = json.has("params") ?
(ObjectNode) json.get("params") :
objectMapper.readTree("{}").deepCopy();
String outputS3Path = json.has("outputS3Path") ?
json.path("outputS3Path").textValue() :
EnvironmentVariableUtils.getOptionalEnv("OUTPUT_S3_PATH", "");
boolean createExportSubdirectory = Boolean.parseBoolean(
json.has("createExportSubdirectory") ?
json.path("createExportSubdirectory").toString() :
EnvironmentVariableUtils.getOptionalEnv("CREATE_EXPORT_SUBDIRECTORY", "true"));
boolean overwriteExisting = Boolean.parseBoolean(
json.has("overwriteExisting") ?
json.path("overwriteExisting").toString() :
EnvironmentVariableUtils.getOptionalEnv("OVERWRITE_EXISTING", "false"));
boolean uploadToS3OnError = Boolean.parseBoolean(
json.has("uploadToS3OnError") ?
json.path("uploadToS3OnError").toString() :
EnvironmentVariableUtils.getOptionalEnv("UPLOAD_TO_S3_ON_ERROR", "true"));
String configFileS3Path = json.has("configFileS3Path") ?
json.path("configFileS3Path").textValue() :
EnvironmentVariableUtils.getOptionalEnv("CONFIG_FILE_S3_PATH", "");
String queriesFileS3Path = json.has("queriesFileS3Path") ?
json.path("queriesFileS3Path").textValue() :
EnvironmentVariableUtils.getOptionalEnv("QUERIES_FILE_S3_PATH", "");
String completionFileS3Path = json.has("completionFileS3Path") ?
json.path("completionFileS3Path").textValue() :
EnvironmentVariableUtils.getOptionalEnv("COMPLETION_FILE_S3_PATH", "");
String s3Region = json.has("s3Region") ?
json.path("s3Region").textValue() :
EnvironmentVariableUtils.getOptionalEnv("S3_REGION",
EnvironmentVariableUtils.getOptionalEnv("AWS_REGION", ""));
ObjectNode completionFilePayload = json.has("completionFilePayload") ?
json.path("completionFilePayload").deepCopy() :
objectMapper.readTree(
EnvironmentVariableUtils.getOptionalEnv(
"COMPLETION_FILE_PAYLOAD",
"{}")).
deepCopy();
ObjectNode additionalParams = json.has("additionalParams") ?
json.path("additionalParams").deepCopy() :
objectMapper.readTree("{}").deepCopy();
int maxConcurrency = json.has("jobSize") ?
JobSize.parse(json.path("jobSize").textValue()).maxConcurrency() :
-1;
logger.log("cmd : " + cmd);
logger.log("params : " + params.toPrettyString());
logger.log("outputS3Path : " + outputS3Path);
logger.log("createExportSubdirectory : " + createExportSubdirectory);
logger.log("overwriteExisting : " + overwriteExisting);
logger.log("uploadToS3OnError : " + uploadToS3OnError);
logger.log("configFileS3Path : " + configFileS3Path);
logger.log("queriesFileS3Path : " + queriesFileS3Path);
logger.log("completionFileS3Path : " + completionFileS3Path);
logger.log("s3Region : " + s3Region);
logger.log("completionFilePayload : " + completionFilePayload.toPrettyString());
logger.log("additionalParams : " + additionalParams.toPrettyString());
if (!cmd.contains(" ") && !params.isEmpty()) {
cmd = ParamConverter.fromJson(cmd, params).toString();
}
logger.log("revised cmd : " + cmd);
NeptuneExportService neptuneExportService = new NeptuneExportService(
cmd,
localOutputPath,
cleanOutputPath,
outputS3Path,
createExportSubdirectory,
overwriteExisting,
uploadToS3OnError,
configFileS3Path,
queriesFileS3Path,
completionFileS3Path,
completionFilePayload,
additionalParams,
maxConcurrency,
s3Region);
S3ObjectInfo outputS3ObjectInfo = neptuneExportService.execute();
if (StringUtils.isEmpty(outputS3Path)) {
return;
}
if (outputS3ObjectInfo != null) {
try (Writer writer = new BufferedWriter(new OutputStreamWriter(outputStream, UTF_8))) {
writer.write(outputS3ObjectInfo.toString());
}
} else {
System.exit(-1);
}
}