public class SchemaServiceClient implements BackgroundResource
Service Description: Service for doing schema-related operations.
This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
ProjectName parent = ProjectName.of("[PROJECT]");
Schema schema = Schema.newBuilder().build();
String schemaId = "schemaId-697673060";
Schema response = schemaServiceClient.createSchema(parent, schema, schemaId);
}
Note: close() needs to be called on the SchemaServiceClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().
The surface of this class includes several types of Java methods for each of the API's methods:
- A "flattened" method. With this type of method, the fields of the request type have been converted into function parameters. It may be the case that not all fields are available as parameters, and not every API method will have a flattened method entry point.
- A "request object" method. This type of method only takes one parameter, a request object, which must be constructed before the call. Not every API method will have a request object method.
- A "callable" method. This type of method takes no parameters and returns an immutable API callable object, which can be used to initiate calls to the service.
See the individual methods for example code.
Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parse method to extract the individual identifiers contained within names that are returned.
This class can be customized by passing in a custom instance of SchemaServiceSettings to create(). For example:
To customize credentials:
SchemaServiceSettings schemaServiceSettings =
SchemaServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
.build();
SchemaServiceClient schemaServiceClient = SchemaServiceClient.create(schemaServiceSettings);
To customize the endpoint:
SchemaServiceSettings schemaServiceSettings =
SchemaServiceSettings.newBuilder().setEndpoint(myEndpoint).build();
SchemaServiceClient schemaServiceClient = SchemaServiceClient.create(schemaServiceSettings);
Please refer to the GitHub repository's samples for more quickstart code snippets.
Implements
BackgroundResourceStatic Methods
create()
public static final SchemaServiceClient create()
Constructs an instance of SchemaServiceClient with default settings.
Type | Description |
SchemaServiceClient |
Type | Description |
IOException |
create(SchemaServiceSettings settings)
public static final SchemaServiceClient create(SchemaServiceSettings settings)
Constructs an instance of SchemaServiceClient, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.
Name | Description |
settings | SchemaServiceSettings |
Type | Description |
SchemaServiceClient |
Type | Description |
IOException |
create(SchemaServiceStub stub)
public static final SchemaServiceClient create(SchemaServiceStub stub)
Constructs an instance of SchemaServiceClient, using the given stub for making calls. This is for advanced usage - prefer using create(SchemaServiceSettings).
Name | Description |
stub | SchemaServiceStub |
Type | Description |
SchemaServiceClient |
Constructors
SchemaServiceClient(SchemaServiceSettings settings)
protected SchemaServiceClient(SchemaServiceSettings settings)
Constructs an instance of SchemaServiceClient, using the given settings. This is protected so that it is easy to make a subclass, but otherwise, the static factory methods should be preferred.
Name | Description |
settings | SchemaServiceSettings |
SchemaServiceClient(SchemaServiceStub stub)
protected SchemaServiceClient(SchemaServiceStub stub)
Name | Description |
stub | SchemaServiceStub |
Methods
awaitTermination(long duration, TimeUnit unit)
public boolean awaitTermination(long duration, TimeUnit unit)
Name | Description |
duration | long |
unit | TimeUnit |
Type | Description |
boolean |
Type | Description |
InterruptedException |
close()
public final void close()
createSchema(CreateSchemaRequest request)
public final Schema createSchema(CreateSchemaRequest request)
Creates a schema.
Sample code:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
CreateSchemaRequest request =
CreateSchemaRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.setSchema(Schema.newBuilder().build())
.setSchemaId("schemaId-697673060")
.build();
Schema response = schemaServiceClient.createSchema(request);
}
Name | Description |
request | CreateSchemaRequest The request object containing all of the parameters for the API call. |
Type | Description |
Schema |
createSchema(ProjectName parent, Schema schema, String schemaId)
public final Schema createSchema(ProjectName parent, Schema schema, String schemaId)
Creates a schema.
Sample code:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
ProjectName parent = ProjectName.of("[PROJECT]");
Schema schema = Schema.newBuilder().build();
String schemaId = "schemaId-697673060";
Schema response = schemaServiceClient.createSchema(parent, schema, schemaId);
}
Name | Description |
parent | ProjectName Required. The name of the project in which to create the schema. Format is
|
schema | Schema Required. The schema object to create. This schema's |
schemaId | String The ID to use for the schema, which will become the final component of the schema's resource name. See https://cloud.google.com/pubsub/docs/admin#resource_names for resource name constraints. |
Type | Description |
Schema |
createSchema(String parent, Schema schema, String schemaId)
public final Schema createSchema(String parent, Schema schema, String schemaId)
Creates a schema.
Sample code:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
String parent = ProjectName.of("[PROJECT]").toString();
Schema schema = Schema.newBuilder().build();
String schemaId = "schemaId-697673060";
Schema response = schemaServiceClient.createSchema(parent, schema, schemaId);
}
Name | Description |
parent | String Required. The name of the project in which to create the schema. Format is
|
schema | Schema Required. The schema object to create. This schema's |
schemaId | String The ID to use for the schema, which will become the final component of the schema's resource name. See https://cloud.google.com/pubsub/docs/admin#resource_names for resource name constraints. |
Type | Description |
Schema |
createSchemaCallable()
public final UnaryCallable<CreateSchemaRequest,Schema> createSchemaCallable()
Creates a schema.
Sample code:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
CreateSchemaRequest request =
CreateSchemaRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.setSchema(Schema.newBuilder().build())
.setSchemaId("schemaId-697673060")
.build();
ApiFuture<Schema> future = schemaServiceClient.createSchemaCallable().futureCall(request);
// Do something.
Schema response = future.get();
}
Type | Description |
UnaryCallable<CreateSchemaRequest,Schema> |
deleteSchema(DeleteSchemaRequest request)
public final void deleteSchema(DeleteSchemaRequest request)
Deletes a schema.
Sample code:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
DeleteSchemaRequest request =
DeleteSchemaRequest.newBuilder()
.setName(SchemaName.of("[PROJECT]", "[SCHEMA]").toString())
.build();
schemaServiceClient.deleteSchema(request);
}
Name | Description |
request | DeleteSchemaRequest The request object containing all of the parameters for the API call. |
deleteSchema(SchemaName name)
public final void deleteSchema(SchemaName name)
Deletes a schema.
Sample code:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
SchemaName name = SchemaName.of("[PROJECT]", "[SCHEMA]");
schemaServiceClient.deleteSchema(name);
}
Name | Description |
name | SchemaName Required. Name of the schema to delete. Format is
|
deleteSchema(String name)
public final void deleteSchema(String name)
Deletes a schema.
Sample code:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
String name = SchemaName.of("[PROJECT]", "[SCHEMA]").toString();
schemaServiceClient.deleteSchema(name);
}
Name | Description |
name | String Required. Name of the schema to delete. Format is
|
deleteSchemaCallable()
public final UnaryCallable<DeleteSchemaRequest,Empty> deleteSchemaCallable()
Deletes a schema.
Sample code:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
DeleteSchemaRequest request =
DeleteSchemaRequest.newBuilder()
.setName(SchemaName.of("[PROJECT]", "[SCHEMA]").toString())
.build();
ApiFuture<Empty> future = schemaServiceClient.deleteSchemaCallable().futureCall(request);
// Do something.
future.get();
}
Type | Description |
UnaryCallable<DeleteSchemaRequest,Empty> |
getIamPolicy(GetIamPolicyRequest request)
public final Policy getIamPolicy(GetIamPolicyRequest request)
Gets the access control policy for a resource. Returns an empty policyif the resource exists and does not have a policy set.
Sample code:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
GetIamPolicyRequest request =
GetIamPolicyRequest.newBuilder()
.setResource(ProjectName.of("[PROJECT]").toString())
.setOptions(GetPolicyOptions.newBuilder().build())
.build();
Policy response = schemaServiceClient.getIamPolicy(request);
}
Name | Description |
request | com.google.iam.v1.GetIamPolicyRequest The request object containing all of the parameters for the API call. |
Type | Description |
com.google.iam.v1.Policy |
getIamPolicyCallable()
public final UnaryCallable<GetIamPolicyRequest,Policy> getIamPolicyCallable()
Gets the access control policy for a resource. Returns an empty policyif the resource exists and does not have a policy set.
Sample code:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
GetIamPolicyRequest request =
GetIamPolicyRequest.newBuilder()
.setResource(ProjectName.of("[PROJECT]").toString())
.setOptions(GetPolicyOptions.newBuilder().build())
.build();
ApiFuture<Policy> future = schemaServiceClient.getIamPolicyCallable().futureCall(request);
// Do something.
Policy response = future.get();
}
Type | Description |
UnaryCallable<com.google.iam.v1.GetIamPolicyRequest,com.google.iam.v1.Policy> |
getSchema(GetSchemaRequest request)
public final Schema getSchema(GetSchemaRequest request)
Gets a schema.
Sample code:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
GetSchemaRequest request =
GetSchemaRequest.newBuilder()
.setName(SchemaName.of("[PROJECT]", "[SCHEMA]").toString())
.setView(SchemaView.forNumber(0))
.build();
Schema response = schemaServiceClient.getSchema(request);
}
Name | Description |
request | GetSchemaRequest The request object containing all of the parameters for the API call. |
Type | Description |
Schema |
getSchema(SchemaName name)
public final Schema getSchema(SchemaName name)
Gets a schema.
Sample code:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
SchemaName name = SchemaName.of("[PROJECT]", "[SCHEMA]");
Schema response = schemaServiceClient.getSchema(name);
}
Name | Description |
name | SchemaName Required. The name of the schema to get. Format is
|
Type | Description |
Schema |
getSchema(String name)
public final Schema getSchema(String name)
Gets a schema.
Sample code:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
String name = SchemaName.of("[PROJECT]", "[SCHEMA]").toString();
Schema response = schemaServiceClient.getSchema(name);
}
Name | Description |
name | String Required. The name of the schema to get. Format is
|
Type | Description |
Schema |
getSchemaCallable()
public final UnaryCallable<GetSchemaRequest,Schema> getSchemaCallable()
Gets a schema.
Sample code:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
GetSchemaRequest request =
GetSchemaRequest.newBuilder()
.setName(SchemaName.of("[PROJECT]", "[SCHEMA]").toString())
.setView(SchemaView.forNumber(0))
.build();
ApiFuture<Schema> future = schemaServiceClient.getSchemaCallable().futureCall(request);
// Do something.
Schema response = future.get();
}
Type | Description |
UnaryCallable<GetSchemaRequest,Schema> |
getSettings()
public final SchemaServiceSettings getSettings()
Type | Description |
SchemaServiceSettings |
getStub()
public SchemaServiceStub getStub()
Type | Description |
SchemaServiceStub |
isShutdown()
public boolean isShutdown()
Type | Description |
boolean |
isTerminated()
public boolean isTerminated()
Type | Description |
boolean |
listSchemas(ListSchemasRequest request)
public final SchemaServiceClient.ListSchemasPagedResponse listSchemas(ListSchemasRequest request)
Lists schemas in a project.
Sample code:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
ListSchemasRequest request =
ListSchemasRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.setView(SchemaView.forNumber(0))
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
for (Schema element : schemaServiceClient.listSchemas(request).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
request | ListSchemasRequest The request object containing all of the parameters for the API call. |
Type | Description |
SchemaServiceClient.ListSchemasPagedResponse |
listSchemas(ProjectName parent)
public final SchemaServiceClient.ListSchemasPagedResponse listSchemas(ProjectName parent)
Lists schemas in a project.
Sample code:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
ProjectName parent = ProjectName.of("[PROJECT]");
for (Schema element : schemaServiceClient.listSchemas(parent).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
parent | ProjectName Required. The name of the project in which to list schemas. Format is
|
Type | Description |
SchemaServiceClient.ListSchemasPagedResponse |
listSchemas(String parent)
public final SchemaServiceClient.ListSchemasPagedResponse listSchemas(String parent)
Lists schemas in a project.
Sample code:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
String parent = ProjectName.of("[PROJECT]").toString();
for (Schema element : schemaServiceClient.listSchemas(parent).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
parent | String Required. The name of the project in which to list schemas. Format is
|
Type | Description |
SchemaServiceClient.ListSchemasPagedResponse |
listSchemasCallable()
public final UnaryCallable<ListSchemasRequest,ListSchemasResponse> listSchemasCallable()
Lists schemas in a project.
Sample code:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
ListSchemasRequest request =
ListSchemasRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.setView(SchemaView.forNumber(0))
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
while (true) {
ListSchemasResponse response = schemaServiceClient.listSchemasCallable().call(request);
for (Schema element : response.getResponsesList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
Type | Description |
UnaryCallable<ListSchemasRequest,ListSchemasResponse> |
listSchemasPagedCallable()
public final UnaryCallable<ListSchemasRequest,SchemaServiceClient.ListSchemasPagedResponse> listSchemasPagedCallable()
Lists schemas in a project.
Sample code:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
ListSchemasRequest request =
ListSchemasRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.setView(SchemaView.forNumber(0))
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
ApiFuture<Schema> future = schemaServiceClient.listSchemasPagedCallable().futureCall(request);
// Do something.
for (Schema element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
Type | Description |
UnaryCallable<ListSchemasRequest,ListSchemasPagedResponse> |
setIamPolicy(SetIamPolicyRequest request)
public final Policy setIamPolicy(SetIamPolicyRequest request)
Sets the access control policy on the specified resource. Replacesany existing policy.
Can return NOT_FOUND
, INVALID_ARGUMENT
, and PERMISSION_DENIED
errors.
Sample code:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
SetIamPolicyRequest request =
SetIamPolicyRequest.newBuilder()
.setResource(ProjectName.of("[PROJECT]").toString())
.setPolicy(Policy.newBuilder().build())
.build();
Policy response = schemaServiceClient.setIamPolicy(request);
}
Name | Description |
request | com.google.iam.v1.SetIamPolicyRequest The request object containing all of the parameters for the API call. |
Type | Description |
com.google.iam.v1.Policy |
setIamPolicyCallable()
public final UnaryCallable<SetIamPolicyRequest,Policy> setIamPolicyCallable()
Sets the access control policy on the specified resource. Replacesany existing policy.
Can return NOT_FOUND
, INVALID_ARGUMENT
, and PERMISSION_DENIED
errors.
Sample code:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
SetIamPolicyRequest request =
SetIamPolicyRequest.newBuilder()
.setResource(ProjectName.of("[PROJECT]").toString())
.setPolicy(Policy.newBuilder().build())
.build();
ApiFuture<Policy> future = schemaServiceClient.setIamPolicyCallable().futureCall(request);
// Do something.
Policy response = future.get();
}
Type | Description |
UnaryCallable<com.google.iam.v1.SetIamPolicyRequest,com.google.iam.v1.Policy> |
shutdown()
public void shutdown()
shutdownNow()
public void shutdownNow()
testIamPermissions(TestIamPermissionsRequest request)
public final TestIamPermissionsResponse testIamPermissions(TestIamPermissionsRequest request)
Returns permissions that a caller has on the specified resource. If theresource does not exist,
this will return an empty set ofpermissions, not a NOT_FOUND
error.
Note: This operation is designed to be used for buildingpermission-aware UIs and command-line tools, not for authorizationchecking. This operation may "fail open" without warning.
Sample code:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
TestIamPermissionsRequest request =
TestIamPermissionsRequest.newBuilder()
.setResource(ProjectName.of("[PROJECT]").toString())
.addAllPermissions(new ArrayList<String>())
.build();
TestIamPermissionsResponse response = schemaServiceClient.testIamPermissions(request);
}
Name | Description |
request | com.google.iam.v1.TestIamPermissionsRequest The request object containing all of the parameters for the API call. |
Type | Description |
com.google.iam.v1.TestIamPermissionsResponse |
testIamPermissionsCallable()
public final UnaryCallable<TestIamPermissionsRequest,TestIamPermissionsResponse> testIamPermissionsCallable()
Returns permissions that a caller has on the specified resource. If theresource does not exist,
this will return an empty set ofpermissions, not a NOT_FOUND
error.
Note: This operation is designed to be used for buildingpermission-aware UIs and command-line tools, not for authorizationchecking. This operation may "fail open" without warning.
Sample code:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
TestIamPermissionsRequest request =
TestIamPermissionsRequest.newBuilder()
.setResource(ProjectName.of("[PROJECT]").toString())
.addAllPermissions(new ArrayList<String>())
.build();
ApiFuture
Type | Description |
UnaryCallable<com.google.iam.v1.TestIamPermissionsRequest,com.google.iam.v1.TestIamPermissionsResponse> |
validateMessage(ValidateMessageRequest request)
public final ValidateMessageResponse validateMessage(ValidateMessageRequest request)
Validates a message against a schema.
Sample code:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
ValidateMessageRequest request =
ValidateMessageRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.setMessage(ByteString.EMPTY)
.setEncoding(Encoding.forNumber(0))
.build();
ValidateMessageResponse response = schemaServiceClient.validateMessage(request);
}
Name | Description |
request | ValidateMessageRequest The request object containing all of the parameters for the API call. |
Type | Description |
ValidateMessageResponse |
validateMessageCallable()
public final UnaryCallable<ValidateMessageRequest,ValidateMessageResponse> validateMessageCallable()
Validates a message against a schema.
Sample code:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
ValidateMessageRequest request =
ValidateMessageRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.setMessage(ByteString.EMPTY)
.setEncoding(Encoding.forNumber(0))
.build();
ApiFuture
Type | Description |
UnaryCallable<ValidateMessageRequest,ValidateMessageResponse> |
validateSchema(ProjectName parent, Schema schema)
public final ValidateSchemaResponse validateSchema(ProjectName parent, Schema schema)
Validates a schema.
Sample code:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
ProjectName parent = ProjectName.of("[PROJECT]");
Schema schema = Schema.newBuilder().build();
ValidateSchemaResponse response = schemaServiceClient.validateSchema(parent, schema);
}
Name | Description |
parent | ProjectName Required. The name of the project in which to validate schemas. Format is
|
schema | Schema Required. The schema object to validate. |
Type | Description |
ValidateSchemaResponse |
validateSchema(ValidateSchemaRequest request)
public final ValidateSchemaResponse validateSchema(ValidateSchemaRequest request)
Validates a schema.
Sample code:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
ValidateSchemaRequest request =
ValidateSchemaRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.setSchema(Schema.newBuilder().build())
.build();
ValidateSchemaResponse response = schemaServiceClient.validateSchema(request);
}
Name | Description |
request | ValidateSchemaRequest The request object containing all of the parameters for the API call. |
Type | Description |
ValidateSchemaResponse |
validateSchema(String parent, Schema schema)
public final ValidateSchemaResponse validateSchema(String parent, Schema schema)
Validates a schema.
Sample code:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
String parent = ProjectName.of("[PROJECT]").toString();
Schema schema = Schema.newBuilder().build();
ValidateSchemaResponse response = schemaServiceClient.validateSchema(parent, schema);
}
Name | Description |
parent | String Required. The name of the project in which to validate schemas. Format is
|
schema | Schema Required. The schema object to validate. |
Type | Description |
ValidateSchemaResponse |
validateSchemaCallable()
public final UnaryCallable<ValidateSchemaRequest,ValidateSchemaResponse> validateSchemaCallable()
Validates a schema.
Sample code:
try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) {
ValidateSchemaRequest request =
ValidateSchemaRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.setSchema(Schema.newBuilder().build())
.build();
ApiFuture
Type | Description |
UnaryCallable<ValidateSchemaRequest,ValidateSchemaResponse> |