获取连接字符串
要连接到 IBM Cloud® Databases for Elasticsearch,您需要一些用户和连接字符串。 部署的连接字符串显示在 Overview 页面的 Endpoints 面板中。 这些字符串可以与您生成的任何凭证集一起使用。
Databases for Elasticsearch 部署由管理员用户供应,并且在 设置管理员密码 后,可以使用其凭证来连接到部署。
在 CLI 中获取连接字符串
您还可以从 CLI 抓取连接字符串。
ibmcloud cdb deployment-connections example-deployment -u <newusername> [--endpoint-type <endpoint type>]
完整连接信息由带有 --all 标志的 ibmcloud cdb deployment-connections 命令返回。 要检索名为 "example-deployment" 的部署的所有连接信息,请使用以下命令。
ibmcloud cdb deployment-connections example-deployment -u <newusername> --all [--endpoint-type <endpoint type>]
如果未指定用户,那么缺省情况下,deployment-connections 命令将返回管理用户的信息。 如果未指定端点类型,那么缺省情况下,连接字符串将返回公共端点。 如果您的部署只有专用端点,那么必须指定 --endpoint-type private 或命令返回错误。 未强制实施用户和端点类型。 您可以将部署上的任何用户与任一端点配合使用 (如果这两个端点都存在于您的部署上)。
要使用 ibmcloud cdb CLI 命令,必须 安装 Cloud Databases 插件。
使用应用程序接口获取连接字符串
要从 API 检索用户的连接字符串,请使用 /users/{userid}/connections 端点。 必须在路径中指定应该在返回的连接字符串中使用哪些用户和哪种类型的端点 (公用或专用)。 未强制实施用户和端点类型。 您可以将部署上的任何用户与任一端点配合使用
(如果这两个端点都存在于您的部署上)。
curl -X GET -H "Authorization: Bearer $APIKEY" 'https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/users/{user_type}/{user_id}/connections/{endpoint_type}'
更多用户和连接字符串
对 Databases for Elasticsearch 部署的访问权不限于管理用户。 您可以使用 Service Credentials 页面、IBM 云 CLI 或通过 IBM Cloud Databases API 创建用户。
部署上的所有用户都可以使用连接字符串,包括公共或专用端点的连接字符串。
从用户界面创建用户
- 导航至服务的资源详情页面。
- 单击 Service credentials 打开 Service Credentials 页面。
- 单击新建凭证。
- 为新证书选择一个描述性名称。
- (可选) 指定新凭证是使用公共端点还是专用端点。 使用 添加内联配置参数 字段中的
{ "service-endpoints": "public" }/{ "service-endpoints": "private" }来生成使用指定端点的连接字符串。 未强制使用端点,因为它控制连接字符串中的主机名。 缺省情况下会生成公共端点。 - 单击 添加 以供应新凭证。 将自动生成用户名和密码以及关联的 Elasticsearch 用户。
新凭证显示在表中,连接字符串在“查看凭证”下的“单击以复制”字段中以 JSON 形式提供。
通过 CLI 创建用户
如果通过 IBM Cloud CLI 和 云数据库插件 管理服务,那么可以使用 cdb user-create 创建新用户。 例如,要为 "example-deployment" 创建新用户,请使用以下命令。
ibmcloud cdb user-create example-deployment <newusername> <newpassword>
完成该任务后,您可以使用 ibmcloud cdb deployment-connections 命令检索新用户的连接字符串。
使用应用程序接口创建用户
服务_概览_面板上显示的_基础端点_提供了通过 API 访问此部署的基础 URL。 要创建和管理用户,请使用 /users 端点的基本 URL。
curl -X POST 'https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/users/{user_type}' \
-H "Authorization: Bearer $APIKEY" \
-H "Content-Type: application/json" \
-d '{"user": {"username": "user", "password": "v3ry-1-secUre-pAssword-2"}}'
要检索用户的连接字符串,请使用 /users/{userid}/connections 端点的基本 URL。
在用户界面中为_服务凭证_添加用户
通过 CLI 创建新用户不会自动将该用户的连接字符串填充到 _服务凭证_中。 如果要将其添加到该处,那么可以使用现有用户信息创建新凭证。
在 JSON 字段 _添加内联配置参数_中输入用户名和密码,或者指定用于存储 JSON 信息的文件。 例如,将 {"existing_credentials":{"username":"Robert","password":"supersecure"}} 放在字段中会生成 服务凭证,并将用户名 "Robert"
和密码 "supersecure" 填充到连接字符串中。
从现有用户生成凭证不会检查或创建该用户。
连接字符串细分
HTTPS 栏目
服务凭证页面上创建的凭证的 "https "部分包含适合连接到 Elasticsearch 的应用程序的信息。
| 字段名称 | 索引 | 描述 |
|---|---|---|
Type |
连接类型 - 对于 Elasticsearch,它是 "uri"。 | |
Scheme |
URI 的方案 - 对于 Elasticsearch,它是 "https"。 | |
Path |
URI 的路径。 | |
Authentication |
Username |
用于连接的用户名。 |
Authentication |
Password |
用户密码 - 可能显示为 $PASSWORD。 |
Authentication |
Method |
如何进行认证;“直接”认证由驱动程序处理。 |
Hosts |
0... |
要连接的主机名和端口。 |
Composed |
0... |
结合了方案、验证、主机和路径的 URI。 |
Certificate |
Name |
数据库部署服务专有证书的分配名称。 |
Certificate |
Base64 | 证书的 base64 编码版本。 |
0...指示数组中可能有一个或多个这些条目。
CLI 部分
在 * 服务证书*页面上创建的证书的 "CLI "部分包含适合与 cURL 连接的信息。
| 字段名称 | 索引 | 描述 |
|---|---|---|
Bin |
用于创建连接的建议二进制文件; 在此情况下为 curl。 |
|
Composed |
用于与部署建立连接的格式化命令。 该命令组合了 Bin 可执行文件,Environment 变量设置,并使用 Arguments 作为命令行参数。 |
|
Environment |
设置为环境变量的键/值的列表。 | |
Arguments |
0... | 作为参数传递给 "Bin" 字段中显示的命令的信息。 |
Certificate |
Base64 | 服务专有证书,用于确认应用程序正在连接到相应的服务器。 base64 编码。 |
Certificate |
名称 | 服务专有证书的分配名称。 |
Type |
使用此连接信息的包的类型; 在本例中为 cli。 |
0...指示数组中可能有一个或多个这些条目。