对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。

创建 API 密钥

基本 URL: https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0

POST /orgs/{ORG-ID}/apiKeys
名称
类型
说明

ORG-ID

字符串

要检索其 API 密钥的组织的唯一标识符。使用 /orgs 端点检索经过身份验证的用户有权访问的所有组织。

以下查询参数为可选参数:

名称
类型
说明
默认

pageNum

整型

页码(从 1 开始)。

1

itemsPerPage

整型

每页要返回的项目数,最多 500 个。

100

pretty

布尔

指示显示正文是否应采用 prettyprint 格式。

false

envelope

布尔

指示是否要将响应封装在信封中。

某些 API 客户端无法访问 HTTP 响应标头或状态代码。要修复此问题,在查询中设置 "envelope" : true。

对于返回一个结果的终结点,响应体包括:

  • status: HTTP 响应代码

  • content:预期响应正文

对于返回结果列表的端点, results对象是一个信封。 Ops Manager 将status字段添加到响应正文。

无

需要所有正文参数。

名称
类型
说明

desc

字符串

API 密钥的描述。长度必须介于 1 到 250 个字符之间。

roles

字符串数组

API 密钥应具有的角色列表。必须至少列出一个角色,并且所有角色必须对某个组织有效。

组织角色包括:

名称
类型
说明

id

字符串

API 密钥的唯一标识符

desc

字符串

API 密钥的描述

privateKey

字符串

API 密钥的私钥。此密钥仅在创建时显示为未编辑。

publicKey

字符串

API 密钥的公钥

roles

对象数组

API 密钥具有的角色

roles.orgId

字符串

orgId 代表此角色适用的组织。

roles.roleName

字符串

角色的名称。 users资源返回用户在 MongoDB Atlas 或 Ops Manager 中拥有的所有角色。 可能的值为:

注意

发出请求的用户可以采用{PUBLIC-KEY}:{PRIVATE-KEY}格式。

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --request POST "https://<ops-manager-host>/api/public/v1.0/orgs/{ORG-ID}/apiKeys?pretty=true" \ --data '{ "desc" : "New API key for test purposes", "roles": ["ORG_MEMBER"] }'
HTTP/1.1 401 UnauthorizedContent-Type: application/json;charset=ISO-8859-1Date: {dateInUnixFormat}WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=falseContent-Length: {requestLengthInBytes}Connection: keep-alive
HTTP/1.1 200 OKVary: Accept-EncodingContent-Type: application/jsonStrict-Transport-Security: max-age=300Date: {dateInUnixFormat}Connection: keep-aliveContent-Length: {requestLengthInBytes}X-MongoDB-Service-Version: gitHash={gitHash}; versionString={ApplicationVersion}

注意

privateKey 在响应正文中显示为未编辑。出于安全目的,此示例已编辑。

{ "desc" : "New API key for test purposes", "id" : "{API-KEY-ID}", "links" : [ { "href" : "https://<ops-manager-host>/api/public/v1.0/orgs/{ORG-ID}/apiKeys/{API-KEY-ID}", "rel" : "self" } ], "privateKey" : "********-****-****-db2c132ca78d", "publicKey" : "{PUBLIC-KEY}", "roles" : [ { "orgId" : "{ORG-ID}", "roleName" : "ORG_MEMBER" } ]}