use of com.google.cloud.spanner.DatabaseAdminClient in project google-cloud-java by GoogleCloudPlatform.
the class SpannerSnippets method getDatabaseAdminClient.
DatabaseAdminClient getDatabaseAdminClient() {
// [START get_dbadmin_client]
SpannerOptions options = SpannerOptions.newBuilder().build();
Spanner spanner = options.getService();
DatabaseAdminClient dbAdminClient = spanner.getDatabaseAdminClient();
return dbAdminClient;
}
use of com.google.cloud.spanner.DatabaseAdminClient in project java-docs-samples by GoogleCloudPlatform.
the class SpannerWriteIT method tearDown.
@After
public void tearDown() {
DatabaseAdminClient adminClient = spanner.getDatabaseAdminClient();
try {
adminClient.dropDatabase(instanceId, databaseId);
} catch (SpannerException e) {
// Failed to cleanup.
}
spanner.close();
}
use of com.google.cloud.spanner.DatabaseAdminClient in project java-docs-samples by GoogleCloudPlatform.
the class SpannerReadIT method tearDown.
@After
public void tearDown() {
DatabaseAdminClient adminClient = spanner.getDatabaseAdminClient();
try {
adminClient.dropDatabase(instanceId, databaseId);
} catch (SpannerException e) {
// Failed to cleanup.
}
spanner.close();
}
use of com.google.cloud.spanner.DatabaseAdminClient in project beam by apache.
the class SpannerAccessor method createAndConnect.
private static SpannerAccessor createAndConnect(SpannerConfig spannerConfig) {
SpannerOptions.Builder builder = SpannerOptions.newBuilder();
// Set retryable codes for all API methods
if (spannerConfig.getRetryableCodes() != null) {
builder.getSpannerStubSettingsBuilder().applyToAllUnaryMethods(input -> {
input.setRetryableCodes(spannerConfig.getRetryableCodes());
return null;
});
builder.getSpannerStubSettingsBuilder().executeStreamingSqlSettings().setRetryableCodes(spannerConfig.getRetryableCodes());
}
// Set commit retry settings
UnaryCallSettings.Builder<CommitRequest, CommitResponse> commitSettings = builder.getSpannerStubSettingsBuilder().commitSettings();
ValueProvider<Duration> commitDeadline = spannerConfig.getCommitDeadline();
if (spannerConfig.getCommitRetrySettings() != null) {
commitSettings.setRetrySettings(spannerConfig.getCommitRetrySettings());
} else if (commitDeadline != null && commitDeadline.get().getMillis() > 0) {
// Set the GRPC deadline on the Commit API call.
RetrySettings.Builder commitRetrySettingsBuilder = commitSettings.getRetrySettings().toBuilder();
commitSettings.setRetrySettings(commitRetrySettingsBuilder.setTotalTimeout(org.threeten.bp.Duration.ofMillis(commitDeadline.get().getMillis())).setMaxRpcTimeout(org.threeten.bp.Duration.ofMillis(commitDeadline.get().getMillis())).setInitialRpcTimeout(org.threeten.bp.Duration.ofMillis(commitDeadline.get().getMillis())).build());
}
// Set execute streaming sql retry settings
ServerStreamingCallSettings.Builder<ExecuteSqlRequest, PartialResultSet> executeStreamingSqlSettings = builder.getSpannerStubSettingsBuilder().executeStreamingSqlSettings();
if (spannerConfig.getExecuteStreamingSqlRetrySettings() != null) {
executeStreamingSqlSettings.setRetrySettings(spannerConfig.getExecuteStreamingSqlRetrySettings());
} else {
// Setting the timeout for streaming read to 2 hours. This is 1 hour by default
// after BEAM 2.20.
RetrySettings.Builder executeSqlStreamingRetrySettings = executeStreamingSqlSettings.getRetrySettings().toBuilder();
executeStreamingSqlSettings.setRetrySettings(executeSqlStreamingRetrySettings.setInitialRpcTimeout(org.threeten.bp.Duration.ofMinutes(120)).setMaxRpcTimeout(org.threeten.bp.Duration.ofMinutes(120)).setTotalTimeout(org.threeten.bp.Duration.ofMinutes(120)).build());
}
ValueProvider<String> projectId = spannerConfig.getProjectId();
if (projectId != null) {
builder.setProjectId(projectId.get());
}
ServiceFactory<Spanner, SpannerOptions> serviceFactory = spannerConfig.getServiceFactory();
if (serviceFactory != null) {
builder.setServiceFactory(serviceFactory);
}
ValueProvider<String> host = spannerConfig.getHost();
if (host != null) {
builder.setHost(host.get());
}
ValueProvider<String> emulatorHost = spannerConfig.getEmulatorHost();
if (emulatorHost != null) {
builder.setEmulatorHost(emulatorHost.get());
if (spannerConfig.getIsLocalChannelProvider() != null && spannerConfig.getIsLocalChannelProvider().get()) {
builder.setChannelProvider(LocalChannelProvider.create(emulatorHost.get()));
}
builder.setCredentials(NoCredentials.getInstance());
}
String userAgentString = USER_AGENT_PREFIX + "/" + ReleaseInfo.getReleaseInfo().getVersion();
builder.setHeaderProvider(FixedHeaderProvider.create("user-agent", userAgentString));
SpannerOptions options = builder.build();
Spanner spanner = options.getService();
String instanceId = spannerConfig.getInstanceId().get();
String databaseId = spannerConfig.getDatabaseId().get();
DatabaseClient databaseClient = spanner.getDatabaseClient(DatabaseId.of(options.getProjectId(), instanceId, databaseId));
BatchClient batchClient = spanner.getBatchClient(DatabaseId.of(options.getProjectId(), instanceId, databaseId));
DatabaseAdminClient databaseAdminClient = spanner.getDatabaseAdminClient();
return new SpannerAccessor(spanner, databaseClient, databaseAdminClient, batchClient, spannerConfig);
}
use of com.google.cloud.spanner.DatabaseAdminClient in project beam by apache.
the class DaoFactory method getPartitionMetadataAdminDao.
/**
* Creates and returns a singleton DAO instance for admin operations over the partition metadata
* table.
*
* <p>This method is thread safe.
*
* @return singleton instance of the {@link PartitionMetadataDao}
*/
public synchronized PartitionMetadataAdminDao getPartitionMetadataAdminDao() {
if (partitionMetadataAdminDao == null) {
DatabaseAdminClient databaseAdminClient = SpannerAccessor.getOrCreate(metadataSpannerConfig).getDatabaseAdminClient();
partitionMetadataAdminDao = new PartitionMetadataAdminDao(databaseAdminClient, metadataSpannerConfig.getInstanceId().get(), metadataSpannerConfig.getDatabaseId().get(), partitionMetadataTableName);
}
return partitionMetadataAdminDao;
}
Aggregations