Crea un archivo en línea. Este archivo almacena datos de un clúster dentro de un proyecto. Para usar este recurso, la cuenta de servicio o la clave API solicitante debe tener el rol de administrador de acceso a datos 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 el clúster que contiene la colección para la que desea crear un archivo en línea.
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
Crea un archivo en línea.
-
Etiqueta legible por humanos que identifica la colección para la que creó el archivo en línea.
-
Clasificación de la colección de bases de datos MongoDB que desea devolver.
Si establece este parámetro en
TIMESERIES, establezca"criteria.type" : "date"y"criteria.dateFormat" : "ISODATE".Los valores son
TIMESERIESoSTANDARD. El valor predeterminado esSTANDARD. -
Regla para especificar cuándo se deben eliminar los datos del archivo.
-
Etiqueta legible por humanos de la base de datos que contiene la colección que contiene el archivo en línea.
La longitud máxima es
64. -
Lista que contiene los parámetros del documento para dividir lógicamente los datos dentro de una colección. Las particiones proporcionan un nivel de filtrado general de los datos subyacentes de la colección. Para dividir los datos, especifique los parámetros que consulta con frecuencia. Si especificó
criteria.type:DATEen el punto de conexión "Crear un Archivo Online", puede especificar hasta tres parámetros para la consulta. Uno de estos parámetros debe ser el valorDATE, que es obligatorio en este caso. Si especificócriteria.type:CUSTOMen el punto de conexión "Crear un Archivo Online", puede especificar hasta dos parámetros para la consulta. Las consultas que no utilizan los parámetroscriteria.type:DATEocriteria.type:CUSTOMhacen que MongoDB escanee una colección completa de todos los documentos archivados. Esto requiere más tiempo y aumenta los costos.Metadatos para particionar este archivo en línea.
Al menos
1elemento. -
Indicador que indica si este archivo en línea está en pausa. La solicitud de reanudación falla si la colección tiene otro archivo en línea activo. Para pausar un archivo en línea activo o reanudar uno pausado, debe incluir este parámetro. Para pausar un archivo activo, establézcalo en "true". Para reanudar un archivo pausado, establézcalo en "false".
atlas api onlineArchive createOnlineArchive --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20240530001/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.CreateGroupClusterOnlineArchiveApiParams{}
sdkResp, httpResp, err := client.OnlineArchiveApi.
CreateGroupClusterOnlineArchiveWithParams(ctx, params).
Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Accept: application/vnd.atlas.2024-05-30+json" \
--header "Content-Type: application/json" \
-X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/onlineArchives" \
-d '{ <Payload> }'
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
--digest --include \
--header "Accept: application/vnd.atlas.2024-05-30+json" \
--header "Content-Type: application/json" \
-X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/onlineArchives" \
-d '{ <Payload> }'
{
"collName": "string",
"collectionType": "STANDARD",
"criteria": {
"type": "CUSTOM",
"query": "string"
},
"dataExpirationRule": {
"expireAfterDays": 42
},
"dataProcessRegion": {
"cloudProvider": "AWS",
"region": "US_EAST_1"
},
"dbName": "string",
"partitionFields": [
{
"fieldName": "string",
"order": 0
}
],
"paused": true,
"schedule": {
"type": "DEFAULT"
}
}
{
"_id": "32b6e34b3d91647abb20e7b8",
"clusterName": "string",
"collName": "string",
"collectionType": "STANDARD",
"criteria": {
"type": "CUSTOM",
"query": "string"
},
"dataExpirationRule": {
"expireAfterDays": 42
},
"dataProcessRegion": {
"cloudProvider": "AWS",
"region": "US_EAST_1"
},
"dataSetName": "string",
"dbName": "string",
"groupId": "32b6e34b3d91647abb20e7b8",
"partitionFields": [
{
"fieldName": "string",
"fieldType": "date",
"order": 0
}
],
"paused": true,
"schedule": {
"type": "DEFAULT"
},
"state": "PENDING"
}
{
"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"
}