Criar um Online Archive
Cria um arquivo online. Esse arquivo armazena dados de um cluster dentro de um projeto. Para usar este recurso, a conta de serviço ou chave de API solicitante deve ter a função de administrador de acesso aos dados do projeto.
parâmetros de caminho
-
Sequência única de 24dígitos hexadecimais que identifica seu projeto. Use o endpoint /groups para extrair todos os projetos aos quais o usuário autenticado tem acesso.
AVISO: grupos e projetos são termos sinônimos. O ID do seu grupo é igual ao ID do seu projeto. Para grupos existentes, o ID do grupo/projeto permanece o mesmo. O recurso e os endpoints correspondentes usam o termo grupos.
O formato deve corresponder ao seguinte padrão:
^([a-f0-9]{24})$
. -
Etiqueta legível para humanos que identifica o cluster que contém a collection para a qual você deseja criar um arquivo online.
O formato deve corresponder ao seguinte padrão:
^[a-zA-Z0-9][a-zA-Z0-9-]*$
.
parâmetros de query
-
Sinalizador que indica se o aplicativo empacota a resposta em um objeto JSON
envelope
. Alguns clientes de API não podem acessar os cabeçalhos de resposta HTTP ou o código de status. Para corrigir isso, defina envelope=true na consulta. Os endpoints que retornam uma lista de resultados usam o objeto de resultados como um envelope. O aplicativo adiciona o parâmetro de status ao corpo da resposta.O valor padrão é
false
. -
Sinalizador que indica se o corpo da resposta deve estar no formato prettyprint.
O valor padrão é
false
.Prettyprint
corpo, corpo
Obrigatório
Cria um arquivo on-line.
-
Etiqueta legível para humanos que identifica a collection para a qual você criou o arquivo online.
-
Classificação da collection de banco de dados MongoDB que você deseja retornar.
Se você configurar este parâmetro para
TIMESERIES
, configure"criteria.type" : "date"
e"criteria.dateFormat" : "ISODATE"
.Os valores são
TIMESERIES
ouSTANDARD
. O valor padrão éSTANDARD
. -
Regra para especificar quando os dados devem ser excluídos do arquivo.
-
Etiqueta legível por humanos do banco de dados que contém a collection que contém o arquivo online.
-
Lista que contém parâmetros de documento a serem usados para dividir de forma lógica os dados em uma coleção. As partições fornecem um nível aproximado de filtragem dos dados de coleta subjacentes. Para dividir seus dados, especifique os parâmetros que você consulta com frequência. Se você especificou ":criteria.type": "DATE" no endpoint CREATE ONE ONLINE ARCHIVE, então pode especificar até três parâmetros para a consulta. Um desses parâmetros deve ser o valor DATE, que é necessário nesse caso. Se você especificou ":criteria.type": "CUSTOM" no endpoint CREATE ONE ONLINE ARCHIVE, poderá especificar até dois parâmetros para a consulta. Consultas que não usam parâmetros ":criteria.type": "DATA" ou ":criteria.type": "CUSTOM" fazem o MongoDB examinar uma coleção completa de todos os documentos arquivados. Isso leva mais tempo e aumenta seus custos.
Metadados para dividir este arquivo online.
Pelo menos
1
elemento. -
Sinalizador que indica se este arquivo online existe no estado de pausa. Uma solicitação para retomar falha se a collection tiver outro arquivo online ativo. Para pausar um arquivo online ativo ou retomar um arquivo online pausado, você deve incluir este parâmetro. Para pausar um arquivo ativo, defina para verdadeiro. Para retomar um arquivo em pausa, defina como falso.
atlas api onlineArchive createGroupClusterOnlineArchive --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20241023001/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-10-23+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-10-23+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"
}