@BetaApi @Generated(value="by gapic-generator-java") public class KnowledgeBasesClient extends Object implements BackgroundResource
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 (KnowledgeBasesClient knowledgeBasesClient = KnowledgeBasesClient.create()) {
KnowledgeBaseName name =
KnowledgeBaseName.ofProjectKnowledgeBaseName("[PROJECT]", "[KNOWLEDGE_BASE]");
KnowledgeBase response = knowledgeBasesClient.getKnowledgeBase(name);
}
Note: close() needs to be called on the KnowledgeBasesClient 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:
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 KnowledgeBasesSettings to create(). For example:
To customize credentials:
KnowledgeBasesSettings knowledgeBasesSettings =
KnowledgeBasesSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
.build();
KnowledgeBasesClient knowledgeBasesClient = KnowledgeBasesClient.create(knowledgeBasesSettings);
To customize the endpoint:
KnowledgeBasesSettings knowledgeBasesSettings =
KnowledgeBasesSettings.newBuilder().setEndpoint(myEndpoint).build();
KnowledgeBasesClient knowledgeBasesClient = KnowledgeBasesClient.create(knowledgeBasesSettings);
Please refer to the GitHub repository's samples for more quickstart code snippets.
Modifier and Type | Class and Description |
---|---|
static class |
KnowledgeBasesClient.ListKnowledgeBasesFixedSizeCollection |
static class |
KnowledgeBasesClient.ListKnowledgeBasesPage |
static class |
KnowledgeBasesClient.ListKnowledgeBasesPagedResponse |
Modifier | Constructor and Description |
---|---|
protected |
KnowledgeBasesClient(KnowledgeBasesSettings settings)
Constructs an instance of KnowledgeBasesClient, using the given settings.
|
protected |
KnowledgeBasesClient(KnowledgeBasesStub stub) |
protected KnowledgeBasesClient(KnowledgeBasesSettings settings) throws IOException
IOException
@BetaApi(value="A restructuring of stub classes is planned, so this may break in the future") protected KnowledgeBasesClient(KnowledgeBasesStub stub)
public static final KnowledgeBasesClient create() throws IOException
IOException
public static final KnowledgeBasesClient create(KnowledgeBasesSettings settings) throws IOException
IOException
@BetaApi(value="A restructuring of stub classes is planned, so this may break in the future") public static final KnowledgeBasesClient create(KnowledgeBasesStub stub)
public final KnowledgeBasesSettings getSettings()
@BetaApi(value="A restructuring of stub classes is planned, so this may break in the future") public KnowledgeBasesStub getStub()
public final KnowledgeBasesClient.ListKnowledgeBasesPagedResponse listKnowledgeBases(LocationName parent)
Note: The `projects.agent.knowledgeBases` resource is deprecated; only use `projects.knowledgeBases`.
Sample code:
try (KnowledgeBasesClient knowledgeBasesClient = KnowledgeBasesClient.create()) {
LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
for (KnowledgeBase element : knowledgeBasesClient.listKnowledgeBases(parent).iterateAll()) {
// doThingsWith(element);
}
}
parent
- Required. The project to list of knowledge bases for. Format:
`projects/<Project ID>/locations/<Location ID>`.ApiException
- if the remote call failspublic final KnowledgeBasesClient.ListKnowledgeBasesPagedResponse listKnowledgeBases(ProjectName parent)
Note: The `projects.agent.knowledgeBases` resource is deprecated; only use `projects.knowledgeBases`.
Sample code:
try (KnowledgeBasesClient knowledgeBasesClient = KnowledgeBasesClient.create()) {
ProjectName parent = ProjectName.of("[PROJECT]");
for (KnowledgeBase element : knowledgeBasesClient.listKnowledgeBases(parent).iterateAll()) {
// doThingsWith(element);
}
}
parent
- Required. The project to list of knowledge bases for. Format:
`projects/<Project ID>/locations/<Location ID>`.ApiException
- if the remote call failspublic final KnowledgeBasesClient.ListKnowledgeBasesPagedResponse listKnowledgeBases(String parent)
Note: The `projects.agent.knowledgeBases` resource is deprecated; only use `projects.knowledgeBases`.
Sample code:
try (KnowledgeBasesClient knowledgeBasesClient = KnowledgeBasesClient.create()) {
String parent =
KnowledgeBaseName.ofProjectKnowledgeBaseName("[PROJECT]", "[KNOWLEDGE_BASE]").toString();
for (KnowledgeBase element : knowledgeBasesClient.listKnowledgeBases(parent).iterateAll()) {
// doThingsWith(element);
}
}
parent
- Required. The project to list of knowledge bases for. Format:
`projects/<Project ID>/locations/<Location ID>`.ApiException
- if the remote call failspublic final KnowledgeBasesClient.ListKnowledgeBasesPagedResponse listKnowledgeBases(ListKnowledgeBasesRequest request)
Note: The `projects.agent.knowledgeBases` resource is deprecated; only use `projects.knowledgeBases`.
Sample code:
try (KnowledgeBasesClient knowledgeBasesClient = KnowledgeBasesClient.create()) {
ListKnowledgeBasesRequest request =
ListKnowledgeBasesRequest.newBuilder()
.setParent(
KnowledgeBaseName.ofProjectKnowledgeBaseName("[PROJECT]", "[KNOWLEDGE_BASE]")
.toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setFilter("filter-1274492040")
.build();
for (KnowledgeBase element : knowledgeBasesClient.listKnowledgeBases(request).iterateAll()) {
// doThingsWith(element);
}
}
request
- The request object containing all of the parameters for the API call.ApiException
- if the remote call failspublic final UnaryCallable<ListKnowledgeBasesRequest,KnowledgeBasesClient.ListKnowledgeBasesPagedResponse> listKnowledgeBasesPagedCallable()
Note: The `projects.agent.knowledgeBases` resource is deprecated; only use `projects.knowledgeBases`.
Sample code:
try (KnowledgeBasesClient knowledgeBasesClient = KnowledgeBasesClient.create()) {
ListKnowledgeBasesRequest request =
ListKnowledgeBasesRequest.newBuilder()
.setParent(
KnowledgeBaseName.ofProjectKnowledgeBaseName("[PROJECT]", "[KNOWLEDGE_BASE]")
.toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setFilter("filter-1274492040")
.build();
ApiFuture<KnowledgeBase> future =
knowledgeBasesClient.listKnowledgeBasesPagedCallable().futureCall(request);
// Do something.
for (KnowledgeBase element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
public final UnaryCallable<ListKnowledgeBasesRequest,ListKnowledgeBasesResponse> listKnowledgeBasesCallable()
Note: The `projects.agent.knowledgeBases` resource is deprecated; only use `projects.knowledgeBases`.
Sample code:
try (KnowledgeBasesClient knowledgeBasesClient = KnowledgeBasesClient.create()) {
ListKnowledgeBasesRequest request =
ListKnowledgeBasesRequest.newBuilder()
.setParent(
KnowledgeBaseName.ofProjectKnowledgeBaseName("[PROJECT]", "[KNOWLEDGE_BASE]")
.toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setFilter("filter-1274492040")
.build();
while (true) {
ListKnowledgeBasesResponse response =
knowledgeBasesClient.listKnowledgeBasesCallable().call(request);
for (KnowledgeBase element : response.getResponsesList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
public final KnowledgeBase getKnowledgeBase(KnowledgeBaseName name)
Note: The `projects.agent.knowledgeBases` resource is deprecated; only use `projects.knowledgeBases`.
Sample code:
try (KnowledgeBasesClient knowledgeBasesClient = KnowledgeBasesClient.create()) {
KnowledgeBaseName name =
KnowledgeBaseName.ofProjectKnowledgeBaseName("[PROJECT]", "[KNOWLEDGE_BASE]");
KnowledgeBase response = knowledgeBasesClient.getKnowledgeBase(name);
}
name
- Required. The name of the knowledge base to retrieve. Format `projects/<Project
ID>/locations/<Location ID>/knowledgeBases/<Knowledge Base ID>`.ApiException
- if the remote call failspublic final KnowledgeBase getKnowledgeBase(String name)
Note: The `projects.agent.knowledgeBases` resource is deprecated; only use `projects.knowledgeBases`.
Sample code:
try (KnowledgeBasesClient knowledgeBasesClient = KnowledgeBasesClient.create()) {
String name =
KnowledgeBaseName.ofProjectKnowledgeBaseName("[PROJECT]", "[KNOWLEDGE_BASE]").toString();
KnowledgeBase response = knowledgeBasesClient.getKnowledgeBase(name);
}
name
- Required. The name of the knowledge base to retrieve. Format `projects/<Project
ID>/locations/<Location ID>/knowledgeBases/<Knowledge Base ID>`.ApiException
- if the remote call failspublic final KnowledgeBase getKnowledgeBase(GetKnowledgeBaseRequest request)
Note: The `projects.agent.knowledgeBases` resource is deprecated; only use `projects.knowledgeBases`.
Sample code:
try (KnowledgeBasesClient knowledgeBasesClient = KnowledgeBasesClient.create()) {
GetKnowledgeBaseRequest request =
GetKnowledgeBaseRequest.newBuilder()
.setName(
KnowledgeBaseName.ofProjectKnowledgeBaseName("[PROJECT]", "[KNOWLEDGE_BASE]")
.toString())
.build();
KnowledgeBase response = knowledgeBasesClient.getKnowledgeBase(request);
}
request
- The request object containing all of the parameters for the API call.ApiException
- if the remote call failspublic final UnaryCallable<GetKnowledgeBaseRequest,KnowledgeBase> getKnowledgeBaseCallable()
Note: The `projects.agent.knowledgeBases` resource is deprecated; only use `projects.knowledgeBases`.
Sample code:
try (KnowledgeBasesClient knowledgeBasesClient = KnowledgeBasesClient.create()) {
GetKnowledgeBaseRequest request =
GetKnowledgeBaseRequest.newBuilder()
.setName(
KnowledgeBaseName.ofProjectKnowledgeBaseName("[PROJECT]", "[KNOWLEDGE_BASE]")
.toString())
.build();
ApiFuture<KnowledgeBase> future =
knowledgeBasesClient.getKnowledgeBaseCallable().futureCall(request);
// Do something.
KnowledgeBase response = future.get();
}
public final KnowledgeBase createKnowledgeBase(LocationName parent, KnowledgeBase knowledgeBase)
Note: The `projects.agent.knowledgeBases` resource is deprecated; only use `projects.knowledgeBases`.
Sample code:
try (KnowledgeBasesClient knowledgeBasesClient = KnowledgeBasesClient.create()) {
LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
KnowledgeBase knowledgeBase = KnowledgeBase.newBuilder().build();
KnowledgeBase response = knowledgeBasesClient.createKnowledgeBase(parent, knowledgeBase);
}
parent
- Required. The project to create a knowledge base for. Format:
`projects/<Project ID>/locations/<Location ID>`.knowledgeBase
- Required. The knowledge base to create.ApiException
- if the remote call failspublic final KnowledgeBase createKnowledgeBase(ProjectName parent, KnowledgeBase knowledgeBase)
Note: The `projects.agent.knowledgeBases` resource is deprecated; only use `projects.knowledgeBases`.
Sample code:
try (KnowledgeBasesClient knowledgeBasesClient = KnowledgeBasesClient.create()) {
ProjectName parent = ProjectName.of("[PROJECT]");
KnowledgeBase knowledgeBase = KnowledgeBase.newBuilder().build();
KnowledgeBase response = knowledgeBasesClient.createKnowledgeBase(parent, knowledgeBase);
}
parent
- Required. The project to create a knowledge base for. Format:
`projects/<Project ID>/locations/<Location ID>`.knowledgeBase
- Required. The knowledge base to create.ApiException
- if the remote call failspublic final KnowledgeBase createKnowledgeBase(String parent, KnowledgeBase knowledgeBase)
Note: The `projects.agent.knowledgeBases` resource is deprecated; only use `projects.knowledgeBases`.
Sample code:
try (KnowledgeBasesClient knowledgeBasesClient = KnowledgeBasesClient.create()) {
String parent =
KnowledgeBaseName.ofProjectKnowledgeBaseName("[PROJECT]", "[KNOWLEDGE_BASE]").toString();
KnowledgeBase knowledgeBase = KnowledgeBase.newBuilder().build();
KnowledgeBase response = knowledgeBasesClient.createKnowledgeBase(parent, knowledgeBase);
}
parent
- Required. The project to create a knowledge base for. Format:
`projects/<Project ID>/locations/<Location ID>`.knowledgeBase
- Required. The knowledge base to create.ApiException
- if the remote call failspublic final KnowledgeBase createKnowledgeBase(CreateKnowledgeBaseRequest request)
Note: The `projects.agent.knowledgeBases` resource is deprecated; only use `projects.knowledgeBases`.
Sample code:
try (KnowledgeBasesClient knowledgeBasesClient = KnowledgeBasesClient.create()) {
CreateKnowledgeBaseRequest request =
CreateKnowledgeBaseRequest.newBuilder()
.setParent(
KnowledgeBaseName.ofProjectKnowledgeBaseName("[PROJECT]", "[KNOWLEDGE_BASE]")
.toString())
.setKnowledgeBase(KnowledgeBase.newBuilder().build())
.build();
KnowledgeBase response = knowledgeBasesClient.createKnowledgeBase(request);
}
request
- The request object containing all of the parameters for the API call.ApiException
- if the remote call failspublic final UnaryCallable<CreateKnowledgeBaseRequest,KnowledgeBase> createKnowledgeBaseCallable()
Note: The `projects.agent.knowledgeBases` resource is deprecated; only use `projects.knowledgeBases`.
Sample code:
try (KnowledgeBasesClient knowledgeBasesClient = KnowledgeBasesClient.create()) {
CreateKnowledgeBaseRequest request =
CreateKnowledgeBaseRequest.newBuilder()
.setParent(
KnowledgeBaseName.ofProjectKnowledgeBaseName("[PROJECT]", "[KNOWLEDGE_BASE]")
.toString())
.setKnowledgeBase(KnowledgeBase.newBuilder().build())
.build();
ApiFuture<KnowledgeBase> future =
knowledgeBasesClient.createKnowledgeBaseCallable().futureCall(request);
// Do something.
KnowledgeBase response = future.get();
}
public final void deleteKnowledgeBase(KnowledgeBaseName name)
Note: The `projects.agent.knowledgeBases` resource is deprecated; only use `projects.knowledgeBases`.
Sample code:
try (KnowledgeBasesClient knowledgeBasesClient = KnowledgeBasesClient.create()) {
KnowledgeBaseName name =
KnowledgeBaseName.ofProjectKnowledgeBaseName("[PROJECT]", "[KNOWLEDGE_BASE]");
knowledgeBasesClient.deleteKnowledgeBase(name);
}
name
- Required. The name of the knowledge base to delete. Format: `projects/<Project
ID>/locations/<Location ID>/knowledgeBases/<Knowledge Base ID>`.ApiException
- if the remote call failspublic final void deleteKnowledgeBase(String name)
Note: The `projects.agent.knowledgeBases` resource is deprecated; only use `projects.knowledgeBases`.
Sample code:
try (KnowledgeBasesClient knowledgeBasesClient = KnowledgeBasesClient.create()) {
String name =
KnowledgeBaseName.ofProjectKnowledgeBaseName("[PROJECT]", "[KNOWLEDGE_BASE]").toString();
knowledgeBasesClient.deleteKnowledgeBase(name);
}
name
- Required. The name of the knowledge base to delete. Format: `projects/<Project
ID>/locations/<Location ID>/knowledgeBases/<Knowledge Base ID>`.ApiException
- if the remote call failspublic final void deleteKnowledgeBase(DeleteKnowledgeBaseRequest request)
Note: The `projects.agent.knowledgeBases` resource is deprecated; only use `projects.knowledgeBases`.
Sample code:
try (KnowledgeBasesClient knowledgeBasesClient = KnowledgeBasesClient.create()) {
DeleteKnowledgeBaseRequest request =
DeleteKnowledgeBaseRequest.newBuilder()
.setName(
KnowledgeBaseName.ofProjectKnowledgeBaseName("[PROJECT]", "[KNOWLEDGE_BASE]")
.toString())
.setForce(true)
.build();
knowledgeBasesClient.deleteKnowledgeBase(request);
}
request
- The request object containing all of the parameters for the API call.ApiException
- if the remote call failspublic final UnaryCallable<DeleteKnowledgeBaseRequest,Empty> deleteKnowledgeBaseCallable()
Note: The `projects.agent.knowledgeBases` resource is deprecated; only use `projects.knowledgeBases`.
Sample code:
try (KnowledgeBasesClient knowledgeBasesClient = KnowledgeBasesClient.create()) {
DeleteKnowledgeBaseRequest request =
DeleteKnowledgeBaseRequest.newBuilder()
.setName(
KnowledgeBaseName.ofProjectKnowledgeBaseName("[PROJECT]", "[KNOWLEDGE_BASE]")
.toString())
.setForce(true)
.build();
ApiFuture<Empty> future =
knowledgeBasesClient.deleteKnowledgeBaseCallable().futureCall(request);
// Do something.
future.get();
}
public final KnowledgeBase updateKnowledgeBase(KnowledgeBase knowledgeBase)
Note: The `projects.agent.knowledgeBases` resource is deprecated; only use `projects.knowledgeBases`.
Sample code:
try (KnowledgeBasesClient knowledgeBasesClient = KnowledgeBasesClient.create()) {
KnowledgeBase knowledgeBase = KnowledgeBase.newBuilder().build();
KnowledgeBase response = knowledgeBasesClient.updateKnowledgeBase(knowledgeBase);
}
knowledgeBase
- Required. The knowledge base to update.ApiException
- if the remote call failspublic final KnowledgeBase updateKnowledgeBase(KnowledgeBase knowledgeBase, FieldMask updateMask)
Note: The `projects.agent.knowledgeBases` resource is deprecated; only use `projects.knowledgeBases`.
Sample code:
try (KnowledgeBasesClient knowledgeBasesClient = KnowledgeBasesClient.create()) {
KnowledgeBase knowledgeBase = KnowledgeBase.newBuilder().build();
FieldMask updateMask = FieldMask.newBuilder().build();
KnowledgeBase response = knowledgeBasesClient.updateKnowledgeBase(knowledgeBase, updateMask);
}
knowledgeBase
- Required. The knowledge base to update.updateMask
- Optional. Not specified means `update all`. Currently, only `display_name`
can be updated, an InvalidArgument will be returned for attempting to update other fields.ApiException
- if the remote call failspublic final KnowledgeBase updateKnowledgeBase(UpdateKnowledgeBaseRequest request)
Note: The `projects.agent.knowledgeBases` resource is deprecated; only use `projects.knowledgeBases`.
Sample code:
try (KnowledgeBasesClient knowledgeBasesClient = KnowledgeBasesClient.create()) {
UpdateKnowledgeBaseRequest request =
UpdateKnowledgeBaseRequest.newBuilder()
.setKnowledgeBase(KnowledgeBase.newBuilder().build())
.setUpdateMask(FieldMask.newBuilder().build())
.build();
KnowledgeBase response = knowledgeBasesClient.updateKnowledgeBase(request);
}
request
- The request object containing all of the parameters for the API call.ApiException
- if the remote call failspublic final UnaryCallable<UpdateKnowledgeBaseRequest,KnowledgeBase> updateKnowledgeBaseCallable()
Note: The `projects.agent.knowledgeBases` resource is deprecated; only use `projects.knowledgeBases`.
Sample code:
try (KnowledgeBasesClient knowledgeBasesClient = KnowledgeBasesClient.create()) {
UpdateKnowledgeBaseRequest request =
UpdateKnowledgeBaseRequest.newBuilder()
.setKnowledgeBase(KnowledgeBase.newBuilder().build())
.setUpdateMask(FieldMask.newBuilder().build())
.build();
ApiFuture<KnowledgeBase> future =
knowledgeBasesClient.updateKnowledgeBaseCallable().futureCall(request);
// Do something.
KnowledgeBase response = future.get();
}
public final void close()
close
in interface AutoCloseable
public void shutdown()
shutdown
in interface BackgroundResource
public boolean isShutdown()
isShutdown
in interface BackgroundResource
public boolean isTerminated()
isTerminated
in interface BackgroundResource
public void shutdownNow()
shutdownNow
in interface BackgroundResource
public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException
awaitTermination
in interface BackgroundResource
InterruptedException
Copyright © 2021 Google LLC. All rights reserved.