Crea una asignación de zona personalizada para el clúster global especificado. Una asignación de zona personalizada asocia un código de ubicación ISO 3166-2 a una zona del clúster global. De forma predeterminada, MongoDB Cloud asigna cada código de ubicación a la zona geográfica más cercana. Para usar este recurso, la cuenta de servicio o la clave API solicitantes deben tener el rol de propietario del proyecto.
Parámetros de ruta
-
Cadena 24hexadecimal única que identifica su proyecto. Utilice el punto de conexión /groups para recuperar todos los proyectos a los que el usuario autenticado tiene acceso.
NOTA: Grupos y proyectos son términos sinónimos. El ID de tu grupo es el mismo que el de tu proyecto. Para los grupos existentes, el ID de tu grupo/proyecto permanece igual. El recurso y los puntos finales correspondientes usan el término "grupos".
El formato debe coincidir con el siguiente patrón:
^([a-f0-9]{24})$. -
Etiqueta legible por humanos que identifica este grupo.
El formato debe coincidir con el siguiente patrón:
^[a-zA-Z0-9][a-zA-Z0-9-]*$.
Parámetros de consulta
-
Indicador que indica si la aplicación encapsula la respuesta en un objeto JSON
envelope. Algunos clientes de la API no pueden acceder a los encabezados de respuesta HTTP ni al código de estado. Para solucionar esto, configure envelope=true en la consulta. Los endpoints que devuelven una lista de resultados utilizan el objeto de resultados como encapsulado. La aplicación añade el parámetro de estado al cuerpo de la respuesta.El valor predeterminado es
false. -
Bandera que indica si el cuerpo de la respuesta debe estar en formato prettyprint.
El valor predeterminado es
false.Impresión bonita
Cuerpo
Requerido
Mapeo de zona personalizado para agregar al clúster global especificado.
-
Lista que contiene pares clave-valor separados por comas para asignar zonas a regiones geográficas. Estos pares asignan un código de ubicación ISO 3166-1a2, con un código de subdivisión ISO 3166-2 cuando sea posible, a la etiqueta legible de la zona personalizada deseada. MongoDB Cloud asigna el código ISO 3166-1a2 a la zona geográfica más cercana de forma predeterminada. Incluya este parámetro para anular las asignaciones predeterminadas.
Este parámetro devuelve un objeto vacío si no existen zonas personalizadas.
Etiqueta legible por humanos que identifica el subconjunto de un clúster global.
atlas api globalClusters createCustomZoneMapping --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.CreateGroupClusterGlobalWriteCustomZoneMappingApiParams{}
sdkResp, httpResp, err := client.GlobalClustersApi.
CreateGroupClusterGlobalWriteCustomZoneMappingWithParams(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/customZoneMapping" \
-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/customZoneMapping" \
-d '{ <Payload> }'
{
"customZoneMappings": [
{
"location": "string",
"zone": "string"
}
]
}
{
"customZoneMapping": {
"additionalProperty1": "32b6e34b3d91647abb20e7b8",
"additionalProperty2": "32b6e34b3d91647abb20e7b8"
},
"managedNamespaces": [
{
"collection": "string",
"customShardKey": "string",
"db": "string",
"isCustomShardKeyHashed": false,
"isShardKeyUnique": false,
"numInitialChunks": 42,
"presplitHashedZones": false
}
],
"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": 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": 500,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Internal Server Error",
"errorCode": "UNEXPECTED_ERROR"
}