Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
StopQueryExecutionExample
exécute un exemple de requête, l'arrête immédiatement, puis vérifie son statut pour s'assurer qu'elle a bien été annulée.
package aws.example.athena;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.athena.AthenaClient;
import software.amazon.awssdk.services.athena.model.StopQueryExecutionRequest;
import software.amazon.awssdk.services.athena.model.GetQueryExecutionRequest;
import software.amazon.awssdk.services.athena.model.GetQueryExecutionResponse;
import software.amazon.awssdk.services.athena.model.QueryExecutionState;
import software.amazon.awssdk.services.athena.model.AthenaException;
import software.amazon.awssdk.services.athena.model.QueryExecutionContext;
import software.amazon.awssdk.services.athena.model.ResultConfiguration;
import software.amazon.awssdk.services.athena.model.StartQueryExecutionRequest;
import software.amazon.awssdk.services.athena.model.StartQueryExecutionResponse;
/**
* Before running this Java V2 code example, set up your development
* environment, including your credentials.
*
* For more information, see the following documentation topic:
*
* https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html
*/
public class StopQueryExecutionExample {
public static void main(String[] args) {
AthenaClient athenaClient = AthenaClient.builder()
.region(Region.US_WEST_2)
.build();
String sampleQueryExecutionId = submitAthenaQuery(athenaClient);
stopAthenaQuery(athenaClient, sampleQueryExecutionId);
athenaClient.close();
}
public static void stopAthenaQuery(AthenaClient athenaClient, String sampleQueryExecutionId) {
try {
StopQueryExecutionRequest stopQueryExecutionRequest = StopQueryExecutionRequest.builder()
.queryExecutionId(sampleQueryExecutionId)
.build();
athenaClient.stopQueryExecution(stopQueryExecutionRequest);
GetQueryExecutionRequest getQueryExecutionRequest = GetQueryExecutionRequest.builder()
.queryExecutionId(sampleQueryExecutionId)
.build();
GetQueryExecutionResponse getQueryExecutionResponse = athenaClient
.getQueryExecution(getQueryExecutionRequest);
if (getQueryExecutionResponse.queryExecution()
.status()
.state()
.equals(QueryExecutionState.CANCELLED)) {
System.out.println("The Amazon Athena query has been cancelled!");
}
} catch (AthenaException e) {
e.printStackTrace();
System.exit(1);
}
}
// Submits an example query and returns a query execution Id value
public static String submitAthenaQuery(AthenaClient athenaClient) {
try {
QueryExecutionContext queryExecutionContext = QueryExecutionContext.builder()
.database(ExampleConstants.ATHENA_DEFAULT_DATABASE)
.build();
ResultConfiguration resultConfiguration = ResultConfiguration.builder()
.outputLocation(ExampleConstants.ATHENA_OUTPUT_BUCKET)
.build();
StartQueryExecutionRequest startQueryExecutionRequest = StartQueryExecutionRequest.builder()
.queryExecutionContext(queryExecutionContext)
.queryString(ExampleConstants.ATHENA_SAMPLE_QUERY)
.resultConfiguration(resultConfiguration).build();
StartQueryExecutionResponse startQueryExecutionResponse = athenaClient
.startQueryExecution(startQueryExecutionRequest);
return startQueryExecutionResponse.queryExecutionId();
} catch (AthenaException e) {
e.printStackTrace();
System.exit(1);
}
return null;
}
}