View a markdown version of this page

Amazon OpenSearch 无服务器的收集终端节点 - 亚马逊 OpenSearch 服务

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

Amazon OpenSearch 无服务器的收集终端节点

Amazon OpenSearch Serverless 在域上 NextGen 提供基于资源的终端节点。on.aws您可以使用每个集合的终端节点来访问单个集合,也可以使用每个账户的终端节点通过一个主机名访问您所在区域 AWS 账户 中的每个集合。两个终端节点均采用标准配置 AWS PrivateLink ,即通过亚马逊 VPC 控制台或使用 Amazon EC2 API 创建 VPC 终端节点。CreateVpcEndpoint

OpenSearch Serverless Classic 在上使用每集合端点 aoss.amazonaws.com

端点类型

OpenSearch Serverless 支持以下集合端点格式。

OpenSearch 无服务器集合端点格式
端点类型 Format 说明
Per-collection (NextGen) collection-id.aoss.region.on.aws

从主机名中标识集合。每个集合一个端点。

Per-account (NextGen) account-id.aoss.region.on.aws

标识来自请求标头的集合。一个终端节点为你所在区域 AWS 账户 的每个集合提供服务。

Per-collection (经典) collection-id.region.aoss.amazonaws.com

从主机名中标识集合。每个经典集合一个端点。

两种 NextGen 终端节点格式都使用标准 AWS PrivateLink 的 VPC 访问方式。有关创建 VPC 终端节点的更多信息,请参阅 通过以下方式访问数据平面 AWS PrivateLink

在支持 FIPS AWS 区域 的过程中, OpenSearch Serverless 还提供了这些端点的 FIPS-compliant 变体。有关更多信息,请参阅 将 FIPS 端点与无服务器一起使用 OpenSearch

Per-collection 端点

每个集合的端点通过包含集合 ID 的主机名来定位单个集合。终端节点显示在 OpenSearch Serverless 控制台的集合详细信息页面上,并由 BatchGetCollectionAPI 在collectionEndpoint字段中返回。

Format
  • NextGen: collection-id.aoss.region.on.aws

  • 经典:collection-id.region.aoss.amazonaws.com

以下请求将文档索引到中的集合movies索引1tg2xudton46knx2a95gus-east-1

PUT https://1tg2xudton46knx2a95g.aoss.us-east-1.on.aws/movies/_doc/1 { "title": "Shawshank Redemption", "year": 1994 }

Per-account endpoint

每个账户的终端节点通过单个主机名定位您所在区域 AWS 账户 中的每个集合。由于所有集合的主机名都相同,因此您可以通过以下其中一个 HTTP 标头来识别每个请求的目标集合(至少需要一个;如果同时包含两个标头,则它们必须引用同一个集合):

  • x-amz-aoss-collection-name— 客户分配的馆藏名称

  • x-amz-aoss-collection-id— 服务生成的集合 ID

每个账户的端点允许单个客户端通过标头切换每个请求的目标集合,从而在多个集合之间共享一个连接池。这对于将每个租户建模为单独集合的多租户应用程序非常有用。

使用x-amz-aoss-collection-name,这样您的应用程序就可以用它已经知道的名称路由请求。您可以跳过存储或查找服务生成的集合 ID。

OpenSearch 无服务器控制台中未显示每个账户的终端节点。根据您的 AWS 账户 ID 和地区进行构建。

Format
  • NextGen: account-id.aoss.region.on.aws

以下请求将文档索引到账户my-collection中的集合movies索引123456789012us-east-1

PUT https://123456789012.aoss.us-east-1.on.aws/movies/_doc/1 x-amz-aoss-collection-name: my-collection { "title": "Shawshank Redemption", "year": 1994 }
注意

x-amz-aoss-collection-namex-amz-aoss-collection-id标题必须是 SigV4-signed。 AWS SDK 会自动执行此操作。