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));
|