Agregar una asignación de zona personalizada a un clúster global

PUBLICAR /api/atlas/v2/grupos/{ID de grupo}/clústeres/{nombre del clúster}/globalWrites/customZoneMapping

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. Versiones obsoletas: v2-{2023-02-01}, v2-{2023-01-01}

Clústeres globales

Parámetros de ruta

  • ID de grupo string Requerido

    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})$.

  • nombre del clúster string Requerido

    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

  • envolvente booleano

    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.

  • bonita booleano

    Bandera que indica si el cuerpo de la respuesta debe estar en formato prettyprint.

    El valor predeterminado es false.

    Impresión bonita
application/vnd.atlas.2024-08-05+json

Cuerpo Requerido

Mapeo de zona personalizado para agregar al clúster global especificado.

  • customZoneMappings matriz[objeto]

    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.

    Ocultar atributos de customZoneMappings Mostrar atributos de customZoneMappings Objeto
    • ubicación string Requerido

      Código que representa una ubicación asignada a una zona de su clúster global. MongoDB Cloud representa esta ubicación con códigos ISO de ubicación y subdivisión 3166-2 cuando es posible.

    • zona string Requerido

      Etiqueta legible que identifica la zona en tu clúster global. Esta zona se asigna a un código de ubicación.

Respuestas

  • 200 application/vnd.atlas.2024-08-05+json

    Vale

    Ocultar atributos de respuesta Mostrar los atributos de respuesta Objeto
    • Mapeo de zonas personalizado Objeto

      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 es posible, a una cadena hexadecimal 24única que identifica la zona personalizada.

      La cadena hexadecimal 24corresponde a una propiedad Replication Specifications zoneId.

      Este parámetro devuelve un objeto vacío si no existen zonas personalizadas.

      Ejemplo: {"US-VA": "6716c5a804f4ce77e899bf99", "DE": "6716c5a804f4ce77e899bf9a"}.

      Ocultar el atributo customZoneMapping Mostrar el atributo customZoneMapping Objeto
      • * string Propiedades adicionales

        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 es posible, a una cadena hexadecimal 24única que identifica la zona personalizada.

        La cadena hexadecimal 24corresponde a una propiedad Replication Specifications zoneId.

        Este parámetro devuelve un objeto vacío si no existen zonas personalizadas.

        Ejemplo: {"US-VA": "6716c5a804f4ce77e899bf99", "DE": "6716c5a804f4ce77e899bf9a"}.

        El formato debe coincidir con el siguiente patrón: ^([a-f0-9]{24})$.

    • espacios de nombres administrados matriz[objeto]

      Lista que contiene un namespace para un clúster global. MongoDB nube gestiona este clúster.

      Ocultar atributos de managedNamespaces Mostrar atributos de managedNamespaces Objeto
      • Colección string Requerido

        Etiqueta legible por humanos de la colección que se gestionará para este Clúster Global.

      • clave de fragmento personalizada string Requerido

        Parámetro de base de datos utilizado para dividir la colección en fragmentos. Los clústeres globales requieren una clave de fragmento compuesta. Esta clave de fragmento compuesta combina el parámetro de ubicación y la clave personalizada seleccionada por el usuario.

      • db string Requerido

        Etiqueta legible por humanos de la base de datos que se administrará para este clúster global.

      • esCustomShardKeyHashed booleano

        Marca que indica si se ha generado un hash de la clave de fragmento personalizada para la colección especificada. Si se establece este valor en false, MongoDB Cloud utiliza fragmentación por rango.

        El valor predeterminado es false.

        Claves de fragmentos con hash
      • esShardKeyUnique booleano

        Indicador que indica si se ha generado un hash de la clave de fragmento personalizada. Si este parámetro false devuelve, este clúster utiliza fragmentación por rango.

        El valor predeterminado es false.

      • numInitialChunks integer(int64)

        Número mínimo de fragmentos a crear inicialmente al fragmentar una colección vacía con una clave de fragmento con hash.

        El valor máximo es 8192.

        Fragmentación global de clústeres
      • presplitHashedZones booleano

        Indicador que indica si MongoDB Cloud debe crear y distribuir fragmentos iniciales para una colección vacía o inexistente. MongoDB Cloud distribuye los datos según las zonas y los rangos de zonas definidos para la colección.

        El valor predeterminado es false.

        Clave de fragmento en hash
    • Fragmentación autogestionada booleano

      Valor booleano que controla el modo de gestión bajo el que opera el clúster global. Si este parámetro es verdadero, la fragmentación autogestionada está habilitada y los usuarios controlan la fragmentación de zonas dentro del clúster global. Si este parámetro es falso, la fragmentación gestionada por Atlas está habilitada y Atlas controla la fragmentación de zonas dentro del clúster global.

  • 400 aplicación/json

    Solicitud incorrecta.

    Ocultar atributos de respuesta Mostrar los atributos de respuesta Objeto
    • badRequestDetail Objeto

      Detalle de solicitud incorrecto.

      Ocultar el atributo badRequestDetail Mostrar el atributo badRequestDetail Objeto
      • campos matriz[objeto]

        Describe todas las violaciones en una solicitud de cliente.

        Ocultar atributos de campos Mostrar atributos de campos Objeto
        • Descripción string Requerido

          Una descripción de por qué el elemento de solicitud es incorrecto.

        • Campo string Requerido

          Una ruta que conduce a un campo en el cuerpo de la solicitud.

    • detalle string

      Describe las condiciones o razones específicas que causan cada tipo de error.

    • Error integer(int32) Requerido

      Código de estado HTTP devuelto con este error.

      Documentación externa
    • errorCode string Requerido

      Código de error de aplicación devuelto con este error.

    • Parámetros matriz[objeto]

      Parámetros utilizados para dar más información sobre el error.

    • razón string

      Se devolvió un mensaje de error de aplicación con este error.

  • 401 aplicación/json

    No autorizado.

    Ocultar atributos de respuesta Mostrar los atributos de respuesta Objeto
    • badRequestDetail Objeto

      Detalle de solicitud incorrecto.

      Ocultar el atributo badRequestDetail Mostrar el atributo badRequestDetail Objeto
      • campos matriz[objeto]

        Describe todas las violaciones en una solicitud de cliente.

        Ocultar atributos de campos Mostrar atributos de campos Objeto
        • Descripción string Requerido

          Una descripción de por qué el elemento de solicitud es incorrecto.

        • Campo string Requerido

          Una ruta que conduce a un campo en el cuerpo de la solicitud.

    • detalle string

      Describe las condiciones o razones específicas que causan cada tipo de error.

    • Error integer(int32) Requerido

      Código de estado HTTP devuelto con este error.

      Documentación externa
    • errorCode string Requerido

      Código de error de aplicación devuelto con este error.

    • Parámetros matriz[objeto]

      Parámetros utilizados para dar más información sobre el error.

    • razón string

      Se devolvió un mensaje de error de aplicación con este error.

  • 403 aplicación/json

    Forbidden.

    Ocultar atributos de respuesta Mostrar los atributos de respuesta Objeto
    • badRequestDetail Objeto

      Detalle de solicitud incorrecto.

      Ocultar el atributo badRequestDetail Mostrar el atributo badRequestDetail Objeto
      • campos matriz[objeto]

        Describe todas las violaciones en una solicitud de cliente.

        Ocultar atributos de campos Mostrar atributos de campos Objeto
        • Descripción string Requerido

          Una descripción de por qué el elemento de solicitud es incorrecto.

        • Campo string Requerido

          Una ruta que conduce a un campo en el cuerpo de la solicitud.

    • detalle string

      Describe las condiciones o razones específicas que causan cada tipo de error.

    • Error integer(int32) Requerido

      Código de estado HTTP devuelto con este error.

      Documentación externa
    • errorCode string Requerido

      Código de error de aplicación devuelto con este error.

    • Parámetros matriz[objeto]

      Parámetros utilizados para dar más información sobre el error.

    • razón string

      Se devolvió un mensaje de error de aplicación con este error.

  • 404 aplicación/json

    No se encontró.

    Ocultar atributos de respuesta Mostrar los atributos de respuesta Objeto
    • badRequestDetail Objeto

      Detalle de solicitud incorrecto.

      Ocultar el atributo badRequestDetail Mostrar el atributo badRequestDetail Objeto
      • campos matriz[objeto]

        Describe todas las violaciones en una solicitud de cliente.

        Ocultar atributos de campos Mostrar atributos de campos Objeto
        • Descripción string Requerido

          Una descripción de por qué el elemento de solicitud es incorrecto.

        • Campo string Requerido

          Una ruta que conduce a un campo en el cuerpo de la solicitud.

    • detalle string

      Describe las condiciones o razones específicas que causan cada tipo de error.

    • Error integer(int32) Requerido

      Código de estado HTTP devuelto con este error.

      Documentación externa
    • errorCode string Requerido

      Código de error de aplicación devuelto con este error.

    • Parámetros matriz[objeto]

      Parámetros utilizados para dar más información sobre el error.

    • razón string

      Se devolvió un mensaje de error de aplicación con este error.

  • 500 aplicación/json

    Error Interno del Servidor.

    Ocultar atributos de respuesta Mostrar los atributos de respuesta Objeto
    • badRequestDetail Objeto

      Detalle de solicitud incorrecto.

      Ocultar el atributo badRequestDetail Mostrar el atributo badRequestDetail Objeto
      • campos matriz[objeto]

        Describe todas las violaciones en una solicitud de cliente.

        Ocultar atributos de campos Mostrar atributos de campos Objeto
        • Descripción string Requerido

          Una descripción de por qué el elemento de solicitud es incorrecto.

        • Campo string Requerido

          Una ruta que conduce a un campo en el cuerpo de la solicitud.

    • detalle string

      Describe las condiciones o razones específicas que causan cada tipo de error.

    • Error integer(int32) Requerido

      Código de estado HTTP devuelto con este error.

      Documentación externa
    • errorCode string Requerido

      Código de error de aplicación devuelto con este error.

    • Parámetros matriz[objeto]

      Parámetros utilizados para dar más información sobre el error.

    • razón string

      Se devolvió un mensaje de error de aplicación con este error.

POST /api/atlas/v2/grupos/{ID de grupo}/clústeres/{nombre del clúster}/globalWrites/customZoneMapping
atlas api globalClusters createCustomZoneMapping --help
import (
	"os"
	"context"
	"log"
	sdk "go.mongodb.org/atlas-sdk/v20240805001/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.2024-08-05+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.2024-08-05+json" \
  --header "Content-Type: application/json" \
  -X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/globalWrites/customZoneMapping" \
  -d '{ <Payload> }'
Solicitar ejemplos
{
  "customZoneMappings": [
    {
      "location": "string",
      "zone": "string"
    }
  ]
}
Ejemplos de respuestas (200)
200 Ejemplo
{
  "customZoneMapping": {
    "DE": "32b6e34b3d91647abb20e7b8",
    "US-VA": "32b6e34b3d91647abb20e7b8"
  },
  "managedNamespaces": [
    {
      "db": "DatabaseExample",
      "collection": "collectionNameExample",
      "customShardKey": "myShardKey",
      "isShardKeyUnique": false,
      "numInitialChunks": 42,
      "presplitHashedZones": false,
      "isCustomShardKeyHashed": false
    }
  ],
  "selfManagedSharding": true
}
Ejemplos de respuestas (400)
{
  "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"
}
Ejemplos de respuestas (401)
{
  "error": 401,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Unauthorized",
  "errorCode": "NOT_ORG_GROUP_CREATOR"
}
Ejemplos de respuestas (403)
{
  "error": 403,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Forbidden",
  "errorCode": "CANNOT_CHANGE_GROUP_NAME"
}
Ejemplos de respuestas (404)
{
  "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"
}
Ejemplos de respuestas (500)
{
  "error": 500,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Internal Server Error",
  "errorCode": "UNEXPECTED_ERROR"
}