Create One Managed Namespace in One Global Cluster
Deprecated
Creates one managed namespace within the specified global cluster. A managed namespace identifies a collection using the database name, the dot separator, and the collection name. To use this resource, the requesting API Key must have the Project Data Access Admin role.
Path parameters
-
Unique 24-hexadecimal digit string that identifies your project. Use the /groups endpoint to retrieve all projects to which the authenticated user has access.
NOTE: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups.
Minimum length is
24
, maximum length is24
. Format should match the following pattern:^([a-f0-9]{24})$
. -
Human-readable label that identifies this cluster.
Minimum length is
1
, maximum length is64
. Format should match the following pattern:^[a-zA-Z0-9][a-zA-Z0-9-]*$
.
Query parameters
-
Flag that indicates whether Application wraps the response in an
envelope
JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body.Default value is
false
. -
Flag that indicates whether the response body should be in the prettyprint format.
Default value is
false
.
Body
Required
Managed namespace to create within the specified global cluster.
-
Human-readable label of the collection to manage for this Global Cluster.
-
Human-readable label of the database to manage for this Global Cluster.
-
Flag that indicates whether someone hashed the custom shard key for the specified collection. If you set this value to
false
, MongoDB Cloud uses ranged sharding.Default value is
false
.Hashed Shard Keys -
Flag that indicates whether someone hashed the custom shard key. If this parameter returns
false
, this cluster uses ranged sharding.Default value is
false
. -
Minimum number of chunks to create initially when sharding an empty collection with a hashed shard key.
Maximum value is
8192
.Global Cluster Sharding -
Flag that indicates whether MongoDB Cloud should create and distribute initial chunks for an empty or non-existing collection. MongoDB Cloud distributes data based on the defined zones and zone ranges for the collection.
Default value is
false
.Hashed Shard Key
atlas api globalClusters createManagedNamespace --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.CreateManagedNamespaceApiParams{}
sdkResp, httpResp, err := client.GlobalClustersApi.
CreateManagedNamespaceWithParams(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 POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/globalWrites/managedNamespaces" \
-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 POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/globalWrites/managedNamespaces" \
-d '{ <Payload> }'
{
"collection": "string",
"db": "string",
"isCustomShardKeyHashed": false,
"isShardKeyUnique": false,
"numInitialChunks": 42,
"presplitHashedZones": false
}
{
"customZoneMapping": {
"additionalProperty1": "string",
"additionalProperty2": "string"
},
"managedNamespaces": [
{
"collection": "string",
"customShardKey": "string",
"db": "string"
}
],
"selfManagedSharding": true
}
{
"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": 405,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Method Not Allowed",
"errorCode": "ATLAS_BACKUP_CANCEL_SHARD_RESTORE_JOB_NOT_ALLOWED"
}
{
"error": 500,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Internal Server Error",
"errorCode": "UNEXPECTED_ERROR"
}