更新一个项目中的一个集群
已弃用
更新指定项目中一个集群的详细信息。集群包含一组维护相同数据集的主机。此资源可以更新具有不对称大小分片的集群。要更新集群的终止保护,请求的服务账户或 API 密钥必须具有项目所有者角色。对于所有其他更新,请求的服务帐户或 API 密钥必须具有“项目集群管理员”角色。您无法修改已暂停的集群(paused : true
)。您必须调用此终结点来设置 paused : false
。在此终结点使用 paused : false
响应后,您可以再次调用它以对集群进行更改。此功能不适用于无服务器集群。
路径参数
-
用于标识项目的唯一 24-十六进制数字字符串。 使用 /groups 端点检索身份验证的用户有权访问权限的所有项目。
注意:群组和项目是同义词。您的群组 ID 与项目 ID 相同。对于现有群组,群组/项目 ID 保持不变。资源和相应的端点使用“群组”一词。
格式应符合以下模式:
^([a-f0-9]{24})$
。 -
用于标识集群的人类可读标签。
格式应符合以下模式:
^[a-zA-Z0-9][a-zA-Z0-9-]*$
。
查询参数
-
指示应用程序是否将响应包装在
envelope
JSON 对象中的标志。某些 API 客户端无法访问 HTTP 响应标头或状态代码。要修复此问题,请在查询中设置 Envelope=true。返回结果列表的端点将结果对象用作 envelope。应用程序将状态参数添加到响应正文中。默认值为
false
。 -
指示响应正文是否应采用 prettyprint 格式的标记。
默认值为
false
。Prettyprint
body
必需
指定项目中要更新的集群。
-
如果由于区域停电而需要重新配置以重新获得主节点,请与拓扑结构重新配置一起提交此字段,以请求新的区域抗停电拓扑。如果复制的写入操作(甚至多数提交的写入操作)尚未复制到新的主节点,则在大多数可选举节点中断期间强制重新配置会带来数据丢失的风险。MongoDB Atlas 文档包含更多信息。要继续执行存在该风险的操作,请将 acceptDataRisksAndForceReplicaSetReconfig 设置为当前日期。 此参数以 UTC 格式的 ISO 8601 时间戳表示其值。
在区域中断期间重新配置副本集 -
配置高级配置详细信息子集的设置组。
-
集群可扩展的实例大小范围。
集群自动伸缩 -
指示集群是否可以执行备份的标志。如果设置为
true
,则集群可以执行备份。对于 NVMe 集群,必须将此值设置为true
。备份对专用集群使用云备份,对租户集群使用共享集群备份。如果设置为false
,则集群不使用 MongoDB Cloud 备份。 -
为此集群配置 MongoDB Connector for Business Intelligence 所需的设置。
MongoDB Connector for Business Intelligence -
组成该集群的节点的配置。
值为
REPLICASET
、SHARDED
或GEOSHARDED
。 -
用于创建或更新分片集群的配置服务器管理模式。
配置为 ATLAS_MANAGED 时,atlas 可能会自动切换集群的配置服务器类型,以获得最佳性能并节省成本。
当配置为 FIXED_TO_DEDICATED 时,集群将始终使用专用的配置服务器。
值为
ATLAS_MANAGED
或FIXED_TO_DEDICATED
。默认值为ATLAS_MANAGED
。MongoDB 分片集群配置服务器 -
实例数据卷的存储容量,以 GB 为单位。增加这一数字可提高容量。
此值在 M0/M2/M5 集群上不可配置。
如果设置了 replicationSpecs,则 MongoDB Cloud 需要此参数。
如果指定的磁盘大小低于最小值 (10 GB),则该参数默认为最小磁盘大小值。
存储费用的计算取决于您选择的是默认值还是自定义值。
磁盘存储的最大值不能超过所选集群最大 RAM 的 50 倍。如果您需要更多存储空间,请考虑将集群升级到更高层级。
最小值为
10
,最大值为4096
。 -
磁盘预热模式选择
值为
FULLY_WARMED
或VISIBLE_EARLIER
。默认值为FULLY_WARMED
。减少从节点磁盘升温的影响 -
管理客户密钥的云服务提供商,为集群提供额外的静态加密层。要为静态加密启用客户密钥管理,集群的 replicationSpecs[n].regionConfigs[m].{type}Specs.instanceSize 设置必须为
M10
或更高,且"backupEnabled" : false
或完全省略。取值为
NONE
、AWS
、AZURE
或GCP
。使用客户密钥管理进行静态加密 -
设置该字段,用于在创建新的全球集群时配置分片管理模式。
当设置为 false 时,管理模式设置为 Atlas-托管分片。此模式可全面托管全球集群的分片,旨在提供无缝部署体验。
当设置为真时,管理模式设置为自我托管分片。此模式将分片的管理权交给您,旨在提供先进、灵活的部署体验。
一旦集群部署完毕,此设置就无法更改。
创建全球集群 -
长度在 1 到 255 个字符之间的键值对集合,用于标记和分类集群。MongoDB Cloud 控制台不显示您的标签。
集群标签已弃用,并将在未来发布中删除。我们强烈建议您改用资源标签。
应用于此MongoDB Cloud 组件的人类可读标签。
Resource Tags -
MongoDB 员工被授予集群访问权限级别和过期时间。
-
集群的主要 MongoDB 版本。
创建时:从 MongoDB 的可用版本中进行选择,或者在 MongoDB Cloud 平台上,对当前建议的默认值保持不作指定。推荐的版本是最新的长期支持版本。在整个发布周期中,默认值并不保证是最新发布的版本。有关特定项目中可用的版本,请参阅链接的文档或使用项目 LTS 版本终结点的 API 终结点。
更新时:一次只能增加 1 个主要版本的版本。 如果将集群固定到比当前 MongoDB 版本低一个主要版本的 MongoDB 功能兼容版本,则 MongoDB 版本可以降级到上一个主要版本。
Atlas 中可用的 MongoDB 版本 -
集群运行的 MongoDB 版本。
格式应符合以下模式:
([\d]+\.[\d]+\.[\d]+)
。 -
用于标识集群的人类可读标签。
格式应符合以下模式:
^[a-zA-Z0-9][a-zA-Z0-9-]*$
。 -
可为分片集群部署的分片数量最多为 50 个。该资源返回
1
以指示副本集,并返回2
及更高值以指示分片集群。返回值等于集群中分片的数量。最小值为
1
,最大值为50
。默认值为1
。分片 -
指示集群是否已暂停的标志。
-
指示集群是否使用连续云备份的标志。
持续的云备份 -
指示 M10 或更高集群能否执行“云备份”的标志。如果设置为
true
,则集群可以执行备份。如果此项和 backupEnabled 设置为false
,则集群不使用 MongoDB Cloud 备份。 -
设置此字段以配置集群的副本集扩展模式。
默认情况下,Atlas 在 WORKLOAD_TYPE 下进行扩展。此模式允许 Atlas 将分析节点与操作节点并行扩展。
当配置为 SEQUENTIAL 时, Atlas 会按顺序扩展所有节点。该模式适用于稳态工作负载和执行对延迟敏感的二次读取的应用程序。
当配置为 NODE_TYPE 时,Atlas 会将可选举节点与只读节点和分析节点并行扩展。此模式适用于需要频繁和及时的集群层扩展的大型动态工作负载。这是最快的扩展策略,但在执行大量从节点读取时,它可能会影响工作负载的延迟。
值为
SEQUENTIAL
、WORKLOAD_TYPE
或NODE_TYPE
。默认值为WORKLOAD_TYPE
。修改副本集扩展模式 -
属于副本集的节点数量。每个节点都保留数据库的副本,提供高可用性和数据冗余。请改用 replicationSpecs。
值为
3
、5
或7
。默认值为3
。 -
MongoDB Cloud 配置集群节点的物理位置。
-
用于配置集群区域的设置列表。
- 对于全局集群,数组中的每个对象代表 MongoDB Cloud 部署集群节点的一个区域。
- 对于非全局分片集群和副本集,单个对象表示 MongoDB Cloud 部署集群节点的位置。
-
MongoDB Atlas 群集使用的根证书颁发机构。 MongoDB Cloud 支持 Internet Security Research Group。
值为
ISRGROOTX1
。默认值为ISRGROOTX1
。 -
指示是否在集群上启用终止保护的标记。如果设置为
true
,MongoDB Cloud 将不会删除集群。如果设置为false
,MongoDB Cloud 将删除集群。默认值为
false
。 -
集群维护 MongoDB 版本的方法。如果值为
CONTINUOUS
,则不得指定 mongoDBMajorVersion。值为
LTS
或CONTINUOUS
。默认值为LTS
。
atlas api clusters updateGroupCluster --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20230101001/admin"
)
func main() {
ctx := context.Background()
clientID := os.Getenv("MONGODB_ATLAS_CLIENT_ID")
clientSecret := os.Getenv("MONGODB_ATLAS_CLIENT_SECRET")
// See https://dochub.mongodb.org/core/atlas-go-sdk-oauth
client, err := sdk.NewClient(sdk.UseOAuthAuth(clientID, clientSecret))
if err != nil {
log.Fatalf("Error: %v", err)
}
params = &sdk.UpdateGroupClusterApiParams{}
sdkResp, httpResp, err := client.ClustersApi.
UpdateGroupClusterWithParams(ctx, params).
Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Accept: application/vnd.atlas.2023-01-01+json" \
--header "Content-Type: application/json" \
-X PATCH "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}" \
-d '{ <Payload> }'
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
--digest --include \
--header "Accept: application/vnd.atlas.2023-01-01+json" \
--header "Content-Type: application/json" \
-X PATCH "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}" \
-d '{ <Payload> }'
{
"acceptDataRisksAndForceReplicaSetReconfig": "2025-05-04T09:42:00Z",
"advancedConfiguration": {
"customOpensslCipherConfigTls12": [
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
],
"minimumEnabledTlsProtocol": "TLS1_0",
"tlsCipherConfigMode": "CUSTOM"
},
"autoScaling": {
"compute": {
"enabled": false,
"predictiveEnabled": false,
"scaleDownEnabled": false
},
"diskGBEnabled": false
},
"backupEnabled": true,
"biConnector": {
"enabled": true,
"readPreference": "PRIMARY"
},
"clusterType": "REPLICASET",
"configServerManagementMode": "ATLAS_MANAGED",
"diskSizeGB": 42.0,
"diskWarmingMode": "FULLY_WARMED",
"encryptionAtRestProvider": "NONE",
"globalClusterSelfManagedSharding": true,
"labels": [
{
"key": "string",
"value": "string"
}
],
"mongoDBEmployeeAccessGrant": {
"expirationTime": "2025-05-04T09:42:00Z",
"grantType": "CLUSTER_DATABASE_LOGS"
},
"mongoDBMajorVersion": "5.0",
"mongoDBVersion": "5.0.25",
"name": "string",
"numShards": 1,
"paused": true,
"pitEnabled": true,
"providerBackupEnabled": true,
"providerSettings": {
"providerName": "AWS",
"autoScaling": {
"compute": {
"maxInstanceSize": "M10",
"minInstanceSize": "M10"
}
},
"diskIOPS": 42,
"encryptEBSVolume": true,
"instanceSizeName": "M10",
"regionName": "US_GOV_WEST_1",
"volumeType": "STANDARD"
},
"replicaSetScalingStrategy": "WORKLOAD_TYPE",
"replicationFactor": 3,
"replicationSpec": {
"additionalProperty1": {
"analyticsNodes": 42,
"electableNodes": 0,
"priority": 42,
"readOnlyNodes": 42
},
"additionalProperty2": {
"analyticsNodes": 42,
"electableNodes": 0,
"priority": 42,
"readOnlyNodes": 42
}
},
"replicationSpecs": [
{
"id": "32b6e34b3d91647abb20e7b8",
"numShards": 1,
"regionsConfig": {
"additionalProperty1": {
"analyticsNodes": 42,
"electableNodes": 0,
"priority": 42,
"readOnlyNodes": 42
},
"additionalProperty2": {
"analyticsNodes": 42,
"electableNodes": 0,
"priority": 42,
"readOnlyNodes": 42
}
},
"zoneName": "string"
}
],
"rootCertType": "ISRGROOTX1",
"tags": [
{
"key": "string",
"value": "string"
}
],
"terminationProtectionEnabled": false,
"versionReleaseSystem": "LTS"
}
{
"acceptDataRisksAndForceReplicaSetReconfig": "2025-05-04T09:42:00Z",
"advancedConfiguration": {
"customOpensslCipherConfigTls12": [
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
],
"minimumEnabledTlsProtocol": "TLS1_0",
"tlsCipherConfigMode": "CUSTOM"
},
"autoScaling": {
"compute": {
"enabled": false,
"predictiveEnabled": false,
"scaleDownEnabled": false
},
"diskGBEnabled": false
},
"backupEnabled": true,
"biConnector": {
"enabled": true,
"readPreference": "PRIMARY"
},
"clusterType": "REPLICASET",
"configServerManagementMode": "ATLAS_MANAGED",
"configServerType": "DEDICATED",
"connectionStrings": {
"awsPrivateLink": {
"additionalProperty1": "string",
"additionalProperty2": "string"
},
"awsPrivateLinkSrv": {
"additionalProperty1": "string",
"additionalProperty2": "string"
},
"private": "string",
"privateEndpoint": [
{
"connectionString": "string",
"endpoints": [
{
"endpointId": "string",
"providerName": "AWS",
"region": "string"
}
],
"srvConnectionString": "string",
"srvShardOptimizedConnectionString": "string",
"type": "MONGOD"
}
],
"privateSrv": "string",
"standard": "string",
"standardSrv": "string"
},
"createDate": "2025-05-04T09:42:00Z",
"diskSizeGB": 42.0,
"diskWarmingMode": "FULLY_WARMED",
"encryptionAtRestProvider": "NONE",
"featureCompatibilityVersion": "string",
"featureCompatibilityVersionExpirationDate": "2025-05-04T09:42:00Z",
"globalClusterSelfManagedSharding": true,
"groupId": "32b6e34b3d91647abb20e7b8",
"id": "32b6e34b3d91647abb20e7b8",
"labels": [
{
"key": "string",
"value": "string"
}
],
"links": [
{
"href": "https://cloud.mongodb.com/api/atlas",
"rel": "self"
}
],
"mongoDBEmployeeAccessGrant": {
"expirationTime": "2025-05-04T09:42:00Z",
"grantType": "CLUSTER_DATABASE_LOGS",
"links": [
{
"href": "https://cloud.mongodb.com/api/atlas",
"rel": "self"
}
]
},
"mongoDBMajorVersion": "5.0",
"mongoDBVersion": "5.0.25",
"mongoURI": "string",
"mongoURIUpdated": "2025-05-04T09:42:00Z",
"mongoURIWithOptions": "string",
"name": "string",
"numShards": 1,
"paused": true,
"pitEnabled": true,
"providerBackupEnabled": true,
"providerSettings": {
"providerName": "AWS",
"autoScaling": {
"compute": {
"maxInstanceSize": "M10",
"minInstanceSize": "M10"
}
},
"diskIOPS": 42,
"encryptEBSVolume": true,
"instanceSizeName": "M10",
"regionName": "US_GOV_WEST_1",
"volumeType": "STANDARD"
},
"replicaSetScalingStrategy": "WORKLOAD_TYPE",
"replicationFactor": 3,
"replicationSpec": {
"additionalProperty1": {
"analyticsNodes": 42,
"electableNodes": 0,
"priority": 42,
"readOnlyNodes": 42
},
"additionalProperty2": {
"analyticsNodes": 42,
"electableNodes": 0,
"priority": 42,
"readOnlyNodes": 42
}
},
"replicationSpecs": [
{
"id": "32b6e34b3d91647abb20e7b8",
"numShards": 1,
"regionsConfig": {
"additionalProperty1": {
"analyticsNodes": 42,
"electableNodes": 0,
"priority": 42,
"readOnlyNodes": 42
},
"additionalProperty2": {
"analyticsNodes": 42,
"electableNodes": 0,
"priority": 42,
"readOnlyNodes": 42
}
},
"zoneName": "string"
}
],
"rootCertType": "ISRGROOTX1",
"srvAddress": "string",
"stateName": "IDLE",
"tags": [
{
"key": "string",
"value": "string"
}
],
"terminationProtectionEnabled": false,
"versionReleaseSystem": "LTS"
}
{
"error": 400,
"detail": "(This is just an example, the exception may not be related to this endpoint) No provider AWS exists.",
"reason": "Bad Request",
"errorCode": "VALIDATION_ERROR"
}
{
"error": 401,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Unauthorized",
"errorCode": "NOT_ORG_GROUP_CREATOR"
}
{
"error": 403,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Forbidden",
"errorCode": "CANNOT_CHANGE_GROUP_NAME"
}
{
"error": 404,
"detail": "(This is just an example, the exception may not be related to this endpoint) Cannot find resource AWS",
"reason": "Not Found",
"errorCode": "RESOURCE_NOT_FOUND"
}
{
"error": 409,
"detail": "(This is just an example, the exception may not be related to this endpoint) Cannot delete organization link while there is active migration in following project ids: 60c4fd418ebe251047c50554",
"reason": "Conflict",
"errorCode": "CANNOT_DELETE_ORG_ACTIVE_LIVE_MIGRATION_ATLAS_ORG_LINK"
}
{
"error": 500,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Internal Server Error",
"errorCode": "UNEXPECTED_ERROR"
}