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

创建一个 S3 块存储配置

配置一个新的 s3 块存储。

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

POST /snapshot/s3Configs

此端点不使用 HTTP 请求路径参数。

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

名称
类型
必要性
说明
默认

pretty

布尔

Optional

指示响应正文是否采用 pretty-print 格式的标志。

false

envelope

布尔

Optional

指示是否将响应包装在信封中的标志。

某些 API 客户端无法访问 HTTP 响应标头或状态代码。要解决这个问题,可在查询中设置 envelope=true。

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

  • status: HTTP 响应代码

  • content:预期响应正文

false

名称
类型
必要性
说明

AcceptedTos

布尔

必需

指示您是否接受将S3 兼容存储与MongoDB Ops Manager结合使用的服务条款的标志。必须将其设置为 true 才能创建 S3 兼容存储库。

如果将此设置为false ,Ops Manager 将返回错误。该错误表明 Ops Manager 无法创建 S3 兼容存储。

assignEnabled

布尔

Optional

指示是否可以将备份作业分配给此数据存储的标志。

AWS Access Key

字符串

可选的

AWS 访问密钥 ID 可以访问 S3 兼容的存储桶,该存储桶在 s3BucketName 中指定。

如果"s3AuthMethod" : "IAM_ROLE" ,则无需包含awsAccessKey 。

AWS Secret Key

字符串

可选的

AWS 秘钥访问密钥,可以访问在 <s3BucketName> 中指定的 S3 兼容的存储桶。

如果"s3AuthMethod" : "IAM_ROLE" ,则无需包含awsSecretKey 。

customCertificates

阵列

Optional

适用于关联的 S3 兼容存储桶的有效证书颁发机构证书的列表。

customCertificates[n].filename

字符串

Optional

标识证书颁发机构PEM文件的名称。

customCertificates[n].certString

字符串

Optional

构成证书颁发机构链的证书颁发机构PEM文件的内容。

disableProxyS3

布尔

必需

连接到 S3 兼容存储时,指示是否使用 HTTP proxy。在创建或更新 S3 兼容存储块存储的每个请求中,必须包含此字段,即使您尚未配置 MongoDB Ops Manager 使用 HTTP proxy。

加密凭证

布尔

Optional

标志,指示此 S3 兼容存储块存储的用户名和密码是否使用凭证工具加密。

id

字符串

必需

labels

字符串数组

Optional

用于管理 可以将哪些 备份作业MongoDB Ops Manager 分配给哪些 S3 块存储的标签数组。

设置这些标签会限制此 S3 兼容存储块存储可以处理的备份作业。 如果省略,此 S3 兼容存储块存储只能处理不使用标签来筛选作业的项目的备份作业。

负载系数

数字

Optional

非零的正整数,表示此快照存储与其他快照存储相比执行的备份工作量。 仅当使用多个快照存储时才需要此选项。

要学习;了解有关Load Factor的更多信息,请参阅编辑一个现有块存储。

objectLockEnabled

布尔

Optional

标志,指示是否启用对象锁以防止 S3 存储桶中的对象被删除。

objectRetentionDays

整型

Optional

Ops Manager使用对象锁保护此 S3 兼容存储块存储对象的天数。将此值设置为与 S3 兼容存储桶上配置的默认保留期相匹配。当您在 assignmentEnabled设立为 true 的情况下保存存储时, Ops Manager会使用临时测试对象来验证存储桶的对象锁定行为。但是, Ops Manager不会读取存储桶的对象锁配置,因此无法检测到该值与存储桶的保留设置之间的不匹配情况。

objectRetentionMode

字符串

Optional

Ops Manager应用于此 S3 兼容存储块存储的对象的对象锁保留模式。将此值设置为与 S3 兼容存储桶上配置的保留模式相匹配。当您在 assignmentEnabled设立为 true 的情况下保存存储时, Ops Manager会使用临时测试对象来验证存储桶的对象锁定行为。但是, Ops Manager不会读取存储桶的对象锁配置,因此无法检测到该值与存储桶的保留设置之间的不匹配情况。

Ops Manager接受此选项的以下值:

  • GOVERNANCE

  • COMPLIANCE

OIDC

对象

Optional

可选。 此存储的 OIDC身份验证设置。oidc 对象接受以下字段:

  • enabled: 布尔值。启用对这个存储的 OIDC 身份验证。

  • method: string.callback、azure、gcp或k8s之一。

  • tokenUri: string.身份提供程序令牌的终结点。当 method 为 callback 时必需。

  • clientId: string.与 身份提供程序 注册的客户端 ID。当 method 为 callback 时,必须;当 method 为 azure 时,可选。

  • clientSecret: string.在 身份提供程序 注册的客户端密钥。当 method 为 callback 时必需。如果您编辑现有存储并省略此字段,或提交上一个 GET 请求返回的已编辑值,MongoDB Ops Manager 将保留现有密钥。

  • scope: string.从 身份提供程序 请求的 OAuth2 范围。仅在 method 为 callback 时使用。

  • tokenResource: string.工作负载身份令牌的受众或资源标识符。当 method 为 azure 或 gcp 时必需。此值必须与目标 MongoDB 部署的 oidcIdentityProviders 设置中为此 身份提供程序 配置的 audience 匹配。

callback、azure、gcp 和 k8s 方法并不都需要相同的字段。azure、gcp 和 k8s 方法不需要 clientSecret。

当 oidc.enabled 为 true 时,在存储的 uri 字段中仅提供主机和连接选项。MongoDB Ops Manager 会忽略嵌入 URI 中的任何用户名或密码。

要将存储从 OIDC 切换为另一个身份验证机制,请在请求中提交 oidc: {enabled: false},而不是省略 oidc 对象。

pathStyleAccessEnabled

布尔

必需

指示此端点样式的标志。

  • true: 路径样式URL终结点示例,s3.amazonaws.com/<bucket>。

  • false: 虚拟主机样式URL终结点。示例,<bucket>.s3.amazonaws.com。

要查看与 S3 兼容的存储桶URL约定,请参阅 AWS S3 文档。

s3AuthMethod

字符串

Optional

用于授权访问s3BucketName中指定的 S3 兼容存储桶的方法。

Ops Manager接受此选项的以下值:

  • KEYS 或无:MongoDB Ops Manager 使用 awsAccessKey 和 awsSecretKey 来授权访问在 s3BucketName 中指定的 S3 兼容存储桶。

  • IAM_ROLE: Ops Manager uses an AWS IAM role to authorize access to S3-compatible storage bucket specified in s3BucketName. awsAccessKey and awsSecretKey fields are ignored. To learn more, see the AWS documentation

s3BucketEndpoint

字符串

必需

URL,用于访问此 S3 兼容存储桶。

S3 存储桶名称

字符串

必需

托管与 S3 兼容的存储块存储的与 S3 兼容的存储桶的名称。

S3 最大连接数

数字

必需

正整数,表示与此 S3 兼容存储块存储的最大连接数。

s3RegionOverride

字符串

可选的

S3 兼容存储桶所在的地区。

仅当您的 S3 兼容存储的 s3BucketEndpoint 不支持区域作用域时,才使用此字段。请勿将此字段与 AWS S3 存储桶一起使用。

sseEnabled

布尔

必需

指示此 S3 兼容存储块存储是否启用服务器端加密。的标志。

ssl

布尔

Optional

指示此 S3兼容存储块存储是否仅接受使用TLS加密的连接的标志。

uri

字符串

必需

连接到元数据数据库的连接字符串,用于此 S3兼容存储块存储。该数据库存储块在 AWS S3 兼容的存储桶中的位置。

writeConcern

字符串

Optional

用于此写关注(write concern)的块存储。

Ops Manager 接受以下值:

  • ACKNOWLEDGED

  • W2

  • JOURNALED

  • MAJORITY

要学习;了解MongoDB中的写入确认级别,请参阅写关注。

名称
类型
说明

AcceptedTos

布尔

指示您是否接受将 S3 兼容存储与 MongoDB Ops Manager 结合使用的服务条款的标志。必须将其设置为 true 才能创建 S3 兼容存储库。

assignEnabled

布尔

指示是否可以将备份作业分配给此数据存储的标志。

AWS Access Key

字符串

AWS 访问密钥 ID 可以访问 S3 兼容的存储桶,该存储桶在 s3BucketName 中指定。

AWS Secret Key

字符串

可以访问在 s BucketName3 中指定的 S 兼容存储桶的 AWS Secret Access3 Key。

customCertificates

阵列

适用于关联的 S3 兼容存储桶的有效证书颁发机构证书的列表。

customCertificates[n].filename

字符串

标识证书颁发机构PEM文件的名称。

customCertificates[n].certString

字符串

构成证书颁发机构链的证书颁发机构PEM文件的内容。

disableProxyS3

布尔

指示连接到 S3 兼容存储时是否使用 HTTP proxy 的标志。

加密凭证

布尔

标志,指示此 S3 兼容存储块存储的用户名和密码是否使用凭证工具加密。

id

字符串

唯一标识此 S3 兼容存储块存储的名称。

labels

字符串数组

用于管理 可以将哪些 备份作业MongoDB Ops Manager 分配给哪些 S3 块存储的标签数组。

链接

对象数组

指向子资源或相关资源的一个或多个链接。响应中的所有 links 数组至少包含一个名为 self 的链接。URL之间的关系在 Web 链接规范中进行了解释。

负载系数

整型

非零的正整数,表示此快照存储与其他快照存储相比执行的备份工作量。 仅当使用多个快照存储时才需要此选项。

要学习;了解有关Load Factor的更多信息,请参阅编辑一个现有块存储。

objectLockEnabled

布尔

标志,指示是否启用对象锁以防止 S3 存储桶中的对象被删除。

objectLockEnabledAt

timestamp

为此 S3 兼容存储块存储启用对象锁的日期和时间。 Ops Manager仅在响应 GET 请求时返回此字段。

objectRetentionDays

整型

Ops Manager使用对象锁保护此 S3 兼容存储块存储对象的天数。

objectRetentionMode

字符串

Ops Manager应用于此 S3 兼容存储块存储的对象的对象锁保留模式。

Ops Manager 返回以下值之一:

  • GOVERNANCE

  • COMPLIANCE

OIDC

对象

此存储的 OIDC身份验证设置。oidc 对象包含以下字段。

  • enabled: 布尔值。指示对此存储是否已启用 OIDC 身份验证。

  • method: string.callback、azure、gcp或k8s之一。

  • tokenUri: string.身份提供程序令牌的终结点。仅在 method 为 callback 时存在。

  • clientId: string.与 身份提供程序 注册的客户端 ID。

  • clientSecret: string.MongoDB Ops Manager 在响应中对此值进行编辑,并不返回原始客户端秘密。

  • scope: string.从 身份提供程序 请求的 OAuth2 范围。仅在 method 为 callback 时呈现。

  • tokenResource: string.工作负载身份标记的受众或资源标识符。仅在 method 为 azure 或 gcp 时出现。

pathStyleAccessEnabled

布尔

指示此端点样式的标志。

  • true: 路径样式URL终结点。示例: s3.amazonaws.com/<bucket>

  • false: 虚拟主机样式URL终结点。示例: <bucket>.s3.amazonaws.com

要查看与 S3 兼容的存储桶URL约定,请参阅 AWS S3 文档。

s3AuthMethod

字符串

用于授权访问s3BucketName中指定的 S3 兼容存储桶的方法。

此选项可接受的值为: KEYS 、 IAM_ROLE 。

  • KEYS 或 None:Ops Manager 使用 awsAccessKey 和 awsSecretKey 来授权访问 s3BucketName 中指定的 S3 兼容存储桶。

  • IAM_ROLE: Ops Manager uses an AWS IAM role to authorize access to S3-compatible storage bucket specified in s3BucketName. awsAccessKey and awsSecretKey fields are ignored. To learn more, see the AWS documentation

s3BucketEndpoint

字符串

Ops Manager 用以访问此 S3 兼容存储桶的 URL。

S3 存储桶名称

字符串

托管与 S3 兼容的存储块存储的与 S3 兼容的存储桶的名称。

S3 最大连接数

整型

正整数,表示与此 S3 兼容存储块存储的最大连接数。

s3RegionOverride

字符串

S3 兼容存储桶所在的地区。仅当 S3 兼容存储存储的s3BucketEndpoint不支持地区作用域时,此字段才适用。

MongoDB Ops Manager仅当您 在创建 或 更新 此 S 兼容存储块存储存储时包含该字段时,3 才会返回该字段。

sseEnabled

布尔

指示此 S3 兼容存储块存储是否启用服务器端加密。的标志。

ssl

布尔

指示此 S3兼容存储块存储是否仅接受使用TLS加密的连接的标志。

uri

字符串

连接到元数据数据库的连接字符串,用于此 S3兼容存储块存储。该数据库存储块在 AWS S3 兼容的存储桶中的位置。

writeConcern

字符串

用于此写关注(write concern)的块存储。

Ops Manager 返回以下值之一:

  • ACKNOWLEDGED

  • W2

  • JOURNALED

  • MAJORITY

要学习;了解MongoDB中的写入确认级别,请参阅写关注。

curl --user '{PUBLIC-KEY}:{PRIVATE-KEY}' --digest \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --include \ --request POST 'https://<OpsManagerHost>:<Port>/api/public/v1.0/admin/backup/snapshot/s3Configs?pretty=true' \ --data '{ "id": "{S3-BLOCKSTORE-CONFIG-ID}", "assignmentEnabled": true, "pathStyleAccessEnabled": false, "awsAccessKey": "<access>", "awsSecretKey": "<secret>", "acceptedTos": true, "customCertificates" : [{ "filename" : "CA.pem", "certString" : "-----BEGIN CERTIFICATE-----\nMIIDljCCAn4CCQDJjCHAkAafFTANBgkqhkiG9w0BAQsFADCBjDELMAkGA1UEBhMC\nVVMxCzAJBgNVBAgMAk5ZMQwwCgYDVQQHDANOWUMxEDAOBgNVBAoMB01vbmdvREIx\nDDAKBgNVBAsMA1NXRTEZMBcGA1UEAwwQZXJpbm1jbnVsdHkudGVjaDEnMCUGCSqG\nSIb3DQEJARYYZXJpbi5tY251bHR5QG1vbmdvZGIuY29tMB4XDTIxMDYxMTE1MzY0\nMVoXDTIxMDcxMTE1MzY0MVowgYwxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJOWTEM\nMAoGA1UEBwwDTllDMRAwDgYDVQQKDAdNb25nb0RCMQwwCgYDVQQLDANTV0UxGTAX\nBgNVBAMMEGVyaW5tY251bHR5LnRlY2gxJzAlBgkqhkiG9w0BCQEWGGVyaW4ubWNu\ndWx0eUBtb25nb2RiLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nAOoAv1btxcEgDOdCgyz+/NtyFwa0h/3yGtj+WK7nMzcEntnxG5apHVRZ6eQ4ayZU\nhZNPbNWtcsbTEiRWyywMAd7/DbIa9GhsP1/P6Cv+TnO2krx8qVKQN93j8cme/b6g\n+yeEWMAM2rvfXq/fRTtJbH1Y6c4mYh4312mPrlEfgvAUQZh3DpJQNIVZ5MM2imp0\nfBgcggrNHUniLCT8ogUA4QII8CKIC4ONX4TNtXbsNtcCzKNqvOdcvWXLTYEJav34\nlaJs1YWJx2PSufgHo+JZUeANwwpztkYhr3nUGTD8fr7JF9CO7UlFBTFqs+PeaTJV\nEbnrF26NimsAmRgRPNLE170CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAe5hAkrhz\nClXg4HPq6U3ONEUVUqQ231gogeUIIQsfn4K89QIFnsm0DC1lE21qHNcD3iHECmDJ\n9R2tXdA0shbc+hM8OHbEW6U31dLrM369PUQmw0GOkFWlYHnX4ySt+zMAjlIrQe7C\nLErYSuLDpjuKvkdpvbcwgkarB9/FPCOhORpAZqduhwUOr28tZzT3/8L7w//+7Yhy\n5ihKgTcP/CmJ+MgLlZqBtQ7lkmKDWXIUlLSRDHEciVGSXgZBreUciNFeMHVvoluc\ndxdsxqMcXgyXwmv7Ck7tCjYRwzwlf3TrcKt8QFijWTbl1Z/3d0/zpjuvR21J0z/3\ns4tNMtQdG6/bHA==\n-----END CERTIFICATE-----" }], "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" }'
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}
{ "acceptedTos": true, "assignmentEnabled": true, "awsAccessKey": "<access>", "awsSecretKey": "<secret>", "customCertificates" : [{ "filename" : "CA.pem", "certString" : "-----BEGIN CERTIFICATE-----\nMIIDljCCAn4CCQDJjCHAkAafFTANBgkqhkiG9w0BAQsFADCBjDELMAkGA1UEBhMC\nVVMxCzAJBgNVBAgMAk5ZMQwwCgYDVQQHDANOWUMxEDAOBgNVBAoMB01vbmdvREIx\nDDAKBgNVBAsMA1NXRTEZMBcGA1UEAwwQZXJpbm1jbnVsdHkudGVjaDEnMCUGCSqG\nSIb3DQEJARYYZXJpbi5tY251bHR5QG1vbmdvZGIuY29tMB4XDTIxMDYxMTE1MzY0\nMVoXDTIxMDcxMTE1MzY0MVowgYwxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJOWTEM\nMAoGA1UEBwwDTllDMRAwDgYDVQQKDAdNb25nb0RCMQwwCgYDVQQLDANTV0UxGTAX\nBgNVBAMMEGVyaW5tY251bHR5LnRlY2gxJzAlBgkqhkiG9w0BCQEWGGVyaW4ubWNu\ndWx0eUBtb25nb2RiLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nAOoAv1btxcEgDOdCgyz+/NtyFwa0h/3yGtj+WK7nMzcEntnxG5apHVRZ6eQ4ayZU\nhZNPbNWtcsbTEiRWyywMAd7/DbIa9GhsP1/P6Cv+TnO2krx8qVKQN93j8cme/b6g\n+yeEWMAM2rvfXq/fRTtJbH1Y6c4mYh4312mPrlEfgvAUQZh3DpJQNIVZ5MM2imp0\nfBgcggrNHUniLCT8ogUA4QII8CKIC4ONX4TNtXbsNtcCzKNqvOdcvWXLTYEJav34\nlaJs1YWJx2PSufgHo+JZUeANwwpztkYhr3nUGTD8fr7JF9CO7UlFBTFqs+PeaTJV\nEbnrF26NimsAmRgRPNLE170CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAe5hAkrhz\nClXg4HPq6U3ONEUVUqQ231gogeUIIQsfn4K89QIFnsm0DC1lE21qHNcD3iHECmDJ\n9R2tXdA0shbc+hM8OHbEW6U31dLrM369PUQmw0GOkFWlYHnX4ySt+zMAjlIrQe7C\nLErYSuLDpjuKvkdpvbcwgkarB9/FPCOhORpAZqduhwUOr28tZzT3/8L7w//+7Yhy\n5ihKgTcP/CmJ+MgLlZqBtQ7lkmKDWXIUlLSRDHEciVGSXgZBreUciNFeMHVvoluc\ndxdsxqMcXgyXwmv7Ck7tCjYRwzwlf3TrcKt8QFijWTbl1Z/3d0/zpjuvR21J0z/3\ns4tNMtQdG6/bHA==\n-----END CERTIFICATE-----" }], "encryptedCredentials": false, "id": "{S3-BLOCKSTORE-CONFIG-ID}", "links": [ { "href": "https://<OpsManagerHost>:<Port>/api/public/v1.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"}