From c91003faa6fb12eb81788e4036fb0fb3353725b2 Mon Sep 17 00:00:00 2001 From: Benoy Bose Date: Thu, 9 Jan 2025 19:17:36 +0530 Subject: [PATCH] Executed Query and retrieved results --- server.js | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/server.js b/server.js index 5d7ca2e..0cbb97c 100644 --- a/server.js +++ b/server.js @@ -12,6 +12,8 @@ server.register(sequelizePlugin); server.get("/", async (request, reply) => { const [results, metadata] = await server.sequelize.query('SELECT 1 + 2 AS result'); + console.log(results); + console.log(metadata); return { hello: "world" }; }); @@ -29,8 +31,34 @@ const startQueryCommand = new StartQueryExecutionCommand({ QueryExecutionContext: { Database: process.env.ATHENA_CU_DATABASE }, ResultConfiguration: { OutputLocation: process.env.ATHENA_OUTPUT_S3_BUCKET }, }); + const startQueryResponse = await athenaClient.send(startQueryCommand); -console.log(startQueryResponse); +const queryExecutionId = startQueryResponse.QueryExecutionId; + +let queryExecutionStatus; +do { + const getQueryExecutionCommand = new GetQueryExecutionCommand({ + QueryExecutionId: queryExecutionId, + }); + + const queryExecutionResponse = await athenaClient.send(getQueryExecutionCommand); + queryExecutionStatus = queryExecutionResponse.QueryExecution.Status.State; + + if (queryExecutionStatus === "FAILED") { + console.error(`Query Failed: ${JSON.stringify(queryExecutionResponse)}`); + break; + } + + await new Promise((resolve) => setTimeout(resolve, 5000)); +} while (queryExecutionStatus !== "SUCCEEDED"); + +const getQueryResultsCommand = new GetQueryResultsCommand({ + QueryExecutionId: queryExecutionId, +}); + +console.log(getQueryResultsCommand); +const result = await athenaClient.send(getQueryResultsCommand); +console.log(result.ResultSet.Rows); try { await server.listen({ port: 3000 })