OpenSearch 使用适用于 Java 的 SDK 2.x 的服务示例 - Amazon SDK for Java 2.x
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

OpenSearch 使用适用于 Java 的 SDK 2.x 的服务示例

以下代码示例向您展示了如何使用 with S OpenSearch ervice 来执行操作和实现常见场景。 Amazon SDK for Java 2.x

操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景和跨服务示例的上下文查看操作。

场景 是展示如何通过在同一服务中调用多个函数来完成特定任务的代码示例。

每个示例都包含一个指向的链接 GitHub,您可以在其中找到有关如何在上下文中设置和运行代码的说明。

主题

操作

以下代码示例演示了如何使用 CreateDomain

适用于 Java 2.x 的 SDK
注意

还有更多相关信息 GitHub。在 Amazon 代码示例存储库中查找完整示例,了解如何进行设置和运行。

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.opensearch.OpenSearchClient; import software.amazon.awssdk.services.opensearch.model.ClusterConfig; import software.amazon.awssdk.services.opensearch.model.EBSOptions; import software.amazon.awssdk.services.opensearch.model.VolumeType; import software.amazon.awssdk.services.opensearch.model.NodeToNodeEncryptionOptions; import software.amazon.awssdk.services.opensearch.model.CreateDomainRequest; import software.amazon.awssdk.services.opensearch.model.CreateDomainResponse; import software.amazon.awssdk.services.opensearch.model.OpenSearchException; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class CreateDomain { public static void main(String[] args) { final String usage = """ Usage: <domainName> Where: domainName - The name of the domain to create. """; if (args.length != 1) { System.out.println(usage); System.exit(1); } String domainName = args[0]; Region region = Region.US_EAST_1; OpenSearchClient searchClient = OpenSearchClient.builder() .region(region) .build(); createNewDomain(searchClient, domainName); System.out.println("Done"); } public static void createNewDomain(OpenSearchClient searchClient, String domainName) { try { ClusterConfig clusterConfig = ClusterConfig.builder() .dedicatedMasterEnabled(true) .dedicatedMasterCount(3) .dedicatedMasterType("t2.small.search") .instanceType("t2.small.search") .instanceCount(5) .build(); EBSOptions ebsOptions = EBSOptions.builder() .ebsEnabled(true) .volumeSize(10) .volumeType(VolumeType.GP2) .build(); NodeToNodeEncryptionOptions encryptionOptions = NodeToNodeEncryptionOptions.builder() .enabled(true) .build(); CreateDomainRequest domainRequest = CreateDomainRequest.builder() .domainName(domainName) .engineVersion("OpenSearch_1.0") .clusterConfig(clusterConfig) .ebsOptions(ebsOptions) .nodeToNodeEncryptionOptions(encryptionOptions) .build(); System.out.println("Sending domain creation request..."); CreateDomainResponse createResponse = searchClient.createDomain(domainRequest); System.out.println("Domain status is " + createResponse.domainStatus().toString()); System.out.println("Domain Id is " + createResponse.domainStatus().domainId()); } catch (OpenSearchException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } } }
  • 有关 API 的详细信息,请参阅 Amazon SDK for Java 2.x API 参考CreateDomain中的。

以下代码示例演示了如何使用 DeleteDomain

适用于 Java 2.x 的 SDK
注意

还有更多相关信息 GitHub。在 Amazon 代码示例存储库中查找完整示例,了解如何进行设置和运行。

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.opensearch.OpenSearchClient; import software.amazon.awssdk.services.opensearch.model.OpenSearchException; import software.amazon.awssdk.services.opensearch.model.DeleteDomainRequest; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class DeleteDomain { public static void main(String[] args) { final String usage = """ Usage: <domainName> Where: domainName - The name of the domain to delete. """; if (args.length != 1) { System.out.println(usage); System.exit(1); } String domainName = args[0]; Region region = Region.US_EAST_1; OpenSearchClient searchClient = OpenSearchClient.builder() .region(region) .build(); deleteSpecificDomain(searchClient, domainName); System.out.println("Done"); } public static void deleteSpecificDomain(OpenSearchClient searchClient, String domainName) { try { DeleteDomainRequest domainRequest = DeleteDomainRequest.builder() .domainName(domainName) .build(); searchClient.deleteDomain(domainRequest); System.out.println(domainName + " was successfully deleted."); } catch (OpenSearchException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } } }
  • 有关 API 的详细信息,请参阅 Amazon SDK for Java 2.x API 参考DeleteDomain中的。

以下代码示例演示了如何使用 ListDomainNames

适用于 Java 2.x 的 SDK
注意

还有更多相关信息 GitHub。在 Amazon 代码示例存储库中查找完整示例,了解如何进行设置和运行。

import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.opensearch.OpenSearchClient; import software.amazon.awssdk.services.opensearch.model.DomainInfo; import software.amazon.awssdk.services.opensearch.model.ListDomainNamesRequest; import software.amazon.awssdk.services.opensearch.model.ListDomainNamesResponse; import software.amazon.awssdk.services.opensearch.model.OpenSearchException; import java.util.List; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class ListDomainNames { public static void main(String[] args) { Region region = Region.US_EAST_1; OpenSearchClient searchClient = OpenSearchClient.builder() .region(region) .credentialsProvider(ProfileCredentialsProvider.create()) .build(); listAllDomains(searchClient); System.out.println("Done"); } public static void listAllDomains(OpenSearchClient searchClient) { try { ListDomainNamesRequest namesRequest = ListDomainNamesRequest.builder() .engineType("OpenSearch") .build(); ListDomainNamesResponse response = searchClient.listDomainNames(namesRequest); List<DomainInfo> domainInfoList = response.domainNames(); for (DomainInfo domain : domainInfoList) System.out.println("Domain name is " + domain.domainName()); } catch (OpenSearchException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } } }
  • 有关 API 的详细信息,请参阅 Amazon SDK for Java 2.x API 参考ListDomainNames中的。

以下代码示例演示了如何使用 UpdateDomainConfig

适用于 Java 2.x 的 SDK
注意

还有更多相关信息 GitHub。在 Amazon 代码示例存储库中查找完整示例,了解如何进行设置和运行。

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.opensearch.OpenSearchClient; import software.amazon.awssdk.services.opensearch.model.ClusterConfig; import software.amazon.awssdk.services.opensearch.model.OpenSearchException; import software.amazon.awssdk.services.opensearch.model.UpdateDomainConfigRequest; import software.amazon.awssdk.services.opensearch.model.UpdateDomainConfigResponse; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class UpdateDomain { public static void main(String[] args) { final String usage = """ Usage: <domainName> Where: domainName - The name of the domain to update. """; if (args.length != 1) { System.out.println(usage); System.exit(1); } String domainName = args[0]; Region region = Region.US_EAST_1; OpenSearchClient searchClient = OpenSearchClient.builder() .region(region) .build(); updateSpecificDomain(searchClient, domainName); System.out.println("Done"); } public static void updateSpecificDomain(OpenSearchClient searchClient, String domainName) { try { ClusterConfig clusterConfig = ClusterConfig.builder() .instanceCount(3) .build(); UpdateDomainConfigRequest updateDomainConfigRequest = UpdateDomainConfigRequest.builder() .domainName(domainName) .clusterConfig(clusterConfig) .build(); System.out.println("Sending domain update request..."); UpdateDomainConfigResponse updateResponse = searchClient.updateDomainConfig(updateDomainConfigRequest); System.out.println("Domain update response from Amazon OpenSearch Service:"); System.out.println(updateResponse.toString()); } catch (OpenSearchException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } } }
  • 有关 API 的详细信息,请参阅 Amazon SDK for Java 2.x API 参考UpdateDomainConfig中的。