创建一个 Cost Explorer 查询流程
在 Cost Explorer 中为给定参数创建查询流程。返回一个令牌,可用于轮询查询的状态并最终检索结果。
路径参数
-
唯一的 24-十六进制数字字符串,用于标识包含项目的组织。 使用 /orgs 端点检索身份验证的用户有权访问权限的所有组织。
格式应符合以下模式:
^([a-f0-9]{24})$
。
查询参数
-
指示应用程序是否将响应包装在
envelope
JSON 对象中的标志。某些 API 客户端无法访问 HTTP 响应标头或状态代码。要修复此问题,请在查询中设置 Envelope=true。返回结果列表的端点将结果对象用作 envelope。应用程序将状态参数添加到响应正文中。默认值为
false
。
body
必需
筛选 Cost Explorer 查询的参数。
-
要包含在 Cost Explorer 查询中的集群列表。
每个的格式应符合以下模式:
^([a-f0-9]{24})$
。 -
Cost Explorer 查询的结束日期(不含当日)。该日期必须是一个月的开始。
-
用于对返回的使用结果进行分组的维度。需要为要使用的维度提供至少一个过滤器值。
取值为
organizations
、projects
、clusters
或services
。 -
用于控制响应中是否包含与筛选条件匹配但不具有所有筛选条件值的用法的标志。默认为 false,即排除部分匹配的数据。
-
要包含在 Cost Explorer 查询中的组织列表。
每个的格式应符合以下模式:
^([a-f0-9]{24})$
。 -
Cost Explorer 查询中包含的组织列表。
每个的格式应符合以下模式:
^([a-f0-9]{24})$
。 -
要包含在 Cost Explorer 查询中的 SKU 服务列表。
值为
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
或Credits
。 -
Cost Explorer 查询的开始日期(该日期包含在内)。该日期必须是月初。
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"
}