配置一个新的 S3 2.0keyVault兼容存储块存储。 v 资源添加 对象。通过此对象,S3 兼容存储块存储从 HashiCorp Vault 读取其 AWS凭证。要学习;了解更多信息,请参阅 HashiCorp Vault for Snapshot Store Credentials(适用于快照存储档案的 HashiCorp Vault)。
基本 URL: https://{OPSMANAGER-HOST}:{PORT}/api/public/v2.0/admin/backup
Resource
POST /snapshot/s3Configs
请求路径参数
此端点不使用 HTTP 请求路径参数。
请求查询参数
以下查询参数为可选参数:
名称 | 类型 | 必要性 | 说明 | 默认 |
|---|---|---|---|---|
pretty | 布尔 | Optional | 指示响应正文是否以 prettyprint 格式表示的标志。 |
|
envelope | 布尔 | Optional | 指示是否将响应包装在信封中的标志。 某些 API 客户端无法访问 HTTP 响应标头或状态代码。要解决这个问题,可在查询中设置 envelope=true。 对于返回一个结果的端点,响应体包括:
|
|
请求正文参数
名称 | 类型 | 必要性 | 说明 | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
AcceptedTos | 布尔 | 必需 | 指示您是否接受将 S3 兼容存储与 Ops Manager 一起使用的术语的标志。您必须将其设置为 如果将此设置为 | |||||||||
assignEnabled | 布尔 | Optional | 指示是否可以将备份作业分配给此数据存储的标志。 | |||||||||
AWS Access Key | 字符串 | 可选的 | 可以访问 s3BucketName 中指定的 S3 兼容存储桶的 Amazon Web Services 访问密钥 ID。 如果 | |||||||||
AWS Secret Key | 字符串 | 可选的 | 可以访问 如果 | |||||||||
customCertificates | 阵列 | Optional | 适用于关联的 S3 兼容存储桶的有效证书颁发机构证书的列表。 | |||||||||
customCertificates[n].filename | 字符串 | Optional | 标识证书颁发机构PEM文件的名称。 | |||||||||
customCertificates[n].certString | 字符串 | Optional | 构成证书颁发机构链的证书颁发机构PEM文件的内容。 | |||||||||
disableProxyS3 | 布尔 | Optional | 指示连接到 S3 兼容存储时是否应使用HTTP proxy的标志。除非将 Ops Manager 配置为使用 HTTP proxy,否则无需设置此值。 | |||||||||
加密凭证 | 布尔 | Optional | 标志,指示此 S3 兼容存储块存储的用户名和密码是否使用凭证工具加密。 | |||||||||
id | 字符串 | 必需 | 唯一标识此S 3快照存储的名称。 | |||||||||
labels | 字符串数组 | Optional | 用于管理 可以将哪些 备份作业MongoDB Ops Manager 分配给哪些 S3 块存储的标签数组。 设置这些标签会限制此 S3 兼容存储块存储可以处理的备份作业。 如果省略,此 S3 兼容存储块存储只能处理不使用标签来筛选作业的项目的备份作业。 | |||||||||
负载系数 | 数字 | Optional | 非零的正整数,表示此快照存储与其他快照存储相比执行的备份工作量。 仅当使用多个快照存储时才需要此选项。 要学习;了解有关 Load Factor的详情,请参阅编辑一个现有块存储。 | |||||||||
objectLockEnabled | 布尔 | Optional | 标志,指示是否启用对象锁以防止 S3 存储桶中的对象被删除。 | |||||||||
pathStyleAccessEnabled | 布尔 | 必需 | 指示此端点样式的标志。
要查看 S3 兼容的存储桶 URL 约定,请参阅 Amazon Web Services S3 文档。 | |||||||||
s3AuthMethod | 字符串 | Optional | 用于授权访问s3BucketName中指定的 S3 兼容存储桶的方法。 此选项可接受的值为:
| |||||||||
s3BucketEndpoint | 字符串 | 必需 | 用于访问此 S3 兼容存储桶的URL 。 | |||||||||
S3 存储桶名称 | 字符串 | 必需 | 托管与 S3 兼容的存储块存储的与 S3 兼容的存储桶的名称。 | |||||||||
S3 最大连接数 | 数字 | 必需 | 正整数,表示与此 S3 兼容存储块存储的最大连接数。 | |||||||||
s3RegionOverride | 字符串 | 可选的 | S3 兼容存储桶所在的地区。 仅当 S3 兼容存储的s3BucketEndpoint不支持地区作用域时,才使用此字段。请勿将此字段与Amazon Web Services S3 存储桶一起使用。 | |||||||||
sseEnabled | 布尔 | 必需 | 指示此 S3 兼容存储块存储是否启用服务器端加密。的标志。 | |||||||||
ssl | 布尔 | Optional | 标志,指示此 S3 兼容存储块存储是否只接受使用TLS加密的连接。 | |||||||||
uri | 字符串 | 必需 | 连接到此 S3 兼容存储块存储的元数据数据库的连接string 。 此数据库将区块的位置存储在Amazon Web Services S3 兼容存储桶中。 | |||||||||
writeConcern | 字符串 | Optional | 用于此写关注(write concern)的块存储。 Ops Manager 接受以下值:
要学习;了解MongoDB中的写入确认级别,请参阅写关注。 |
注意
当 s3AuthMethod 为 KEYS 时,请务必提供以下档案来源之一:keyVault对象,或同时提供 awsAccessKey 和 awsSecretKey。当 s3AuthMethod 为 IAM_ROLE 时,请勿提供 keyVault对象。如果这样做, Ops Manager将返回错误,并忽略任何 awsAccessKey 和 awsSecretKey 值。
v2.0资源添加了以下密钥保管库参数:
名称 | 类型 | 必要性 | 说明 |
|---|---|---|---|
keyVault | 对象 | 可选的 | 此 S3 兼容快照存储的由保管库支持的档案源。当 |
keyVault.vaultId | 字符串 | 可选的 | 存储凭证的密钥保管库配置的唯一标识符。此值与密钥保管库配置的 |
keyVault.awsAccessKeyPath | 字符串 | 可选的 | 密钥保管库中 AWS访问权限密钥的路径,格式为 。 Ops Manager从位于 |
keyVault.awsSecretKeyPath | 字符串 | 可选的 | 密钥保管库中 AWS 密钥的路径。使用与 相同的 格式。提供 |
响应
名称 | 类型 | 说明 | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
AcceptedTos | 布尔 | 标志,表示您是否接受通过 Ops Manager 使用 S3 兼容存储的术语。您必须将其设置为 | |||||||||
assignEnabled | 布尔 | 指示是否可以将备份作业分配给此数据存储的标志。 | |||||||||
AWS Access Key | 字符串 | 可以访问 s3BucketName 中指定的 S3 兼容存储桶的 Amazon Web Services 访问密钥 ID。 | |||||||||
AWS Secret Key | 字符串 | 可以访问 s3BucketName 中指定的 S3 兼容存储桶的 Amazon Web Services 访问秘密密钥。 | |||||||||
customCertificates | 阵列 | 适用于关联的 S3 兼容存储桶的有效证书颁发机构证书的列表。 | |||||||||
customCertificates[n].filename | 字符串 | 标识证书颁发机构PEM文件的名称。 | |||||||||
customCertificates[n].certString | 字符串 | 构成证书颁发机构链的证书颁发机构PEM文件的内容。 | |||||||||
disableProxyS3 | 布尔 | 指示连接到 S3 兼容存储时是否应使用HTTP proxy的标志。 | |||||||||
加密凭证 | 布尔 | 标志,指示此 S3 兼容存储块存储的用户名和密码是否使用凭证工具加密。 | |||||||||
id | 字符串 | 唯一标识此 S3 兼容存储块存储的名称。 | |||||||||
labels | 字符串数组 | 用于管理 可以将哪些 备份作业MongoDB Ops Manager 分配给哪些 S3 块存储的标签数组。 | |||||||||
链接 | 对象数组 | 指向子资源或相关资源的一个或多个链接。响应中的所有 | |||||||||
负载系数 | 整型 | 非零的正整数,表示此快照存储与其他快照存储相比执行的备份工作量。 仅当使用多个快照存储时才需要此选项。 要学习;了解有关Load Factor的更多信息,请参阅编辑一个现有块存储。 | |||||||||
objectLockEnabled | 布尔 | 标志,指示是否启用对象锁以防止 S3 存储桶中的对象被删除。 | |||||||||
pathStyleAccessEnabled | 布尔 | 指示此端点样式的标志。
要查看 S3 兼容的存储桶 URL 约定,请参阅 Amazon Web Services S3 文档。 | |||||||||
s3AuthMethod | 字符串 | 用于授权访问 此选项可接受的值为:
| |||||||||
s3BucketEndpoint | 字符串 | Ops Manager 用于访问此 S3 兼容存储桶的URL 。 | |||||||||
S3 存储桶名称 | 字符串 | 托管与 S3 兼容的存储块存储的与 S3 兼容的存储桶的名称。 | |||||||||
S3 最大连接数 | 整型 | 正整数,表示与此 S3 兼容存储块存储的最大连接数。 | |||||||||
s3RegionOverride | 字符串 | ||||||||||
sseEnabled | 布尔 | 指示此 S3 兼容存储块存储是否启用服务器端加密。的标志。 | |||||||||
ssl | 布尔 | 标志,指示此 S3 兼容存储块存储是否只接受使用TLS加密的连接。 | |||||||||
uri | 字符串 | 连接到此 S3 兼容存储块存储的元数据数据库的连接string 。 此数据库将区块的位置存储在Amazon Web Services S3 兼容存储桶中。 | |||||||||
writeConcern | 字符串 | 用于此写关注(write concern)的块存储。 Ops Manager 返回以下值之一:
要学习;了解MongoDB中的写入确认级别,请参阅写关注。 |
v2.0资源添加以下密钥保管库字段:
名称 | 类型 | 说明 |
|---|---|---|
keyVault | 对象 | 此 S3 兼容快照存储的由保管库支持的档案源。仅当快照存储从密钥保管库读取其凭证时, Ops Manager才会返回此对象。 |
keyVault.vaultId | 字符串 | 存储凭证的密钥保管库配置的唯一标识符。 |
keyVault.awsAccessKeyPath | 字符串 | AWS访问权限密钥在密钥保管库中的路径。 |
keyVault.awsSecretKeyPath | 字符串 | AWS 密钥在密钥保管库中的路径。 |
请求示例
curl --user '{PUBLIC-KEY}:{PRIVATE-KEY}' --digest \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --include \ --request POST 'https://<OpsManagerHost>:<Port>/api/public/v2.0/admin/backup/snapshot/s3Configs?pretty=true' \ --data '{ "id": "{S3-BLOCKSTORE-CONFIG-ID}", "assignmentEnabled": true, "pathStyleAccessEnabled": false, "acceptedTos": true, "encryptedCredentials": false, "loadFactor": 1, "s3AuthMethod": "KEYS", "s3BucketEndpoint": "s3.amazonaws.com", "s3BucketName": "bucketname", "s3MaxConnections": 50, "sseEnabled": true, "uri": "mongodb://127.0.0.1:27017", "ssl": false, "writeConcern": "ACKNOWLEDGED", "keyVault": { "vaultId": "{KEY-VAULT-ID}", "awsAccessKeyPath": "path/to/awsAccessKey", "awsSecretKeyPath": "path/to/awsSecretKey" } }'
curl --user '{PUBLIC-KEY}:{PRIVATE-KEY}' --digest \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --include \ --request POST 'https://<OpsManagerHost>:<Port>/api/public/v2.0/admin/backup/snapshot/s3Configs?pretty=true' \ --data '{ "id": "{S3-BLOCKSTORE-CONFIG-ID}", "assignmentEnabled": true, "pathStyleAccessEnabled": false, "awsAccessKey": "<access>", "awsSecretKey": "<secret>", "acceptedTos": true, "encryptedCredentials": false, "loadFactor": 1, "s3AuthMethod": "KEYS", "s3BucketEndpoint": "s3.amazonaws.com", "s3BucketName": "bucketname", "s3MaxConnections": 50, "sseEnabled": true, "uri": "mongodb://127.0.0.1:27017", "ssl": false, "writeConcern": "ACKNOWLEDGED" }'
curl --user '{PUBLIC-KEY}:{PRIVATE-KEY}' --digest \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --include \ --request POST 'https://<OpsManagerHost>:<Port>/api/public/v2.0/admin/backup/snapshot/s3Configs?pretty=true' \ --data '{ "id": "{S3-BLOCKSTORE-CONFIG-ID}", "assignmentEnabled": true, "pathStyleAccessEnabled": false, "acceptedTos": true, "encryptedCredentials": false, "loadFactor": 1, "s3AuthMethod": "IAM_ROLE", "s3BucketEndpoint": "s3.amazonaws.com", "s3BucketName": "bucketname", "s3MaxConnections": 50, "sseEnabled": true, "uri": "mongodb://127.0.0.1:27017", "ssl": false, "writeConcern": "ACKNOWLEDGED" }'
响应示例
响应标头
401 Unauthorized Content-Type: application/json;charset=ISO-8859-1 Date: {dateInUnixFormat} WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=false Content-Length: {requestLengthInBytes} Connection: keep-alive
200 OK Vary: Accept-Encoding Content-Type: application/json Strict-Transport-Security: max-age=300 Date: {dateInUnixFormat} Connection: keep-alive Content-Length: {requestLengthInBytes} X-MongoDB-Service-Version: gitHash={gitHash}; versionString={ApplicationVersion}
响应体
{ "acceptedTos": true, "assignmentEnabled": true, "encryptedCredentials": false, "id": "{S3-BLOCKSTORE-CONFIG-ID}", "keyVault": { "vaultId": "{KEY-VAULT-ID}", "awsAccessKeyPath": "path/to/awsAccessKey", "awsSecretKeyPath": "path/to/awsSecretKey" }, "links": [ { "href": "https://<OpsManagerHost>:<Port>/api/public/v2.0/admin/backup/snapshot/s3Configs", "rel": "self" } ], "loadFactor": 1, "pathStyleAccessEnabled": false, "s3AuthMethod": "KEYS", "s3BucketEndpoint": "s3.amazonaws.com", "s3BucketName": "bucketname", "s3MaxConnections": 50, "sseEnabled": true, "ssl": false, "uri": "mongodb://127.0.0.1:27017", "writeConcern": "ACKNOWLEDGED" }