in src/app/AthenaNetCore/AthenaNetCore.BusinessLogic/Extentions/AmazonAthenaClientExtentions.cs [138:159]
public static async Task<bool> IsTheQueryStillRunning(this IAmazonAthena athenaClient, string queryExecutionId)
{
var getQueryExecutionRequest = new GetQueryExecutionRequest { QueryExecutionId = queryExecutionId };
bool isQueryStillRunning = true;
var getQueryExecutionResponse = await athenaClient.GetQueryExecutionAsync(getQueryExecutionRequest);
var queryState = getQueryExecutionResponse.QueryExecution.Status.State;
if (queryState == QueryExecutionState.FAILED)
{
throw new AmazonAthenaException("Query Failed to run with Error Message: " + getQueryExecutionResponse.QueryExecution.Status.StateChangeReason);
}
else if (queryState == QueryExecutionState.CANCELLED)
{
throw new AmazonAthenaException("Query was cancelled.");
}
else if (queryState == QueryExecutionState.SUCCEEDED)
{
isQueryStillRunning = false;
}
Debug.WriteLine("Current Status is: " + queryState);
return isQueryStillRunning;
}