aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoralexandr268 <alexandr268@ydb.tech>2022-10-06 17:16:24 +0300
committeralexandr268 <alexandr268@ydb.tech>2022-10-06 17:16:24 +0300
commit3a5282585871fdeaaa5ce17b68da46f9f9597233 (patch)
treea9ff05524f30cce5512ba27525334ab11f4b0161
parent822465ea046a777f769e7178d09011f4de30ed1a (diff)
downloadydb-3a5282585871fdeaaa5ce17b68da46f9f9597233.tar.gz
Update Java SDK documentation
Update java auth helpers Update links for YDB Java SDK Update en example Update en recipes Update ru java example Update ru java recipes
-rw-r--r--ydb/docs/en/core/reference/ydb-sdk/_includes/auth.md10
-rw-r--r--ydb/docs/en/core/reference/ydb-sdk/_includes/index.md2
-rw-r--r--ydb/docs/en/core/reference/ydb-sdk/_includes/install.md2
-rw-r--r--ydb/docs/en/core/reference/ydb-sdk/example/java/_includes/run_custom.md7
-rw-r--r--ydb/docs/en/core/reference/ydb-sdk/example/java/_includes/run_docker.md3
-rw-r--r--ydb/docs/en/core/reference/ydb-sdk/example/java/_includes/run_options.md1
-rw-r--r--ydb/docs/en/core/reference/ydb-sdk/example/java/index.md109
-rw-r--r--ydb/docs/en/core/reference/ydb-sdk/recipes/auth/_includes/access_token/java.md15
-rw-r--r--ydb/docs/en/core/reference/ydb-sdk/recipes/auth/_includes/anonymous/java.md9
-rw-r--r--ydb/docs/en/core/reference/ydb-sdk/recipes/auth/_includes/env/java.md9
-rw-r--r--ydb/docs/en/core/reference/ydb-sdk/recipes/auth/_includes/metadata/java.md14
-rw-r--r--ydb/docs/en/core/reference/ydb-sdk/recipes/auth/_includes/service_account/java.md17
-rw-r--r--ydb/docs/en/core/reference/ydb-sdk/recipes/debug/_includes/logs/java.md16
-rw-r--r--ydb/docs/en/core/reference/ydb-sdk/recipes/retry/_includes/java.md84
-rw-r--r--ydb/docs/en/core/reference/ydb-sdk/recipes/session_pool_limit/_includes/java.md2
-rw-r--r--ydb/docs/ru/core/reference/ydb-sdk/_includes/auth.md10
-rw-r--r--ydb/docs/ru/core/reference/ydb-sdk/_includes/index.md2
-rw-r--r--ydb/docs/ru/core/reference/ydb-sdk/_includes/install.md2
-rw-r--r--ydb/docs/ru/core/reference/ydb-sdk/example/java/_includes/run_custom.md11
-rw-r--r--ydb/docs/ru/core/reference/ydb-sdk/example/java/_includes/run_docker.md4
-rw-r--r--ydb/docs/ru/core/reference/ydb-sdk/example/java/index.md107
-rw-r--r--ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-access-token.md15
-rw-r--r--ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-anonymous.md9
-rw-r--r--ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-env.md11
-rw-r--r--ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-metadata.md14
-rw-r--r--ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-service-account.md17
-rw-r--r--ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-static.md20
-rw-r--r--ydb/docs/ru/core/reference/ydb-sdk/recipes/debug-logs.md16
-rw-r--r--ydb/docs/ru/core/reference/ydb-sdk/recipes/retry.md28
-rw-r--r--ydb/docs/ru/core/reference/ydb-sdk/recipes/session-pool-limit.md2
30 files changed, 277 insertions, 291 deletions
diff --git a/ydb/docs/en/core/reference/ydb-sdk/_includes/auth.md b/ydb/docs/en/core/reference/ydb-sdk/_includes/auth.md
index b3233e76b2..1c2d0c9430 100644
--- a/ydb/docs/en/core/reference/ydb-sdk/_includes/auth.md
+++ b/ydb/docs/en/core/reference/ydb-sdk/_includes/auth.md
@@ -41,11 +41,11 @@ You can click any of the methods below to go to the source code of an example in
| Mode | Method |
----- | -----
- | Anonymous | [com.yandex.ydb.core.auth.NopAuthProvider.INSTANCE](https://github.com/yandex-cloud/ydb-java-sdk/tree/master/examples/auth/anonymous_credentials) |
- | Access Token | [com.yandex.ydb.auth.iam.CloudAuthProvider.newAuthProvider(</br>yandex.cloud.sdk.auth.provider.IamTokenCredentialProvider</br>.builder()</br>.token(accessToken)</br>.build()</br>);](https://github.com/yandex-cloud/ydb-java-sdk/tree/master/examples/auth/access_token_credentials) |
- | Metadata | [com.yandex.ydb.auth.iam.CloudAuthProvider.newAuthProvider(</br>yandex.cloud.sdk.auth.provider.ComputeEngineCredentialProvider</br>.builder()</br>.build()</br>);](https://github.com/yandex-cloud/ydb-java-sdk/tree/master/examples/auth/metadata_credentials) |
- | Service Account Key | [com.yandex.ydb.auth.iam.CloudAuthProvider.newAuthProvider(</br>yandex.cloud.sdk.auth.provider.ApiKeyCredentialProvider</br>.builder()</br>.fromFile(Paths.get(saKeyFile))</br>.build()</br>);](https://github.com/yandex-cloud/ydb-java-sdk/tree/master/examples/auth/service_account_credentials) |
- | Determined by environment variables | [com.yandex.ydb.auth.iam.CloudAuthHelper.getAuthProviderFromEnviron();](https://github.com/yandex-cloud/ydb-java-sdk/tree/master/examples/auth/environ/src/main/java/com/yandex/ydb/example) |
+ | Anonymous | [tech.ydb.core.auth.NopAuthProvider.INSTANCE](https://github.com/ydb-platform/ydb-java-examples/tree/master/auth/anonymous_credentials) |
+ | Access Token | [new tech.ydb.core.auth.TokenAuthProvider(accessToken);](https://github.com/ydb-platform/ydb-java-examples/tree/master/auth/access_token_credentials) |
+ | Metadata | [tech.ydb.auth.iam.CloudAuthHelper.getMetadataAuthProvider();](https://github.com/ydb-platform/ydb-java-examples/tree/master/auth/metadata_credentials) |
+ | Service Account Key | [tech.ydb.auth.iam.CloudAuthHelper.getServiceAccountFileAuthProvider(saKeyFile);](https://github.com/ydb-platform/ydb-java-examples/tree/master/auth/service_account_credentials) |
+ | Determined by environment variables | [tech.ydb.auth.iam.CloudAuthHelper.getAuthProviderFromEnviron();](https://github.com/ydb-platform/ydb-java-examples/tree/master/auth/environ) |
- Node.js
diff --git a/ydb/docs/en/core/reference/ydb-sdk/_includes/index.md b/ydb/docs/en/core/reference/ydb-sdk/_includes/index.md
index 53d1dde533..d627bc7741 100644
--- a/ydb/docs/en/core/reference/ydb-sdk/_includes/index.md
+++ b/ydb/docs/en/core/reference/ydb-sdk/_includes/index.md
@@ -10,7 +10,7 @@ OpenSource SDKs in the following programming languages are available to work wit
{% endif %}
- C# (.NET) [https://github.com/ydb-platform/ydb-dotnet-sdk](https://github.com/ydb-platform/ydb-dotnet-sdk)
- Go [https://github.com/ydb-platform/ydb-go-sdk/v3](https://github.com/ydb-platform/ydb-go-sdk) (archived versions: [v1](https://github.com/yandex-cloud/ydb-go-sdk/tree/v1.5.1) and [v2](https://github.com/yandex-cloud/ydb-go-sdk/tree/v2.11.2))
-- Java [https://github.com/yandex-cloud/ydb-java-sdk](https://github.com/yandex-cloud/ydb-java-sdk)
+- Java [https://github.com/ydb-platform/ydb-java-sdk](https://github.com/ydb-platform/ydb-java-sdk)
- Node.js [https://github.com/ydb-platform/ydb-nodejs-sdk](https://github.com/ydb-platform/ydb-nodejs-sdk)
- PHP [https://github.com/yandex-cloud/ydb-php-sdk](https://github.com/yandex-cloud/ydb-php-sdk)
- Python [https://github.com/ydb-platform/ydb-python-sdk](https://github.com/ydb-platform/ydb-python-sdk)
diff --git a/ydb/docs/en/core/reference/ydb-sdk/_includes/install.md b/ydb/docs/en/core/reference/ydb-sdk/_includes/install.md
index 8f9a9d3000..fee42d8923 100644
--- a/ydb/docs/en/core/reference/ydb-sdk/_includes/install.md
+++ b/ydb/docs/en/core/reference/ydb-sdk/_includes/install.md
@@ -28,7 +28,7 @@ The build process using the source code is described in the source code reposito
- Java
- Add dependencies to the Maven project as described in the ["Install the SDK"](https://github.com/yandex-cloud/ydb-java-sdk#install-the-sdk) step of the `readme.md` file in the source code repository.
+ Add dependencies to the Maven project as described in the ["Install the SDK"](https://github.com/ydb-platform/ydb-java-sdk#install-the-sdk) step of the `readme.md` file in the source code repository.
- PHP
diff --git a/ydb/docs/en/core/reference/ydb-sdk/example/java/_includes/run_custom.md b/ydb/docs/en/core/reference/ydb-sdk/example/java/_includes/run_custom.md
index 73a1abe153..f97f8c87f1 100644
--- a/ydb/docs/en/core/reference/ydb-sdk/example/java/_includes/run_custom.md
+++ b/ydb/docs/en/core/reference/ydb-sdk/example/java/_includes/run_custom.md
@@ -5,7 +5,7 @@ If authentication is enabled in the database, you also need to select the [authe
Run the command as follows:
```bash
-( cd ydb-java-sdk/examples/basic_example/target && \
+( cd ydb-java-examples/basic_example/target && \
<auth_mode_var>="<auth_mode_value>" java -jar ydb-basic-example.jar <endpoint>?database=<database>)
```
@@ -19,7 +19,8 @@ where
For example:
```bash
-YDB_ACCESS_TOKEN_CREDENTIALS="t1.9euelZqOnJuJlc..." java -jar examples/basic_example/target/ydb-basic-example.jar grpcs://ydb.example.com:2135?database=/somepath/somelocation
+( cd ydb-java-examples/basic_example/target && \
+YDB_ACCESS_TOKEN_CREDENTIALS="t1.9euelZqOnJuJlc..." java -jar ydb-basic-example.jar grpcs://ydb.example.com:2135?database=/somepath/somelocation)
```
-{% include [../../_includes/pars_from_profile_hint.md](../../_includes/pars_from_profile_hint.md) %} \ No newline at end of file
+{% include [../../_includes/pars_from_profile_hint.md](../../_includes/pars_from_profile_hint.md) %}
diff --git a/ydb/docs/en/core/reference/ydb-sdk/example/java/_includes/run_docker.md b/ydb/docs/en/core/reference/ydb-sdk/example/java/_includes/run_docker.md
index 25302657a7..0d3a043773 100644
--- a/ydb/docs/en/core/reference/ydb-sdk/example/java/_includes/run_docker.md
+++ b/ydb/docs/en/core/reference/ydb-sdk/example/java/_includes/run_docker.md
@@ -1,7 +1,6 @@
To connect to a locally deployed YDB database according to the [Docker](../../../../../getting_started/self_hosted/ydb_docker.md) use case, run the following command in the default configuration:
```bash
-(cd ydb-java-sdk/examples/basic_example/target && \
+(cd ydb-java-examples/basic_example/target && \
YDB_ANONYMOUS_CREDENTIALS=1 java -jar ydb-basic-example.jar grpc://localhost:2136?database=/local )
```
-
diff --git a/ydb/docs/en/core/reference/ydb-sdk/example/java/_includes/run_options.md b/ydb/docs/en/core/reference/ydb-sdk/example/java/_includes/run_options.md
index dbb8af9b43..2a65ab4eca 100644
--- a/ydb/docs/en/core/reference/ydb-sdk/example/java/_includes/run_options.md
+++ b/ydb/docs/en/core/reference/ydb-sdk/example/java/_includes/run_options.md
@@ -9,4 +9,3 @@
{% include [run_custom.md](run_custom.md) %}
{% endlist %}
-
diff --git a/ydb/docs/en/core/reference/ydb-sdk/example/java/index.md b/ydb/docs/en/core/reference/ydb-sdk/example/java/index.md
index 922e8e2b05..61626ee6be 100644
--- a/ydb/docs/en/core/reference/ydb-sdk/example/java/index.md
+++ b/ydb/docs/en/core/reference/ydb-sdk/example/java/index.md
@@ -1,6 +1,6 @@
# App in Java
-This page contains a detailed description of the code of a [test app](https://github.com/yandex-cloud/ydb-java-sdk/tree/master/examples/basic_example) that is available as part of the {{ ydb-short-name }} [Java SDK](https://github.com/yandex-cloud/ydb-java-sdk).
+This page contains a detailed description of the code of a [test app](https://github.com/ydb-platform/ydb-java-examples/tree/master/basic_example) that is available as part of the {{ ydb-short-name }} [Java SDK Examples](https://github.com/ydb-platform/ydb-java-examples).
## Downloading SDK Examples and running the example {#download}
@@ -9,13 +9,13 @@ The following execution scenario is based on [Git](https://git-scm.com/downloads
Create a working directory and use it to run from the command line the command to clone the GitHub repository:
```bash
-git clone https://github.com/yandex-cloud/ydb-java-sdk
+git clone https://github.com/ydb-platform/ydb-java-examples
```
Then build the SDK Examples
```bash
-( cd ydb-java-sdk/examples && mvn package )
+( cd ydb-java-examples && mvn package )
```
Next, from the same working directory, run the command to start the test app. The command will differ depending on the database to connect to.
@@ -33,11 +33,10 @@ Main driver initialization parameters
App code snippet for driver initialization:
```java
-GrpcTransport transport = GrpcTransport.forConnectionString(connectionString)
+this.transport = GrpcTransport.forConnectionString(connectionString)
.withAuthProvider(CloudAuthHelper.getAuthProviderFromEnviron())
.build();
-GrpcTableRpc rpc = GrpcTableRpc.ownTransport(transport);
-this.tableClient = TableClient.newClient(rpc).build();
+this.tableClient = TableClient.newClient(transport).build();
```
We recommend that you use the `SessionRetryContext` helper class for all your operations with the YDB: it ensures proper retries in case the database becomes partially unavailable. Sample code to initialize the retry context:
@@ -48,48 +47,48 @@ this.retryCtx = SessionRetryContext.create(tableClient).build();
{% include [create_table.md](../_includes/steps/02_create_table.md) %}
-To create tables, use the `Session.CreateTable()` method:
+To create tables, use the `Session.createTable()` method:
```java
private void createTables() {
TableDescription seriesTable = TableDescription.newBuilder()
- .addNullableColumn("series_id", PrimitiveType.uint64())
- .addNullableColumn("title", PrimitiveType.utf8())
- .addNullableColumn("series_info", PrimitiveType.utf8())
- .addNullableColumn("release_date", PrimitiveType.date())
+ .addNullableColumn("series_id", PrimitiveType.Uint64)
+ .addNullableColumn("title", PrimitiveType.Text)
+ .addNullableColumn("series_info", PrimitiveType.Text)
+ .addNullableColumn("release_date", PrimitiveType.Date)
.setPrimaryKey("series_id")
.build();
retryCtx.supplyStatus(session -> session.createTable(database + "/series", seriesTable))
- .join().expect("create table problem");
+ .join().expectSuccess("Can't create table /series");
TableDescription seasonsTable = TableDescription.newBuilder()
- .addNullableColumn("series_id", PrimitiveType.uint64())
- .addNullableColumn("season_id", PrimitiveType.uint64())
- .addNullableColumn("title", PrimitiveType.utf8())
- .addNullableColumn("first_aired", PrimitiveType.date())
- .addNullableColumn("last_aired", PrimitiveType.date())
+ .addNullableColumn("series_id", PrimitiveType.Uint64)
+ .addNullableColumn("season_id", PrimitiveType.Uint64)
+ .addNullableColumn("title", PrimitiveType.Text)
+ .addNullableColumn("first_aired", PrimitiveType.Date)
+ .addNullableColumn("last_aired", PrimitiveType.Date)
.setPrimaryKeys("series_id", "season_id")
.build();
retryCtx.supplyStatus(session -> session.createTable(database + "/seasons", seasonsTable))
- .join().expect("create table problem");
+ .join().expectSuccess("Can't create table /seasons");
TableDescription episodesTable = TableDescription.newBuilder()
- .addNullableColumn("series_id", PrimitiveType.uint64())
- .addNullableColumn("season_id", PrimitiveType.uint64())
- .addNullableColumn("episode_id", PrimitiveType.uint64())
- .addNullableColumn("title", PrimitiveType.utf8())
- .addNullableColumn("air_date", PrimitiveType.date())
+ .addNullableColumn("series_id", PrimitiveType.Uint64)
+ .addNullableColumn("season_id", PrimitiveType.Uint64)
+ .addNullableColumn("episode_id", PrimitiveType.Uint64)
+ .addNullableColumn("title", PrimitiveType.Text)
+ .addNullableColumn("air_date", PrimitiveType.Date)
.setPrimaryKeys("series_id", "season_id", "episode_id")
.build();
retryCtx.supplyStatus(session -> session.createTable(database + "/episodes", episodesTable))
- .join().expect("create table problem");
+ .join().expectSuccess("Can't create table /episodes");
}
```
-You can use the `Session.DescribeTable()` method to view information about the table structure and make sure that it was properly created:
+You can use the `Session.describeTable()` method to view information about the table structure and make sure that it was properly created:
```java
private void describeTables() {
@@ -98,7 +97,7 @@ private void describeTables() {
Arrays.asList("series", "seasons", "episodes").forEach(tableName -> {
String tablePath = database + '/' + tableName;
TableDescription tableDesc = retryCtx.supplyResult(session -> session.describeTable(tablePath))
- .join().expect("describe table problem");
+ .join().getValue();
List<String> primaryKeys = tableDesc.getPrimaryKeys();
logger.info(" table {}", tableName);
@@ -124,7 +123,7 @@ private void upsertSimple() {
// Executes data query with specified transaction control settings.
retryCtx.supplyResult(session -> session.executeDataQuery(query, txControl))
- .join().expect("execute data query problem");
+ .join().getValue();
}
```
@@ -146,7 +145,7 @@ private void selectSimple() {
// Executes data query with specified transaction control settings.
DataQueryResult result = retryCtx.supplyResult(session -> session.executeDataQuery(query, txControl))
- .join().expect("execute data query");
+ .join().getValue();
logger.info("--[ SelectSimple ]--");
@@ -154,7 +153,7 @@ private void selectSimple() {
while (rs.next()) {
logger.info("read series with id {}, title {} and release_date {}",
rs.getColumn("series_id").getUint64(),
- rs.getColumn("title").getUtf8(),
+ rs.getColumn("title").getText(),
rs.getColumn("release_date").getDate()
);
}
@@ -186,20 +185,20 @@ private void selectWithParams(long seriesID, long seasonID) {
// Type of parameter values should be exactly the same as in DECLARE statements.
Params params = Params.of(
- "$seriesId", PrimitiveValue.uint64(seriesID),
- "$seasonId", PrimitiveValue.uint64(seasonID)
+ "$seriesId", PrimitiveValue.newUint64(seriesID),
+ "$seasonId", PrimitiveValue.newUint64(seasonID)
);
DataQueryResult result = retryCtx.supplyResult(session -> session.executeDataQuery(query, txControl, params))
- .join().expect("execute data query");
+ .join().getValue();
logger.info("--[ SelectWithParams ] -- ");
ResultSetReader rs = result.getResultSet(0);
while (rs.next()) {
logger.info("read season with title {} for series {}",
- rs.getColumn("season_title").getUtf8(),
- rs.getColumn("series_title").getUtf8()
+ rs.getColumn("season_title").getText(),
+ rs.getColumn("series_title").getText()
);
}
}
@@ -220,8 +219,8 @@ private void scanQueryWithParams(long seriesID, long seasonID) {
// Type of parameter values should be exactly the same as in DECLARE statements.
Params params = Params.of(
- "$seriesId", PrimitiveValue.uint64(seriesID),
- "$seasonId", PrimitiveValue.uint64(seasonID)
+ "$seriesId", PrimitiveValue.newUint64(seriesID),
+ "$seasonId", PrimitiveValue.newUint64(seasonID)
);
logger.info("--[ ExecuteScanQueryWithParams ]--");
@@ -230,13 +229,13 @@ private void scanQueryWithParams(long seriesID, long seasonID) {
return session.executeScanQuery(query, params, settings, rs -> {
while (rs.next()) {
logger.info("read episode {} of {} for {}",
- rs.getColumn("episode_title").getUtf8(),
- rs.getColumn("season_title").getUtf8(),
- rs.getColumn("series_title").getUtf8()
+ rs.getColumn("episode_title").getText(),
+ rs.getColumn("season_title").getText(),
+ rs.getColumn("series_title").getText()
);
}
});
- }).join().expect("scan query problem");
+ }).join().expectSuccess("scan query problem");
}
```
@@ -253,7 +252,7 @@ private void multiStepTransaction(long seriesID, long seasonID) {
// return success status to SessionRetryContext
return CompletableFuture.completedFuture(Status.SUCCESS);
- }).join().expect("multistep transaction problem");
+ }).join().expectSuccess("multistep transaction problem");
}
```
@@ -272,9 +271,9 @@ The first step is to prepare and execute the first query:
// after query execution.
TxControl tx1 = TxControl.serializableRw().setCommitTx(false);
DataQueryResult res1 = session.executeDataQuery(query1, tx1, Params.of(
- "$seriesId", PrimitiveValue.uint64(seriesID),
- "$seasonId", PrimitiveValue.uint64(seasonID)
- )).join().expect("execute data query problem");
+ "$seriesId", PrimitiveValue.newUint64(seriesID),
+ "$seasonId", PrimitiveValue.newUint64(seasonID)
+ )).join().getValue();
```
After that, we can process the resulting data on the client side:
@@ -312,16 +311,16 @@ The next step is to create the next query that uses the results of code executio
// commits it at the end of second query execution.
TxControl tx2 = TxControl.id(txId).setCommitTx(true);
DataQueryResult res2 = session.executeDataQuery(query2, tx2, Params.of(
- "$seriesId", PrimitiveValue.uint64(seriesID),
- "$fromDate", PrimitiveValue.date(fromDate),
- "$toDate", PrimitiveValue.date(toDate)
- )).join().expect("execute data query problem");
+ "$seriesId", PrimitiveValue.newUint64(seriesID),
+ "$fromDate", PrimitiveValue.newDate(fromDate),
+ "$toDate", PrimitiveValue.newDate(toDate)
+ )).join().getValue();
logger.info("--[ MultiStep ]--");
ResultSetReader rs = res2.getResultSet(0);
while (rs.next()) {
logger.info("read episode {} with air date {}",
- rs.getColumn("title").getUtf8(),
+ rs.getColumn("title").getText(),
rs.getColumn("air_date").getDate()
);
}
@@ -338,31 +337,31 @@ The given code snippets output the following text to the console at startup:
{% include [transaction_control.md](../_includes/steps/10_transaction_control.md) %}
-Code snippet for `beginTransaction()` and `transaction.Commit()` calls:
+Code snippet for `beginTransaction()` and `transaction.commit()` calls:
```java
private void tclTransaction() {
retryCtx.supplyStatus(session -> {
- Transaction transaction = session.beginTransaction(TransactionMode.SERIALIZABLE_READ_WRITE)
- .join().expect("begin transaction problem");
+ Transaction transaction = session.beginTransaction(Transaction.Mode.SERIALIZABLE_READ_WRITE)
+ .join().getValue();
String query
= "DECLARE $airDate AS Date; "
+ "UPDATE episodes SET air_date = $airDate WHERE title = \"TBD\";";
- Params params = Params.of("$airDate", PrimitiveValue.date(Instant.now()));
+ Params params = Params.of("$airDate", PrimitiveValue.newDate(Instant.now()));
// Execute data query.
// Transaction control settings continues active transaction (tx)
TxControl txControl = TxControl.id(transaction).setCommitTx(false);
DataQueryResult result = session.executeDataQuery(query, txControl, params)
- .join().expect("execute date query problem");
+ .join().getValue();
logger.info("get transaction {}", result.getTxId());
// Commit active transaction (tx)
return transaction.commit();
- }).join().expect("tcl transaction problem");
+ }).join().expectSuccess("tcl transaction problem");
}
```
diff --git a/ydb/docs/en/core/reference/ydb-sdk/recipes/auth/_includes/access_token/java.md b/ydb/docs/en/core/reference/ydb-sdk/recipes/auth/_includes/access_token/java.md
index ae48d716db..fd573eabae 100644
--- a/ydb/docs/en/core/reference/ydb-sdk/recipes/auth/_includes/access_token/java.md
+++ b/ydb/docs/en/core/reference/ydb-sdk/recipes/auth/_includes/access_token/java.md
@@ -1,21 +1,16 @@
```java
public void work(String connectionString, String accessToken) {
- AuthProvider authProvider = CloudAuthProvider.newAuthProvider(
- IamTokenCredentialProvider.builder()
- .token(accessToken)
- .build()
- );
+ AuthProvider authProvider = new TokenAuthProvider(accessToken);
GrpcTransport transport = GrpcTransport.forConnectionString(connectionString)
.withAuthProvider(authProvider)
- .build();
-
- TableClient tableClient = TableClient
- .newClient(GrpcTableRpc.ownTransport(transport))
- .build());
+ .build());
+
+ TableClient tableClient = TableClient.newClient(transport).build();
doWork(tableClient);
tableClient.close();
+ transport.close();
}
```
diff --git a/ydb/docs/en/core/reference/ydb-sdk/recipes/auth/_includes/anonymous/java.md b/ydb/docs/en/core/reference/ydb-sdk/recipes/auth/_includes/anonymous/java.md
index b795713ddf..001243f50b 100644
--- a/ydb/docs/en/core/reference/ydb-sdk/recipes/auth/_includes/anonymous/java.md
+++ b/ydb/docs/en/core/reference/ydb-sdk/recipes/auth/_includes/anonymous/java.md
@@ -4,14 +4,13 @@ public void work(String connectionString) {
GrpcTransport transport = GrpcTransport.forConnectionString(connectionString)
.withAuthProvider(authProvider)
- .build();
-
- TableClient tableClient = TableClient
- .newClient(GrpcTableRpc.ownTransport(transport))
- .build());
+ .build());
+
+ TableClient tableClient = TableClient.newClient(transport).build();
doWork(tableClient);
tableClient.close();
+ transport.close();
}
```
diff --git a/ydb/docs/en/core/reference/ydb-sdk/recipes/auth/_includes/env/java.md b/ydb/docs/en/core/reference/ydb-sdk/recipes/auth/_includes/env/java.md
index cfff5c1a83..75a1198028 100644
--- a/ydb/docs/en/core/reference/ydb-sdk/recipes/auth/_includes/env/java.md
+++ b/ydb/docs/en/core/reference/ydb-sdk/recipes/auth/_includes/env/java.md
@@ -4,14 +4,13 @@ public void work(String connectionString) {
GrpcTransport transport = GrpcTransport.forConnectionString(connectionString)
.withAuthProvider(authProvider)
- .build();
-
- TableClient tableClient = TableClient
- .newClient(GrpcTableRpc.ownTransport(transport))
- .build());
+ .build());
+
+ TableClient tableClient = TableClient.newClient(transport).build();
doWork(tableClient);
tableClient.close();
+ transport.close();
}
```
diff --git a/ydb/docs/en/core/reference/ydb-sdk/recipes/auth/_includes/metadata/java.md b/ydb/docs/en/core/reference/ydb-sdk/recipes/auth/_includes/metadata/java.md
index ceb04396fa..8d90b551d8 100644
--- a/ydb/docs/en/core/reference/ydb-sdk/recipes/auth/_includes/metadata/java.md
+++ b/ydb/docs/en/core/reference/ydb-sdk/recipes/auth/_includes/metadata/java.md
@@ -1,20 +1,16 @@
```java
public void work(String connectionString) {
- AuthProvider authProvider = CloudAuthProvider.newAuthProvider(
- ComputeEngineCredentialProvider.builder()
- .build()
- );
+ AuthProvider authProvider = CloudAuthHelper.getMetadataAuthProvider();
GrpcTransport transport = GrpcTransport.forConnectionString(connectionString)
.withAuthProvider(authProvider)
- .build();
-
- TableClient tableClient = TableClient
- .newClient(GrpcTableRpc.ownTransport(transport))
- .build());
+ .build());
+
+ TableClient tableClient = TableClient.newClient(transport).build();
doWork(tableClient);
tableClient.close();
+ transport.close();
}
```
diff --git a/ydb/docs/en/core/reference/ydb-sdk/recipes/auth/_includes/service_account/java.md b/ydb/docs/en/core/reference/ydb-sdk/recipes/auth/_includes/service_account/java.md
index a75034440c..8467eb5716 100644
--- a/ydb/docs/en/core/reference/ydb-sdk/recipes/auth/_includes/service_account/java.md
+++ b/ydb/docs/en/core/reference/ydb-sdk/recipes/auth/_includes/service_account/java.md
@@ -1,21 +1,16 @@
```java
-public void work(String connectionString, Path saKeyPath) {
- AuthProvider authProvider = CloudAuthProvider.newAuthProvider(
- ApiKeyCredentialProvider.builder()
- .fromFile(saKeyPath)
- .build()
- );
+public void work(String connectionString, String saKeyPath) {
+ AuthProvider authProvider = CloudAuthHelper.getServiceAccountFileAuthProvider(saKeyPath);
GrpcTransport transport = GrpcTransport.forConnectionString(connectionString)
.withAuthProvider(authProvider)
- .build();
-
- TableClient tableClient = TableClient
- .newClient(GrpcTableRpc.ownTransport(transport))
- .build());
+ .build());
+
+ TableClient tableClient = TableClient.newClient(transport).build();
doWork(tableClient);
tableClient.close();
+ transport.close();
}
```
diff --git a/ydb/docs/en/core/reference/ydb-sdk/recipes/debug/_includes/logs/java.md b/ydb/docs/en/core/reference/ydb-sdk/recipes/debug/_includes/logs/java.md
index 651da72cae..aa7273385c 100644
--- a/ydb/docs/en/core/reference/ydb-sdk/recipes/debug/_includes/logs/java.md
+++ b/ydb/docs/en/core/reference/ydb-sdk/recipes/debug/_includes/logs/java.md
@@ -1,14 +1,14 @@
In the {{ ydb-short-name }} Java SDK, logging is done using the slf4j library. It lets you use different logging levels (`error`, `warn`, `info`, `debug`, and `trace`) for one or more loggers. The following loggers are available in the current implementation:
-* The `com.yandex.ydb.core.grpc` logger provides information about the internal implementation of gRPC.
+* The `tech.ydb.core.grpc` logger provides information about the internal implementation of gRPC.
* At the `debug` level, all operations are logged using gRPC. This level is recommended for debugging only.
* Use the `info` level by default.
-* The `com.yandex.ydb.table.impl` logger at the `debug` level lets you monitor the internal state of the ydb driver, including session pool performance.
+* The `tech.ydb.table.impl` logger at the `debug` level lets you monitor the internal state of the ydb driver, including session pool performance.
-* The `com.yandex.ydb.table.SessionRetryContext` logger at the `debug` level provides information about the number of retries, the results of executed queries, the execution time of individual retries, and the total execution time of the entire operation.
+* The `tech.ydb.table.SessionRetryContext` logger at the `debug` level provides information about the number of retries, the results of executed queries, the execution time of individual retries, and the total execution time of the entire operation.
-* The `com.yandex.ydb.table.Session` logger at the `debug` level provides information about the query text, response status, and execution time for various session operations.
+* The `tech.ydb.table.Session` logger at the `debug` level provides information about the query text, response status, and execution time for various session operations.
Enabling and configuring Java SDK loggers depends on the `slf4j-api` implementation used.
Below is an example of the `log4j2` configuration for the `log4j-slf4j-impl` library.
@@ -28,16 +28,16 @@ Below is an example of the `log4j2` configuration for the `log4j-slf4j-impl` lib
<Logger name="io.grpc.netty" level="warn" additivity="false">
<AppenderRef ref="Console"/>
</Logger>
- <Logger name="com.yandex.ydb.core.grpc" level="info" additivity="false">
+ <Logger name="tech.ydb.core.grpc" level="info" additivity="false">
<AppenderRef ref="Console"/>
</Logger>
- <Logger name="com.yandex.ydb.table.impl" level="info" additivity="false">
+ <Logger name="tech.ydb.table.impl" level="info" additivity="false">
<AppenderRef ref="Console"/>
</Logger>
- <Logger name="com.yandex.ydb.table.SessionRetryContext" level="debug" additivity="false">
+ <Logger name="tech.ydb.table.SessionRetryContext" level="debug" additivity="false">
<AppenderRef ref="Console"/>
</Logger>
- <Logger name="com.yandex.ydb.table.Session" level="debug" additivity="false">
+ <Logger name="tech.ydb.table.Session" level="debug" additivity="false">
<AppenderRef ref="Console"/>
</Logger>
diff --git a/ydb/docs/en/core/reference/ydb-sdk/recipes/retry/_includes/java.md b/ydb/docs/en/core/reference/ydb-sdk/recipes/retry/_includes/java.md
index 8c852c8ee0..6c0a024fab 100644
--- a/ydb/docs/en/core/reference/ydb-sdk/recipes/retry/_includes/java.md
+++ b/ydb/docs/en/core/reference/ydb-sdk/recipes/retry/_includes/java.md
@@ -19,20 +19,20 @@ When using the `SessionRetryContext` class, keep in mind that operation retries
{% cut "Snippet of code using SessionRetryContext.supplyStatus:" %}
```java
- private void createTable(TableClient tableClient, String database, String tableName) {
- SessionRetryContext retryCtx = SessionRetryContext.create(tableClient).build();
- TableDescription pets = TableDescription.newBuilder()
- .addNullableColumn("species", PrimitiveType.utf8())
- .addNullableColumn("name", PrimitiveType.utf8())
- .addNullableColumn("color", PrimitiveType.utf8())
- .addNullableColumn("price", PrimitiveType.float32())
- .setPrimaryKeys("species", "name")
- .build();
-
- String tablePath = database + "/" + tableName;
- retryCtx.supplyStatus(session -> session.createTable(tablePath, pets))
- .join().expect("ok");
- }
+ private void createTable(TableClient tableClient, String database, String tableName) {
+ SessionRetryContext retryCtx = SessionRetryContext.create(tableClient).build();
+ TableDescription pets = TableDescription.newBuilder()
+ .addNullableColumn("species", PrimitiveType.Text)
+ .addNullableColumn("name", PrimitiveType.Text)
+ .addNullableColumn("color", PrimitiveType.Text)
+ .addNullableColumn("price", PrimitiveType.Float)
+ .setPrimaryKeys("species", "name")
+ .build();
+
+ String tablePath = database + "/" + tableName;
+ retryCtx.supplyStatus(session -> session.createTable(tablePath, pets))
+ .join().expectSuccess();
+ }
```
{% endcut %}
@@ -40,34 +40,34 @@ When using the `SessionRetryContext` class, keep in mind that operation retries
{% cut "Snippet of code using SessionRetryContext.supplyResult:" %}
```java
- private void selectData(TableClient tableClient, String tableName) {
- SessionRetryContext retryCtx = SessionRetryContext.create(tableClient).build();
- String selectQuery
- = "DECLARE $species AS Utf8;"
- + "DECLARE $name AS Utf8;"
- + "SELECT * FROM " + tableName + " "
- + "WHERE species = $species AND name = $name;";
-
- Params params = Params.of(
- "$species", PrimitiveValue.utf8("cat"),
- "$name", PrimitiveValue.utf8("Tom")
- );
-
- DataQueryResult data = retryCtx
- .supplyResult(session -> session.executeDataQuery(selectQuery, TxControl.onlineRo(), params))
- .join().expect("ok");
-
- ResultSetReader rsReader = data.getResultSet(0);
- logger.info("Result of select query:");
- while (rsReader.next()) {
- logger.info(" species: {}, name: {}, color: {}, price: {}",
- rsReader.getColumn("species").getUtf8(),
- rsReader.getColumn("name").getUtf8(),
- rsReader.getColumn("color").getUtf8(),
- rsReader.getColumn("price").getFloat32()
- );
- }
- }
+ private void selectData(TableClient tableClient, String tableName) {
+ SessionRetryContext retryCtx = SessionRetryContext.create(tableClient).build();
+ String selectQuery
+ = "DECLARE $species AS Text;"
+ + "DECLARE $name AS Text;"
+ + "SELECT * FROM " + tableName + " "
+ + "WHERE species = $species AND name = $name;";
+
+ Params params = Params.of(
+ "$species", PrimitiveValue.newText("cat"),
+ "$name", PrimitiveValue.newText("Tom")
+ );
+
+ DataQueryResult data = retryCtx
+ .supplyResult(session -> session.executeDataQuery(selectQuery, TxControl.onlineRo(), params))
+ .join().getValue();
+
+ ResultSetReader rsReader = data.getResultSet(0);
+ logger.info("Result of select query:");
+ while (rsReader.next()) {
+ logger.info(" species: {}, name: {}, color: {}, price: {}",
+ rsReader.getColumn("species").getText(),
+ rsReader.getColumn("name").getText(),
+ rsReader.getColumn("color").getText(),
+ rsReader.getColumn("price").getFloat()
+ );
+ }
+ }
```
{% endcut %}
diff --git a/ydb/docs/en/core/reference/ydb-sdk/recipes/session_pool_limit/_includes/java.md b/ydb/docs/en/core/reference/ydb-sdk/recipes/session_pool_limit/_includes/java.md
index 402c5e65ba..04f4bbba62 100644
--- a/ydb/docs/en/core/reference/ydb-sdk/recipes/session_pool_limit/_includes/java.md
+++ b/ydb/docs/en/core/reference/ydb-sdk/recipes/session_pool_limit/_includes/java.md
@@ -1,5 +1,5 @@
```java
-this.tableClient = TableClient.newClient(rpc)
+this.tableClient = TableClient.newClient(transport)
// 10 - minimum number of active sessions to keep in the pool during the cleanup
// 500 - maximum number of sessions in the pool
.sessionPoolSize(10, 500)
diff --git a/ydb/docs/ru/core/reference/ydb-sdk/_includes/auth.md b/ydb/docs/ru/core/reference/ydb-sdk/_includes/auth.md
index 56e559925c..b57e607309 100644
--- a/ydb/docs/ru/core/reference/ydb-sdk/_includes/auth.md
+++ b/ydb/docs/ru/core/reference/ydb-sdk/_includes/auth.md
@@ -41,11 +41,11 @@
Режим | Метод
----- | -----
- Anonymous | [com.yandex.ydb.core.auth.NopAuthProvider.INSTANCE](https://github.com/yandex-cloud/ydb-java-sdk/tree/master/examples/auth/anonymous_credentials)
- Access Token | [com.yandex.ydb.auth.iam.CloudAuthProvider.newAuthProvider(</br>yandex.cloud.sdk.auth.provider.IamTokenCredentialProvider</br>.builder()</br>.token(accessToken)</br>.build()</br>);](https://github.com/yandex-cloud/ydb-java-sdk/tree/master/examples/auth/access_token_credentials)
- Metadata | [com.yandex.ydb.auth.iam.CloudAuthProvider.newAuthProvider(</br>yandex.cloud.sdk.auth.provider.ComputeEngineCredentialProvider</br>.builder()</br>.build()</br>);](https://github.com/yandex-cloud/ydb-java-sdk/tree/master/examples/auth/metadata_credentials)
- Service Account Key | [com.yandex.ydb.auth.iam.CloudAuthProvider.newAuthProvider(</br>yandex.cloud.sdk.auth.provider.ApiKeyCredentialProvider</br>.builder()</br>.fromFile(Paths.get(saKeyFile))</br>.build()</br>);](https://github.com/yandex-cloud/ydb-java-sdk/tree/master/examples/auth/service_account_credentials)
- Определяется по переменным окружения | [com.yandex.ydb.auth.iam.CloudAuthHelper.getAuthProviderFromEnviron();](https://github.com/yandex-cloud/ydb-java-sdk/tree/master/examples/auth/environ/src/main/java/com/yandex/ydb/example)
+ Anonymous | [tech.ydb.core.auth.NopAuthProvider.INSTANCE](https://github.com/ydb-platform/ydb-java-examples/tree/master/auth/anonymous_credentials) |
+ Access Token | [new tech.ydb.core.auth.TokenAuthProvider(accessToken);](https://github.com/ydb-platform/ydb-java-examples/tree/master/auth/access_token_credentials) |
+ Metadata | [tech.ydb.auth.iam.CloudAuthHelper.getMetadataAuthProvider();](https://github.com/ydb-platform/ydb-java-examples/tree/master/auth/metadata_credentials) |
+ Service Account Key | [tech.ydb.auth.iam.CloudAuthHelper.getServiceAccountFileAuthProvider(saKeyFile);](https://github.com/ydb-platform/ydb-java-examples/tree/master/auth/service_account_credentials) |
+ Определяется по переменным окружения | [tech.ydb.auth.iam.CloudAuthHelper.getAuthProviderFromEnviron();](https://github.com/ydb-platform/ydb-java-examples/tree/master/auth/environ) |
- Node.js
diff --git a/ydb/docs/ru/core/reference/ydb-sdk/_includes/index.md b/ydb/docs/ru/core/reference/ydb-sdk/_includes/index.md
index 50f9c9f526..43d2cb2588 100644
--- a/ydb/docs/ru/core/reference/ydb-sdk/_includes/index.md
+++ b/ydb/docs/ru/core/reference/ydb-sdk/_includes/index.md
@@ -9,7 +9,7 @@
{% endif %}
- С# (.NET) [https://github.com/ydb-platform/ydb-dotnet-sdk](https://github.com/ydb-platform/ydb-dotnet-sdk)
- Go [https://github.com/ydb-platform/ydb-go-sdk/v3](https://github.com/ydb-platform/ydb-go-sdk) (архивные версии [v1](https://github.com/yandex-cloud/ydb-go-sdk/tree/v1.5.1) и [v2](https://github.com/yandex-cloud/ydb-go-sdk/tree/v2.11.2))
-- Java [https://github.com/yandex-cloud/ydb-java-sdk](https://github.com/yandex-cloud/ydb-java-sdk)
+- Java [https://github.com/ydb-platform/ydb-java-sdk](https://github.com/ydb-platform/ydb-java-sdk)
- Node.js [https://github.com/ydb-platform/ydb-nodejs-sdk](https://github.com/ydb-platform/ydb-nodejs-sdk)
- PHP [https://github.com/yandex-cloud/ydb-php-sdk](https://github.com/yandex-cloud/ydb-php-sdk)
- Python [https://github.com/ydb-platform/ydb-python-sdk](https://github.com/ydb-platform/ydb-python-sdk)
diff --git a/ydb/docs/ru/core/reference/ydb-sdk/_includes/install.md b/ydb/docs/ru/core/reference/ydb-sdk/_includes/install.md
index e6b946b4e9..d3654da345 100644
--- a/ydb/docs/ru/core/reference/ydb-sdk/_includes/install.md
+++ b/ydb/docs/ru/core/reference/ydb-sdk/_includes/install.md
@@ -28,7 +28,7 @@
- Java
- Добавьте зависимости в Maven-проект, как описано в пункте ["Install the SDK"](https://github.com/yandex-cloud/ydb-java-sdk#install-the-sdk) файла `readme.md` в репозитории исходного кода.
+ Добавьте зависимости в Maven-проект, как описано в пункте ["Install the SDK"](https://github.com/ydb-platform/ydb-java-sdk#install-the-sdk) файла `readme.md` в репозитории исходного кода.
- PHP
diff --git a/ydb/docs/ru/core/reference/ydb-sdk/example/java/_includes/run_custom.md b/ydb/docs/ru/core/reference/ydb-sdk/example/java/_includes/run_custom.md
index f13482889c..a35dc303cb 100644
--- a/ydb/docs/ru/core/reference/ydb-sdk/example/java/_includes/run_custom.md
+++ b/ydb/docs/ru/core/reference/ydb-sdk/example/java/_includes/run_custom.md
@@ -4,8 +4,8 @@
Выполните команду по следующему образцу:
-``` bash
-( cd ydb-java-sdk/examples/basic_example/target && \
+```bash
+( cd ydb-java-examples/basic_example/target && \
<auth_mode_var>="<auth_mode_value>" java -jar ydb-basic-example.jar <endpoint>?database=<database>)
```
@@ -18,8 +18,9 @@
Например:
-``` bash
-YDB_ACCESS_TOKEN_CREDENTIALS="t1.9euelZqOnJuJlc..." java -jar examples/basic_example/target/ydb-basic-example.jar grpcs://ydb.example.com:2135?database=/somepath/somelocation
+```bash
+( cd ydb-java-examples/basic_example/target && \
+YDB_ACCESS_TOKEN_CREDENTIALS="t1.9euelZqOnJuJlc..." java -jar ydb-basic-example.jar grpcs://ydb.example.com:2135?database=/somepath/somelocation)
```
-{% include [../../_includes/pars_from_profile_hint.md](../../_includes/pars_from_profile_hint.md) %} \ No newline at end of file
+{% include [../../_includes/pars_from_profile_hint.md](../../_includes/pars_from_profile_hint.md) %}
diff --git a/ydb/docs/ru/core/reference/ydb-sdk/example/java/_includes/run_docker.md b/ydb/docs/ru/core/reference/ydb-sdk/example/java/_includes/run_docker.md
index 8143b525d8..af7bc37ab4 100644
--- a/ydb/docs/ru/core/reference/ydb-sdk/example/java/_includes/run_docker.md
+++ b/ydb/docs/ru/core/reference/ydb-sdk/example/java/_includes/run_docker.md
@@ -1,6 +1,6 @@
Для соединения с развернутой локальной базой данных YDB по сценарию [Docker](../../../../../getting_started/self_hosted/ydb_docker.md) в конфигурации по умолчанию выполните следующую команду:
-``` bash
-(cd ydb-java-sdk/examples/basic_example/target && \
+```bash
+(cd ydb-java-examples/basic_example/target && \
YDB_ANONYMOUS_CREDENTIALS=1 java -jar ydb-basic-example.jar grpc://localhost:2136?database=/local )
```
diff --git a/ydb/docs/ru/core/reference/ydb-sdk/example/java/index.md b/ydb/docs/ru/core/reference/ydb-sdk/example/java/index.md
index d30981eac6..bcfcf713ef 100644
--- a/ydb/docs/ru/core/reference/ydb-sdk/example/java/index.md
+++ b/ydb/docs/ru/core/reference/ydb-sdk/example/java/index.md
@@ -1,6 +1,6 @@
# Приложение на Java
-На этой странице подробно разбирается код [тестового приложения](https://github.com/yandex-cloud/ydb-java-sdk/tree/master/examples/basic_example), доступного в составе [Java SDK](https://github.com/yandex-cloud/ydb-java-sdk) {{ ydb-short-name }}.
+На этой странице подробно разбирается код [тестового приложения](https://github.com/ydb-platform/ydb-java-examples/tree/master/basic_example), доступного в составе [Java SDK Examples](https://github.com/ydb-platform/ydb-java-examples) {{ ydb-short-name }}.
## Скачивание SDK Examples и запуск примера {#download}
@@ -9,13 +9,13 @@
Создайте рабочую директорию и выполните в ней из командной строки команду клонирования репозитория с github.com:
``` bash
-git clone https://github.com/yandex-cloud/ydb-java-sdk
+git clone https://github.com/ydb-platform/ydb-java-examples
```
Далее выполните сборку SDK Examples
``` bash
-( cd ydb-java-sdk/examples && mvn package )
+( cd ydb-java-examples && mvn package )
```
Далее из этой же рабочей директории выполните команду запуска тестового приложения, которая будет отличаться в зависимости от того, к какой базе данных необходимо подключиться.
@@ -33,11 +33,10 @@ git clone https://github.com/yandex-cloud/ydb-java-sdk
Фрагмент кода приложения для инициализации драйвера:
```java
-GrpcTransport transport = GrpcTransport.forConnectionString(connectionString)
+this.transport = GrpcTransport.forConnectionString(connectionString)
.withAuthProvider(CloudAuthHelper.getAuthProviderFromEnviron())
.build();
-GrpcTableRpc rpc = GrpcTableRpc.ownTransport(transport);
-this.tableClient = TableClient.newClient(rpc).build();
+this.tableClient = TableClient.newClient(transport).build();
```
Все операции с YDB рекомендуется выполнять с помощью класса-хелпера `SessionRetryContext`, который обеспечивает корректное повторное выполнение операции в случае частичной недоступности. Фрагмент кода для инициализации контекста ретраев:
@@ -53,39 +52,39 @@ this.retryCtx = SessionRetryContext.create(tableClient).build();
```java
private void createTables() {
TableDescription seriesTable = TableDescription.newBuilder()
- .addNullableColumn("series_id", PrimitiveType.uint64())
- .addNullableColumn("title", PrimitiveType.utf8())
- .addNullableColumn("series_info", PrimitiveType.utf8())
- .addNullableColumn("release_date", PrimitiveType.date())
+ .addNullableColumn("series_id", PrimitiveType.Uint64)
+ .addNullableColumn("title", PrimitiveType.Text)
+ .addNullableColumn("series_info", PrimitiveType.Text)
+ .addNullableColumn("release_date", PrimitiveType.Date)
.setPrimaryKey("series_id")
.build();
retryCtx.supplyStatus(session -> session.createTable(database + "/series", seriesTable))
- .join().expect("create table problem");
+ .join().expectSuccess("Can't create table /series");
TableDescription seasonsTable = TableDescription.newBuilder()
- .addNullableColumn("series_id", PrimitiveType.uint64())
- .addNullableColumn("season_id", PrimitiveType.uint64())
- .addNullableColumn("title", PrimitiveType.utf8())
- .addNullableColumn("first_aired", PrimitiveType.date())
- .addNullableColumn("last_aired", PrimitiveType.date())
+ .addNullableColumn("series_id", PrimitiveType.Uint64)
+ .addNullableColumn("season_id", PrimitiveType.Uint64)
+ .addNullableColumn("title", PrimitiveType.Text)
+ .addNullableColumn("first_aired", PrimitiveType.Date)
+ .addNullableColumn("last_aired", PrimitiveType.Date)
.setPrimaryKeys("series_id", "season_id")
.build();
retryCtx.supplyStatus(session -> session.createTable(database + "/seasons", seasonsTable))
- .join().expect("create table problem");
+ .join().expectSuccess("Can't create table /seasons");
TableDescription episodesTable = TableDescription.newBuilder()
- .addNullableColumn("series_id", PrimitiveType.uint64())
- .addNullableColumn("season_id", PrimitiveType.uint64())
- .addNullableColumn("episode_id", PrimitiveType.uint64())
- .addNullableColumn("title", PrimitiveType.utf8())
- .addNullableColumn("air_date", PrimitiveType.date())
+ .addNullableColumn("series_id", PrimitiveType.Uint64)
+ .addNullableColumn("season_id", PrimitiveType.Uint64)
+ .addNullableColumn("episode_id", PrimitiveType.Uint64)
+ .addNullableColumn("title", PrimitiveType.Text)
+ .addNullableColumn("air_date", PrimitiveType.Date)
.setPrimaryKeys("series_id", "season_id", "episode_id")
.build();
retryCtx.supplyStatus(session -> session.createTable(database + "/episodes", episodesTable))
- .join().expect("create table problem");
+ .join().expectSuccess("Can't create table /episodes");
}
```
@@ -98,10 +97,10 @@ private void describeTables() {
Arrays.asList("series", "seasons", "episodes").forEach(tableName -> {
String tablePath = database + '/' + tableName;
TableDescription tableDesc = retryCtx.supplyResult(session -> session.describeTable(tablePath))
- .join().expect("describe table problem");
+ .join().getValue();
List<String> primaryKeys = tableDesc.getPrimaryKeys();
- logger.info(" table {}", tableName);
+ logger.info(" table {}", tableName);
for (TableColumn column : tableDesc.getColumns()) {
boolean isPrimary = primaryKeys.contains(column.getName());
logger.info(" {}: {} {}", column.getName(), column.getType(), isPrimary ? " (PK)" : "");
@@ -124,7 +123,7 @@ private void upsertSimple() {
// Executes data query with specified transaction control settings.
retryCtx.supplyResult(session -> session.executeDataQuery(query, txControl))
- .join().expect("execute data query problem");
+ .join().getValue();
}
```
@@ -146,7 +145,7 @@ private void selectSimple() {
// Executes data query with specified transaction control settings.
DataQueryResult result = retryCtx.supplyResult(session -> session.executeDataQuery(query, txControl))
- .join().expect("execute data query");
+ .join().getValue();
logger.info("--[ SelectSimple ]--");
@@ -154,7 +153,7 @@ private void selectSimple() {
while (rs.next()) {
logger.info("read series with id {}, title {} and release_date {}",
rs.getColumn("series_id").getUint64(),
- rs.getColumn("title").getUtf8(),
+ rs.getColumn("title").getText(),
rs.getColumn("release_date").getDate()
);
}
@@ -186,20 +185,20 @@ private void selectWithParams(long seriesID, long seasonID) {
// Type of parameter values should be exactly the same as in DECLARE statements.
Params params = Params.of(
- "$seriesId", PrimitiveValue.uint64(seriesID),
- "$seasonId", PrimitiveValue.uint64(seasonID)
+ "$seriesId", PrimitiveValue.newUint64(seriesID),
+ "$seasonId", PrimitiveValue.newUint64(seasonID)
);
DataQueryResult result = retryCtx.supplyResult(session -> session.executeDataQuery(query, txControl, params))
- .join().expect("execute data query");
+ .join().getValue();
logger.info("--[ SelectWithParams ] -- ");
ResultSetReader rs = result.getResultSet(0);
while (rs.next()) {
logger.info("read season with title {} for series {}",
- rs.getColumn("season_title").getUtf8(),
- rs.getColumn("series_title").getUtf8()
+ rs.getColumn("season_title").getText(),
+ rs.getColumn("series_title").getText()
);
}
}
@@ -220,8 +219,8 @@ private void scanQueryWithParams(long seriesID, long seasonID) {
// Type of parameter values should be exactly the same as in DECLARE statements.
Params params = Params.of(
- "$seriesId", PrimitiveValue.uint64(seriesID),
- "$seasonId", PrimitiveValue.uint64(seasonID)
+ "$seriesId", PrimitiveValue.newUint64(seriesID),
+ "$seasonId", PrimitiveValue.newUint64(seasonID)
);
logger.info("--[ ExecuteScanQueryWithParams ]--");
@@ -230,13 +229,13 @@ private void scanQueryWithParams(long seriesID, long seasonID) {
return session.executeScanQuery(query, params, settings, rs -> {
while (rs.next()) {
logger.info("read episode {} of {} for {}",
- rs.getColumn("episode_title").getUtf8(),
- rs.getColumn("season_title").getUtf8(),
- rs.getColumn("series_title").getUtf8()
+ rs.getColumn("episode_title").getText(),
+ rs.getColumn("season_title").getText(),
+ rs.getColumn("series_title").getText()
);
}
});
- }).join().expect("scan query problem");
+ }).join().expectSuccess("scan query problem");
}
```
@@ -253,7 +252,7 @@ private void multiStepTransaction(long seriesID, long seasonID) {
// return success status to SessionRetryContext
return CompletableFuture.completedFuture(Status.SUCCESS);
- }).join().expect("multistep transaction problem");
+ }).join().expectSuccess("multistep transaction problem");
}
```
@@ -272,9 +271,9 @@ private void multiStepTransaction(long seriesID, long seasonID) {
// after query execution.
TxControl tx1 = TxControl.serializableRw().setCommitTx(false);
DataQueryResult res1 = session.executeDataQuery(query1, tx1, Params.of(
- "$seriesId", PrimitiveValue.uint64(seriesID),
- "$seasonId", PrimitiveValue.uint64(seasonID)
- )).join().expect("execute data query problem");
+ "$seriesId", PrimitiveValue.newUint64(seriesID),
+ "$seasonId", PrimitiveValue.newUint64(seasonID)
+ )).join().getValue();
```
Затем мы можем выполнить некоторую клиентскую обработку полученных данных:
@@ -312,16 +311,16 @@ private void multiStepTransaction(long seriesID, long seasonID) {
// commits it at the end of second query execution.
TxControl tx2 = TxControl.id(txId).setCommitTx(true);
DataQueryResult res2 = session.executeDataQuery(query2, tx2, Params.of(
- "$seriesId", PrimitiveValue.uint64(seriesID),
- "$fromDate", PrimitiveValue.date(fromDate),
- "$toDate", PrimitiveValue.date(toDate)
- )).join().expect("execute data query problem");
+ "$seriesId", PrimitiveValue.newUint64(seriesID),
+ "$fromDate", PrimitiveValue.newDate(fromDate),
+ "$toDate", PrimitiveValue.newDate(toDate)
+ )).join().getValue();
logger.info("--[ MultiStep ]--");
ResultSetReader rs = res2.getResultSet(0);
while (rs.next()) {
logger.info("read episode {} with air date {}",
- rs.getColumn("title").getUtf8(),
+ rs.getColumn("title").getText(),
rs.getColumn("air_date").getDate()
);
}
@@ -338,31 +337,31 @@ private void multiStepTransaction(long seriesID, long seasonID) {
{% include [transaction_control.md](../_includes/steps/10_transaction_control.md) %}
-Фрагмент кода, демонстрирующий явное использование вызовов `beginTransaction()` и `transaction.Commit()`:
+Фрагмент кода, демонстрирующий явное использование вызовов `beginTransaction()` и `transaction.commit()`:
```java
private void tclTransaction() {
retryCtx.supplyStatus(session -> {
- Transaction transaction = session.beginTransaction(TransactionMode.SERIALIZABLE_READ_WRITE)
- .join().expect("begin transaction problem");
+ Transaction transaction = session.beginTransaction(Transaction.Mode.SERIALIZABLE_READ_WRITE)
+ .join().getValue();
String query
= "DECLARE $airDate AS Date; "
+ "UPDATE episodes SET air_date = $airDate WHERE title = \"TBD\";";
- Params params = Params.of("$airDate", PrimitiveValue.date(Instant.now()));
+ Params params = Params.of("$airDate", PrimitiveValue.newDate(Instant.now()));
// Execute data query.
// Transaction control settings continues active transaction (tx)
TxControl txControl = TxControl.id(transaction).setCommitTx(false);
DataQueryResult result = session.executeDataQuery(query, txControl, params)
- .join().expect("execute date query problem");
+ .join().getValue();
logger.info("get transaction {}", result.getTxId());
// Commit active transaction (tx)
return transaction.commit();
- }).join().expect("tcl transaction problem");
+ }).join().expectSuccess("tcl transaction problem");
}
```
diff --git a/ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-access-token.md b/ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-access-token.md
index 632a8d800a..aa6d506fa4 100644
--- a/ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-access-token.md
+++ b/ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-access-token.md
@@ -101,23 +101,18 @@
```java
public void work(String connectionString, String accessToken) {
- AuthProvider authProvider = CloudAuthProvider.newAuthProvider(
- IamTokenCredentialProvider.builder()
- .token(accessToken)
- .build()
- );
+ AuthProvider authProvider = new TokenAuthProvider(accessToken);
GrpcTransport transport = GrpcTransport.forConnectionString(connectionString)
.withAuthProvider(authProvider)
- .build();
-
- TableClient tableClient = TableClient
- .newClient(GrpcTableRpc.ownTransport(transport))
- .build());
+ .build());
+
+ TableClient tableClient = TableClient.newClient(transport).build();
doWork(tableClient);
tableClient.close();
+ transport.close();
}
```
diff --git a/ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-anonymous.md b/ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-anonymous.md
index f9521e5fed..df8b4a9d67 100644
--- a/ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-anonymous.md
+++ b/ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-anonymous.md
@@ -78,15 +78,14 @@
GrpcTransport transport = GrpcTransport.forConnectionString(connectionString)
.withAuthProvider(authProvider)
- .build();
-
- TableClient tableClient = TableClient
- .newClient(GrpcTableRpc.ownTransport(transport))
- .build());
+ .build());
+
+ TableClient tableClient = TableClient.newClient(transport).build();
doWork(tableClient);
tableClient.close();
+ transport.close();
}
```
diff --git a/ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-env.md b/ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-env.md
index 72ebe9eb69..3694b7d2f2 100644
--- a/ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-env.md
+++ b/ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-env.md
@@ -83,18 +83,17 @@
```java
public void work(String connectionString) {
AuthProvider authProvider = CloudAuthHelper.getAuthProviderFromEnviron();
-
+
GrpcTransport transport = GrpcTransport.forConnectionString(connectionString)
.withAuthProvider(authProvider)
- .build();
-
- TableClient tableClient = TableClient
- .newClient(GrpcTableRpc.ownTransport(transport))
- .build());
+ .build());
+
+ TableClient tableClient = TableClient.newClient(transport).build();
doWork(tableClient);
tableClient.close();
+ transport.close();
}
```
diff --git a/ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-metadata.md b/ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-metadata.md
index 6f5bd33871..9c39363045 100644
--- a/ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-metadata.md
+++ b/ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-metadata.md
@@ -75,22 +75,18 @@
```java
public void work(String connectionString) {
- AuthProvider authProvider = CloudAuthProvider.newAuthProvider(
- ComputeEngineCredentialProvider.builder()
- .build()
- );
+ AuthProvider authProvider = CloudAuthHelper.getMetadataAuthProvider();
GrpcTransport transport = GrpcTransport.forConnectionString(connectionString)
.withAuthProvider(authProvider)
- .build();
-
- TableClient tableClient = TableClient
- .newClient(GrpcTableRpc.ownTransport(transport))
- .build());
+ .build());
+
+ TableClient tableClient = TableClient.newClient(transport).build();
doWork(tableClient);
tableClient.close();
+ transport.close();
}
```
diff --git a/ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-service-account.md b/ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-service-account.md
index 05ca46ab0a..7b00b54abf 100644
--- a/ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-service-account.md
+++ b/ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-service-account.md
@@ -78,24 +78,19 @@
- Java
```java
- public void work(String connectionString, Path saKeyPath) {
- AuthProvider authProvider = CloudAuthProvider.newAuthProvider(
- ApiKeyCredentialProvider.builder()
- .fromFile(saKeyPath)
- .build()
- );
+ public void work(String connectionString, String saKeyPath) {
+ AuthProvider authProvider = CloudAuthHelper.getServiceAccountFileAuthProvider(saKeyPath);
GrpcTransport transport = GrpcTransport.forConnectionString(connectionString)
.withAuthProvider(authProvider)
- .build();
-
- TableClient tableClient = TableClient
- .newClient(GrpcTableRpc.ownTransport(transport))
- .build());
+ .build());
+
+ TableClient tableClient = TableClient.newClient(transport).build();
doWork(tableClient);
tableClient.close();
+ transport.close();
}
```
diff --git a/ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-static.md b/ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-static.md
index 3513cdda7d..5976bf7230 100644
--- a/ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-static.md
+++ b/ydb/docs/ru/core/reference/ydb-sdk/recipes/auth-static.md
@@ -107,4 +107,24 @@
}
```
+- Java
+
+ ```java
+ public void work(String connectionString, String username, String password) {
+ AuthProvider authProvider = new StaticCredentials(username, password);
+
+ GrpcTransport transport = GrpcTransport.forConnectionString(connectionString)
+ .withAuthProvider(authProvider)
+ .build());
+
+ TableClient tableClient = TableClient.newClient(transport).build();
+
+ doWork(tableClient);
+
+ tableClient.close();
+ transport.close();
+ }
+ ```
+
+
{% endlist %}
diff --git a/ydb/docs/ru/core/reference/ydb-sdk/recipes/debug-logs.md b/ydb/docs/ru/core/reference/ydb-sdk/recipes/debug-logs.md
index 56ac7e1f33..fe0296a253 100644
--- a/ydb/docs/ru/core/reference/ydb-sdk/recipes/debug-logs.md
+++ b/ydb/docs/ru/core/reference/ydb-sdk/recipes/debug-logs.md
@@ -289,15 +289,15 @@
В {{ ydb-short-name }} Java SDK для логирования используется библиотека slf4j, которая позволяет использовать различные уровни логирования (`error`, `warn`, `info`, `debug`, `trace`) для одного или нескольких логгеров. В текущей реализации доступны следующие логгеры:
- * Логгер `com.yandex.ydb.core.grpc` предоставляет информацию о внутренней реализации grpc протокола
+ * Логгер `tech.ydb.core.grpc` предоставляет информацию о внутренней реализации grpc протокола
* уровень `debug` логирует все операции по протоколу grpc, рекомедуется использовать только для отладки
* уровень `info` рекомендуется использовать по умолчанию
- * Логгер `com.yandex.ydb.table.impl` на уровне `debug` позволяет отслеживать внутреннее состояние драйвера ydb, в частности работу пула сессий.
+ * Логгер `tech.ydb.table.impl` на уровне `debug` позволяет отслеживать внутреннее состояние драйвера ydb, в частности работу пула сессий.
- * Логгер `com.yandex.ydb.table.SessionRetryContext` на уровне `debug` будет информировать о количестве ретраев, результатах выполненных запросов, времени выполнения отдельных ретраев и общем времени выполнения всей операции
+ * Логгер `tech.ydb.table.SessionRetryContext` на уровне `debug` будет информировать о количестве ретраев, результатах выполненных запросов, времени выполнения отдельных ретраев и общем времени выполнения всей операции
- * Логгер `com.yandex.ydb.table.Session` на уровне `debug` предоставляет информацию о тексте запроса, статусе ответа и времени выполнения для различных операций сессии
+ * Логгер `tech.ydb.table.Session` на уровне `debug` предоставляет информацию о тексте запроса, статусе ответа и времени выполнения для различных операций сессии
Включение и настройка логгеров Java SDK зависит от используемой реализации `slf4j-api`.
@@ -318,16 +318,16 @@
<Logger name="io.grpc.netty" level="warn" additivity="false">
<AppenderRef ref="Console"/>
</Logger>
- <Logger name="com.yandex.ydb.core.grpc" level="info" additivity="false">
+ <Logger name="tech.ydb.core.grpc" level="info" additivity="false">
<AppenderRef ref="Console"/>
</Logger>
- <Logger name="com.yandex.ydb.table.impl" level="info" additivity="false">
+ <Logger name="tech.ydb.table.impl" level="info" additivity="false">
<AppenderRef ref="Console"/>
</Logger>
- <Logger name="com.yandex.ydb.table.SessionRetryContext" level="debug" additivity="false">
+ <Logger name="tech.ydb.table.SessionRetryContext" level="debug" additivity="false">
<AppenderRef ref="Console"/>
</Logger>
- <Logger name="com.yandex.ydb.table.Session" level="debug" additivity="false">
+ <Logger name="tech.ydb.table.Session" level="debug" additivity="false">
<AppenderRef ref="Console"/>
</Logger>
diff --git a/ydb/docs/ru/core/reference/ydb-sdk/recipes/retry.md b/ydb/docs/ru/core/reference/ydb-sdk/recipes/retry.md
index 2e45ac1544..574ef924a0 100644
--- a/ydb/docs/ru/core/reference/ydb-sdk/recipes/retry.md
+++ b/ydb/docs/ru/core/reference/ydb-sdk/recipes/retry.md
@@ -270,16 +270,16 @@
private void createTable(TableClient tableClient, String database, String tableName) {
SessionRetryContext retryCtx = SessionRetryContext.create(tableClient).build();
TableDescription pets = TableDescription.newBuilder()
- .addNullableColumn("species", PrimitiveType.utf8())
- .addNullableColumn("name", PrimitiveType.utf8())
- .addNullableColumn("color", PrimitiveType.utf8())
- .addNullableColumn("price", PrimitiveType.float32())
+ .addNullableColumn("species", PrimitiveType.Text)
+ .addNullableColumn("name", PrimitiveType.Text)
+ .addNullableColumn("color", PrimitiveType.Text)
+ .addNullableColumn("price", PrimitiveType.Float)
.setPrimaryKeys("species", "name")
.build();
String tablePath = database + "/" + tableName;
retryCtx.supplyStatus(session -> session.createTable(tablePath, pets))
- .join().expect("ok");
+ .join().expectSuccess();
}
```
@@ -291,28 +291,28 @@
private void selectData(TableClient tableClient, String tableName) {
SessionRetryContext retryCtx = SessionRetryContext.create(tableClient).build();
String selectQuery
- = "DECLARE $species AS Utf8;"
- + "DECLARE $name AS Utf8;"
+ = "DECLARE $species AS Text;"
+ + "DECLARE $name AS Text;"
+ "SELECT * FROM " + tableName + " "
+ "WHERE species = $species AND name = $name;";
Params params = Params.of(
- "$species", PrimitiveValue.utf8("cat"),
- "$name", PrimitiveValue.utf8("Tom")
+ "$species", PrimitiveValue.newText("cat"),
+ "$name", PrimitiveValue.newText("Tom")
);
DataQueryResult data = retryCtx
.supplyResult(session -> session.executeDataQuery(selectQuery, TxControl.onlineRo(), params))
- .join().expect("ok");
+ .join().getValue();
ResultSetReader rsReader = data.getResultSet(0);
logger.info("Result of select query:");
while (rsReader.next()) {
logger.info(" species: {}, name: {}, color: {}, price: {}",
- rsReader.getColumn("species").getUtf8(),
- rsReader.getColumn("name").getUtf8(),
- rsReader.getColumn("color").getUtf8(),
- rsReader.getColumn("price").getFloat32()
+ rsReader.getColumn("species").getText(),
+ rsReader.getColumn("name").getText(),
+ rsReader.getColumn("color").getText(),
+ rsReader.getColumn("price").getFloat()
);
}
}
diff --git a/ydb/docs/ru/core/reference/ydb-sdk/recipes/session-pool-limit.md b/ydb/docs/ru/core/reference/ydb-sdk/recipes/session-pool-limit.md
index 755a28f010..dc716069dd 100644
--- a/ydb/docs/ru/core/reference/ydb-sdk/recipes/session-pool-limit.md
+++ b/ydb/docs/ru/core/reference/ydb-sdk/recipes/session-pool-limit.md
@@ -66,7 +66,7 @@
- Java
```java
- this.tableClient = TableClient.newClient(rpc)
+ this.tableClient = TableClient.newClient(transport)
// 10 - minimum number of active sessions to keep in the pool during the cleanup
// 500 - maximum number of sessions in the pool
.sessionPoolSize(10, 500)