Changements dans Waiters de la version 1 à la version 2 - AWS SDK for Java 2.x

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.

Changements dans Waiters de la version 1 à la version 2

Cette rubrique détaille les modifications apportées aux fonctionnalités de Waiters de la version 1 (v1) à la version 2 (v2).

Les tableaux suivants montrent la différence pour les serveurs DynamoDB en particulier. Les serveurs des autres services suivent le même schéma.

Changements de haut niveau

Les classes de serveurs utilisent le même artefact Maven que le service.

Modification v1 v2

Dépendances de Maven

<dependencyManagement> <dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-bom</artifactId> <version>1.12.6801</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>dynamodb</artifactId> </dependency> </dependencies>
<dependencyManagement> <dependencies> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>bom</artifactId> <version>2.27.102</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>dynamodb</artifactId> </dependency> </dependencies>
Nom du package com.amazonaws.services.dynamodbv2.waiters software.amazon.awssdk.services.dynamodb.waiters
Noms des classes

AmazonDynamoDBWaiters

1 Dernière version. 2 Dernière version.

APImodifications

Modification v1 v2
Créez un serveur
AmazonDynamoDB client = AmazonDynamoDBClientBuilder .standard().build(); AmazonDynamoDBWaiters waiter = client.waiters();
Synchrone :
DynamoDbClient client = DynamoDbClient.create(); DynamoDbWaiter waiter = client.waiter();

Asynchrone :

DynamoDbAsyncClient asyncClient = DynamoDbAsyncClient.create(); DynamoDbAsyncWaiter waiter = asyncClient.waiter();
Attendez qu'une table existe Synchrone :
waiter.tableExists() .run(new WaiterParameters<>( new DescribeTableRequest(tableName)));

Asynchrone :

waiter.tableExists() .runAsync(new WaiterParameters() .withRequest(new DescribeTableRequest(tableName)), new WaiterHandler() { @Override public void onWaitSuccess( AmazonWebServiceRequest amazonWebServiceRequest) { System.out.println("Table creation succeeded"); } @Override public void onWaitFailure(Exception e) { e.printStackTrace(); } }).get();

Synchrone :

WaiterResponse<DescribeTableResponse> waiterResponse = waiter.waitUntilTableExists( r -> r.tableName("myTable")); waiterResponse.matched().response() .ifPresent(System.out::println);

Asynchrone :

waiter.waitUntilTableExists(r -> r.tableName(tableName)) .whenComplete((r, t) -> { if (t != null) { t.printStackTrace(); } else { System.out.println( "Table creation succeeded"); } }).join();

Configuration changes

Modification v1 v2
Stratégie de sondage (nombre maximum de tentatives et délai fixe)
MaxAttemptsRetryStrategy maxAttemptsRetryStrategy = new MaxAttemptsRetryStrategy(10); FixedDelayStrategy fixedDelayStrategy = new FixedDelayStrategy(3); PollingStrategy pollingStrategy = new PollingStrategy(maxAttemptsRetryStrategy, fixedDelayStrategy); waiter.tableExists().run( new WaiterParameters<>( new DescribeTableRequest(tableName)), pollingStrategy);
FixedDelayBackoffStrategy fixedDelayBackoffStrategy = FixedDelayBackoffStrategy .create(Duration.ofSeconds(3)); waiter.waitUntilTableExists(r -> r.tableName(tableName), c -> c.maxAttempts(10) .backoffStrategy(fixedDelayBackoffStrategy));