Criar um processo de query do Cost Explorer
Cria um processo de query dentro do Visualizador de custos para os parâmetros fornecidos. É retornado um token que pode ser usado para pesquisar o status da query e, eventualmente, recuperar os resultados.
parâmetros de caminho
-
24String exclusiva de dígitos hexadecimais que identifica a organização que contém seus projetos. Use o endpoint /orgs para recuperar todas as organizações às quais o usuário autenticado tem acesso.
O formato deve corresponder ao seguinte padrão:
^([a-f0-9]{24})$
.
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
.
corpo, corpo
Obrigatório
Filtrar parâmetros para a consulta do Cost Explorer.
-
A lista de clusters a serem incluídos na consulta do Cost Explorer.
O formato de cada um deve corresponder ao seguinte padrão:
^([a-f0-9]{24})$
. -
A data final exclusiva para a query do Cost Explorer. A data deve ser o início de um mês.
-
A dimensão pela qual agrupar os resultados de uso retornados. Pelo menos um valor de filtro precisa ser fornecido para que uma dimensão seja usada.
Os valores são
organizations
,projects
,clusters
ouservices
. -
Sinalizador para controlar se o uso que corresponde aos critérios de filtro, mas que não tem valores para todos os critérios de filtro, é incluído na resposta. O padrão é falso, o que exclui os dados parcialmente correspondentes.
-
A lista de organizações a serem incluídas na consulta do Cost Explorer.
O formato de cada um deve corresponder ao seguinte padrão:
^([a-f0-9]{24})$
. -
A lista de projetos a serem incluídos na query do Cost Explorer.
O formato de cada um deve corresponder ao seguinte padrão:
^([a-f0-9]{24})$
. -
A lista de projetos a serem incluídos na query do Cost Explorer.
Os valores são
Atlas
,Clusters
,Storage
,Serverless Instances
,Backup
,Data Transfer
,BI Connector
,Premium Features
,Atlas Data Federation
,Atlas Stream Processing
,App Services
,Charts
,Cloud Manager
,Cloud Manager Standard/Premium
,Legacy Backup
,Flex Consulting
,Support
ouCredits
. -
A data de início inclusiva da query do Visualizador de custos. A data deve ser o início de um mês.
atlas api invoices createOrgBillingCostExplorerUsageProcess --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20250312001/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.CreateOrgBillingCostExplorerUsageProcessApiParams{}
sdkResp, httpResp, err := client.InvoicesApi.
CreateOrgBillingCostExplorerUsageProcessWithParams(ctx, params).
Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Accept: application/vnd.atlas.2025-03-12+json" \
--header "Content-Type: application/json" \
-X POST "https://cloud.mongodb.com/api/atlas/v2/orgs/{orgId}/billing/costExplorer/usage" \
-d '{ <Payload> }'
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
--digest --include \
--header "Accept: application/vnd.atlas.2025-03-12+json" \
--header "Content-Type: application/json" \
-X POST "https://cloud.mongodb.com/api/atlas/v2/orgs/{orgId}/billing/costExplorer/usage" \
-d '{ <Payload> }'
{
"clusters": [
"32b6e34b3d91647abb20e7b8"
],
"endDate": "2025-05-04",
"groupBy": "organizations",
"includePartialMatches": true,
"organizations": [
"32b6e34b3d91647abb20e7b8"
],
"projects": [
"32b6e34b3d91647abb20e7b8"
],
"services": [
"Atlas"
],
"startDate": "2025-05-04"
}
{
"token": "d9ab638a801efe182f98ae3e18ea4bb47b9fda808a28a8c7de205bb0e94f7d71"
}
{
"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"
}