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
-
String exclusiva de 24dí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,clustersouservices. -
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 serviços SKU a serem incluídos na consulta 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,SupportouCredits. -
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 createCostExplorerProcess --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"
}