Skip to content

Commit 78c7aea

Browse files
committed
update samples
1 parent 15c5e86 commit 78c7aea

19 files changed

+145
-62
lines changed

astra-db-java/src/test/java/com/datastax/astra/test/integration/local/LocalTableITTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -470,7 +470,7 @@ public void should_insert_many() {
470470
@Test
471471
public void should_delete_many() {
472472
Table<TableCompositeRow> t = getDatabase().getTable(TABLE_COMPOSITE, TableCompositeRow.class);
473-
/*
473+
474474
for(int i = 0; i < 1000; i+=10) {
475475
t.insertMany(
476476
new TableCompositeRow(i, "a", "b"),
@@ -484,14 +484,14 @@ public void should_delete_many() {
484484
new TableCompositeRow(i+8, "c", "c"),
485485
new TableCompositeRow(i+9, "a", "b"));
486486
}
487-
*/
487+
488488
// Position a retry count at 3 default is 1
489489
HttpClientOptions httpClientOptions = new HttpClientOptions()
490490
.retryCount(3)
491491
.retryDelay(Duration.ofMillis(100));
492492
TableDeleteManyOptions deleteManyOptions = new TableDeleteManyOptions()
493493
.httpClientOptions(httpClientOptions)
494-
.timeout(Duration.ofMillis(10));
494+
.timeout(Duration.ofMillis(1000));
495495

496496
t.deleteMany(null, deleteManyOptions);
497497
}
Lines changed: 101 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,111 @@
11
package com.datastax.astra.client;
22

3+
import com.datastax.astra.client.core.auth.AWSEmbeddingHeadersProvider;
4+
import com.datastax.astra.client.core.auth.EmbeddingAPIKeyHeaderProvider;
5+
import com.datastax.astra.client.core.auth.UsernamePasswordTokenProvider;
6+
import com.datastax.astra.client.core.http.HttpClientOptions;
7+
import com.datastax.astra.client.core.http.HttpProxy;
38
import com.datastax.astra.client.core.options.DataAPIClientOptions;
9+
import com.datastax.astra.client.core.options.TimeoutOptions;
410
import com.datastax.astra.client.databases.Database;
511
import com.datastax.astra.client.databases.DatabaseOptions;
12+
import com.datastax.astra.internal.command.CommandObserver;
13+
import com.datastax.astra.internal.command.ExecutionInfos;
614

15+
import java.net.http.HttpClient;
16+
import java.time.Duration;
717
import java.util.UUID;
818

919
public class Connecting {
10-
public static void main(String[] args) {
11-
// Preferred Access with DataAPIClient (default options)
12-
DataAPIClient client = new DataAPIClient("TOKEN");
13-
14-
// Overriding the default options
15-
DataAPIClient client1 = new DataAPIClient("TOKEN", new DataAPIClientOptions());
16-
17-
// Access the Database from its endpoint
18-
Database db1 = client1.getDatabase("*API_ENDPOINT*");
19-
Database db2 = client1.getDatabase("*API_ENDPOINT*", new DatabaseOptions().keyspace("*KEYSPACE*"));
20-
21-
// Access the Database from its endpoint
22-
UUID databaseId = UUID.fromString("f5abf92f-ff66-48a0-bbc2-d240bc25dc1f");
23-
Database db3 = client.getDatabase(databaseId);
24-
Database db4 = client.getDatabase(databaseId,
25-
new DatabaseOptions().keyspace("*KEYSPACE*"));
26-
Database db5 = client.getDatabase(databaseId, "us-east-2",
27-
new DatabaseOptions().keyspace("*KEYSPACE*"));
28-
db5.useKeyspace("yet_another");
29-
30-
}
20+
public static void main(String[] args) {
21+
22+
// Preferred Access with DataAPIClient (default options) ASTRA
23+
DataAPIClient clientWithAstra =
24+
new DataAPIClient("AstraCS:TOKEN");
25+
26+
// If you work locally, create a token from username and password
27+
String localToken =
28+
new UsernamePasswordTokenProvider("username", "password").getToken();
29+
DataAPIClient clientlocal = new DataAPIClient(localToken);
30+
31+
// Specialization of the DataAPIClient
32+
DataAPIClientOptions options = new DataAPIClientOptions()
33+
.destination(DataAPIDestination.ASTRA) ; // HCD, DSE, CASSANDRA
34+
35+
// Specialization of the HTTP CLIENT
36+
HttpClientOptions httpClientOptions = new HttpClientOptions()
37+
// RETRIES => default is not retry
38+
.retryCount(3).retryDelay(Duration.ofMillis(200))
39+
// Http Redirect
40+
.httpRedirect(HttpClient.Redirect.NORMAL)
41+
// Http version
42+
.httpVersion(HttpClient.Version.HTTP_2)
43+
// default is no proxy
44+
.httpProxy(new HttpProxy().hostname("localhost").port(8080));
45+
options.httpClientOptions(httpClientOptions);
46+
47+
// Specialization of the TIMEOUTS
48+
TimeoutOptions timeoutsOptions = new TimeoutOptions()
49+
// Collection Admin (DDL)
50+
.collectionAdminTimeoutMillis(5000)
51+
.collectionAdminTimeout(Duration.ofMillis(5000))
52+
// Table Admin (DDL)
53+
.tableAdminTimeoutMillis(5000)
54+
.tableAdminTimeout(Duration.ofMillis(5000))
55+
// Database Admin (DDL)
56+
.databaseAdminTimeoutMillis(15000)
57+
.databaseAdminTimeout(Duration.ofMillis(15000))
58+
// Generation operation (DML)
59+
.generalMethodTimeoutMillis(1000)
60+
.generalMethodTimeout(Duration.ofMillis(1000))
61+
// Specialization of 1 http request when multiple are done (insert Many)
62+
.requestTimeoutMillis(200)
63+
.requestTimeout(Duration.ofMillis(200))
64+
//HTTP Connect delay
65+
.connectTimeoutMillis(100)
66+
.connectTimeout(Duration.ofMillis(100));
67+
options.timeoutOptions(timeoutsOptions);
68+
69+
// Loggers and observers
70+
options.addObserver("my_dummy_logger", new CommandObserver() {
71+
@Override
72+
public void onCommand(ExecutionInfos executionInfo) {
73+
System.out.println("Command executed: " + executionInfo.getCommand().getName());
74+
}
75+
});
76+
options.logRequests(); // <-- get you a sl4j logger at debug level
77+
78+
// Add your application in the chain of callers in the header
79+
options.addCaller("MySampleApplication", "1.0.0");
80+
81+
// Add an header to computer embeddings externally (integration)
82+
options.embeddingAuthProvider(new EmbeddingAPIKeyHeaderProvider("key_embeddings"));
83+
options.embeddingAuthProvider(new AWSEmbeddingHeadersProvider("aws_access_key", "aws_secret_key"));
84+
85+
// Add Headers to call for admin or database operations
86+
options.addAdminAdditionalHeader("X-My-Header", "MyValue");
87+
options.addDatabaseAdditionalHeader("X-My-Header", "MyValue");
88+
89+
// Create the client with the options
90+
DataAPIClient client1 = new DataAPIClient("token", options);
91+
92+
// -------------------------------
93+
// -- Initializing Database ------
94+
// -------------------------------
95+
96+
// Access the Database from its endpoint
97+
Database db1 = client1.getDatabase("*API_ENDPOINT*");
98+
Database db2 = client1.getDatabase("*API_ENDPOINT*", new DatabaseOptions()
99+
.keyspace("*KEYSPACE*"));
100+
101+
// (ASTRA ONLY !) Access the Database from IDS
102+
UUID databaseId = UUID.fromString("f5abf92f-ff66-48a0-bbc2-d240bc25dc1f");
103+
Database db3 = client1.getDatabase(databaseId);
104+
Database db4 = client1.getDatabase(databaseId, new DatabaseOptions()
105+
.keyspace("*KEYSPACE*"));
106+
Database db5 = client1.getDatabase(databaseId, "us-east-2", new DatabaseOptions()
107+
.keyspace("*KEYSPACE*"));
108+
db5.useKeyspace("yet_another");
109+
110+
}
31111
}

examples/src/main/java/com/datastax/astra/client/tables/CreateIndex.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.datastax.astra.client.tables;
22

3+
import com.datastax.astra.client.DataAPIClient;
34
import com.datastax.astra.client.DataAPIClients;
45
import com.datastax.astra.client.databases.Database;
56
import com.datastax.astra.client.tables.commands.options.CreateIndexOptions;
@@ -10,8 +11,8 @@
1011

1112
public class CreateIndex {
1213
public static void main(String[] args) {
13-
//Database db = new DataAPIClient("token").getDatabase("endpoint");
14-
Database db = DataAPIClients.localDbWithDefaultKeyspace();
14+
Database db = new DataAPIClient("token").getDatabase("endpoint");
15+
1516
Table<Row> tableGames = db.getTable("games");
1617

1718
tableGames.createIndex("score_index","score");

examples/src/main/java/com/datastax/astra/client/tables/CreateVectorIndex.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@
1414

1515
public class CreateVectorIndex {
1616
public static void main(String[] args) {
17-
//Database db = new DataAPIClient("token").getDatabase("endpoint");
18-
Database db = DataAPIClients.localDbWithDefaultKeyspace();
17+
Database db = new DataAPIClient("token").getDatabase("endpoint");
1918
Table<Row> tableGames = db.getTable("games");
2019

2120
//tableGames.createVectorIndex("m_vector_index", "m_vector");

examples/src/main/java/com/datastax/astra/client/tables/DeleteMany.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.datastax.astra.client.tables;
22

3+
import com.datastax.astra.client.DataAPIClient;
34
import com.datastax.astra.client.DataAPIClients;
45
import com.datastax.astra.client.core.query.Filter;
56
import com.datastax.astra.client.databases.Database;
@@ -13,8 +14,7 @@
1314

1415
public class DeleteMany {
1516
public static void main(String[] args) {
16-
Database db = DataAPIClients.localDbWithDefaultKeyspace();
17-
// Database astraDb = new DataAPIClient(token).getDatabase(endpoint);
17+
Database db = new DataAPIClient("token").getDatabase("endpoint");
1818

1919
Table<Row> tableRow = db.getTable("games");
2020

examples/src/main/java/com/datastax/astra/client/tables/DeleteOne.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.datastax.astra.client.tables;
22

3+
import com.datastax.astra.client.DataAPIClient;
34
import com.datastax.astra.client.DataAPIClients;
45
import com.datastax.astra.client.core.query.Filter;
56
import com.datastax.astra.client.databases.Database;
@@ -15,8 +16,7 @@
1516

1617
public class DeleteOne {
1718
public static void main(String[] args) {
18-
Database db = DataAPIClients.localDbWithDefaultKeyspace();
19-
// Database astraDb = new DataAPIClient(token).getDatabase(endpoint);
19+
Database db = new DataAPIClient("token").getDatabase("endpoint");
2020

2121
Table<Row> tableRow = db.getTable("games");
2222

examples/src/main/java/com/datastax/astra/client/tables/Distinct.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.datastax.astra.client.tables;
22

3+
import com.datastax.astra.client.DataAPIClient;
34
import com.datastax.astra.client.DataAPIClients;
45
import com.datastax.astra.client.core.query.Filter;
56
import com.datastax.astra.client.core.query.Filters;
@@ -17,8 +18,7 @@
1718

1819
public class Distinct {
1920
public static void main(String[] args) {
20-
Database db = DataAPIClients.localDbWithDefaultKeyspace();
21-
// Database astraDb = new DataAPIClient(token).getDatabase(endpoint);
21+
Database db = new DataAPIClient("token").getDatabase("endpoint");
2222

2323
Table<Row> table = db.getTable("games");
2424

examples/src/main/java/com/datastax/astra/client/tables/DropIndex.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.datastax.astra.client.tables;
22

3+
import com.datastax.astra.client.DataAPIClient;
34
import com.datastax.astra.client.DataAPIClients;
45
import com.datastax.astra.client.databases.Database;
56
import com.datastax.astra.client.tables.commands.options.CreateIndexOptions;
@@ -11,8 +12,7 @@
1112

1213
public class DropIndex {
1314
public static void main(String[] args) {
14-
//Database db = new DataAPIClient("token").getDatabase("endpoint");
15-
Database db = DataAPIClients.localDbWithDefaultKeyspace();
15+
Database db = new DataAPIClient("token").getDatabase("endpoint");
1616

1717
db.dropTableIndex("score_index");
1818

examples/src/main/java/com/datastax/astra/client/tables/FindMany.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,21 @@
11
package com.datastax.astra.client.tables;
22

3-
import com.datastax.astra.client.DataAPIClients;
3+
import com.datastax.astra.client.DataAPIClient;
44
import com.datastax.astra.client.core.query.Filter;
55
import com.datastax.astra.client.core.query.Sort;
6-
import com.datastax.astra.client.core.vector.DataAPIVector;
76
import com.datastax.astra.client.databases.Database;
8-
import com.datastax.astra.client.tables.commands.options.TableFindOneOptions;
97
import com.datastax.astra.client.tables.commands.options.TableFindOptions;
108
import com.datastax.astra.client.tables.cursor.TableCursor;
119
import com.datastax.astra.client.tables.definition.rows.Row;
1210

1311
import java.util.List;
14-
import java.util.Optional;
1512

16-
import static com.datastax.astra.client.core.query.Filters.and;
1713
import static com.datastax.astra.client.core.query.Filters.eq;
18-
import static com.datastax.astra.client.core.query.Filters.gt;
1914
import static com.datastax.astra.client.core.query.Projection.include;
2015

2116
public class FindMany {
2217
public static void main(String[] args) {
23-
Database db = DataAPIClients.localDbWithDefaultKeyspace();
24-
// Database astraDb = new DataAPIClient(token).getDatabase(endpoint);
18+
Database db = new DataAPIClient("token").getDatabase("endpoint");
2519

2620
Table<Row> table = db.getTable("games");
2721

examples/src/main/java/com/datastax/astra/client/tables/FindOne.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.datastax.astra.client.tables;
22

3+
import com.datastax.astra.client.DataAPIClient;
34
import com.datastax.astra.client.DataAPIClients;
45
import com.datastax.astra.client.core.query.Filter;
56
import com.datastax.astra.client.core.query.Projection;
@@ -19,8 +20,7 @@
1920

2021
public class FindOne {
2122
public static void main(String[] args) {
22-
Database db = DataAPIClients.localDbWithDefaultKeyspace();
23-
// Database astraDb = new DataAPIClient(token).getDatabase(endpoint);
23+
Database db = new DataAPIClient("token").getDatabase("endpoint");
2424

2525
Table<Row> tableRow = db.getTable("games");
2626

0 commit comments

Comments
 (0)