Поделиться через


Generate Cost Details Report - Create Operation

Этот API является заменой для всех ранее выпущенных API сведений об использовании. Запрос на создание отчета о затратах для заданного диапазона дат, периода выставления счетов (только корпоративные клиенты) или идентификатора счета в определенном область. Первоначальный вызов запроса отчета вернет 202 с заголовками Location и Retry-After. Заголовок Location предоставляет конечную точку для опроса для получения результата создания отчета. Параметр Retry-After предоставляет время ожидания перед опросом созданного отчета. Вызов для опроса операции отчета предоставит ответ 202 с заголовком Location, если операция еще выполняется. После завершения операции создания отчета конечная точка опроса предоставит ответ 200 с подробными сведениями о BLOB-объектах отчета, доступных для скачивания. Сведения о файлах, доступных для скачивания, будут доступны в тексте ответа на опрос. Сведения о полях сведений о затратах (ранее известных как сведения об использовании) в файлах см. в разделе https://learn.microsoft.com/en-us/azure/cost-management-billing/automate/understand-usage-details-fields

POST https://management.azure.com/{scope}/providers/Microsoft.CostManagement/generateCostDetailsReport?api-version=2023-11-01

Параметры URI

Имя В Обязательно Тип Описание
scope
path True

string

Идентификатор ресурса ARM для подписки, учетной записи выставления счетов или других областей выставления счетов. В настоящее время группы ресурсов и группы управления не поддерживаются. Дополнительные сведения см. в разделе https://aka.ms/costmgmt/scopes.

api-version
query True

string

Версия API, используемая для данной операции.

Текст запроса

Имя Тип Описание
billingPeriod

string

Этот параметр могут использовать только участники Соглашения Enterprise. Используйте формат YearMonth (например, 202008). Этот параметр нельзя использовать вместе с параметрами invoiceId или timePeriod. Если параметр timePeriod, invoiceId или billingPeriod не указан в тексте запроса, API вернет затраты за текущий месяц.

invoiceId

string

Этот параметр могут использовать только участники Клиентского соглашения Microsoft. Кроме того, его можно использовать только в профиле выставления счетов или в области Клиента. Этот параметр нельзя использовать вместе с параметрами billingPeriod или timePeriod. Если параметр timePeriod, invoiceId или billingPeriod не указан в тексте запроса, API вернет затраты за текущий месяц.

metric

CostDetailsMetricType

Тип подробного отчета. По умолчанию предоставляется ActualCost

timePeriod

CostDetailsTimePeriod

Конкретный диапазон дат сведений о затратах, запрошенных для отчета. Этот параметр нельзя использовать вместе с параметрами invoiceId или billingPeriod. Если параметр timePeriod, invoiceId или billingPeriod не указан в тексте запроса, API вернет затраты за текущий месяц. API позволяет извлекать данные только за 1 месяц или меньше и не старше 13 месяцев. Если timePeriod или billingPeriod или invoiceId не указан, API по умолчанию использует период времени открытого месяца.

Ответы

Имя Тип Описание
200 OK

CostDetailsOperationResults

Обработка запроса завершена.

202 Accepted

Принято. Запрос будет обработан. Используйте заголовок Location для проверка состояния.

Заголовки

  • Location: string
  • Retry-After: integer
204 No Content

Нет содержимого. Запрос выполнен успешно, но не вернул никаких результатов.

Other Status Codes

GenerateCostDetailsReportErrorResponse

Ответ об ошибке, описывающий причину сбоя операции.

Безопасность

azure_auth

Поток OAuth2 в Azure Active Directory.

Тип: oauth2
Flow: implicit
URL-адрес авторизации: https://login.microsoftonline.com/common/oauth2/authorize

Области

Имя Описание
user_impersonation олицетворения учетной записи пользователя

Примеры

GenerateCostDetailsReportByBillingAccountEnterpriseAgreementCustomerAndBillingPeriod
GenerateCostDetailsReportByBillingProfileAndInvoiceId
GenerateCostDetailsReportByBillingProfileAndInvoiceIdAndCustomerId
GenerateCostDetailsReportByCustomerAndTimePeriod
GenerateCostDetailsReportByDepartmentsAndTimePeriod
GenerateCostDetailsReportByEnrollmentAccountsAndTimePeriod
GenerateCostDetailsReportBySubscriptionAndTimePeriod

GenerateCostDetailsReportByBillingAccountEnterpriseAgreementCustomerAndBillingPeriod

Образец запроса

POST https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345/providers/Microsoft.CostManagement/generateCostDetailsReport?api-version=2023-11-01

{
  "metric": "ActualCost",
  "billingPeriod": "202205"
}

Пример ответа

{
  "id": "providers/Microsoft.Billing/billingAccounts/12345/providers/Microsoft.CostManagement/costDetailsOperationResults/00000000-0000-0000-0000-000000000000",
  "name": "00000000-0000-0000-0000-000000000000",
  "status": "Completed",
  "manifest": {
    "manifestVersion": "2023-11-01",
    "dataFormat": "Csv",
    "blobCount": 1,
    "byteCount": 32741,
    "compressData": false,
    "requestContext": {
      "requestScope": "providers/Microsoft.Billing/billingAccounts/12345",
      "requestBody": {
        "metric": "ActualCost",
        "billingPeriod": "202205"
      }
    },
    "blobs": [
      {
        "blobLink": "https://ccmreportstorageeastus.blob.core.windows.net/armreports/00000/00000000-0000-0000-0000-000000000000?sv=2020-05-31&sr=b&sig=abcd",
        "byteCount": 32741
      }
    ]
  },
  "validTill": "2022-05-10T08:08:46.1973252Z"
}
Location: https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345/providers/Microsoft.CostManagement/costDetailsOperationResults/00000000-0000-0000-0000-000000000000?api-version=2023-11-01
Retry-After: 60

GenerateCostDetailsReportByBillingProfileAndInvoiceId

Образец запроса

POST https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/generateCostDetailsReport?api-version=2023-11-01

{
  "metric": "ActualCost",
  "invoiceId": "M1234567"
}

Пример ответа

{
  "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/costDetailsOperationResults/00000000-0000-0000-0000-000000000000",
  "name": "00000000-0000-0000-0000-000000000000",
  "status": "Completed",
  "manifest": {
    "manifestVersion": "2023-11-01",
    "dataFormat": "Csv",
    "blobCount": 1,
    "byteCount": 32741,
    "compressData": false,
    "requestContext": {
      "requestScope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579",
      "requestBody": {
        "metric": "ActualCost",
        "billingPeriod": "202205"
      }
    },
    "blobs": [
      {
        "blobLink": "https://ccmreportstorageeastus.blob.core.windows.net/armreports/00000/00000000-0000-0000-0000-000000000000?sv=2020-05-31&sr=b&sig=abcd",
        "byteCount": 32741
      }
    ]
  },
  "validTill": "2022-05-10T08:08:46.1973252Z"
}
Location: https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/costDetailsOperationResults/00000000-0000-0000-0000-000000000000?api-version=2023-11-01
Retry-After: 60

GenerateCostDetailsReportByBillingProfileAndInvoiceIdAndCustomerId

Образец запроса

POST https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/customers/13579/providers/Microsoft.CostManagement/generateCostDetailsReport?api-version=2023-11-01

{
  "metric": "ActualCost",
  "invoiceId": "M1234567"
}

Пример ответа

{
  "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/13579/providers/Microsoft.CostManagement/costDetailsOperationResults/00000000-0000-0000-0000-000000000000",
  "name": "00000000-0000-0000-0000-000000000000",
  "status": "Completed",
  "manifest": {
    "manifestVersion": "2023-11-01",
    "dataFormat": "Csv",
    "blobCount": 1,
    "byteCount": 32741,
    "compressData": false,
    "requestContext": {
      "requestScope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/13579",
      "requestBody": {
        "metric": "ActualCost",
        "billingPeriod": "202205"
      }
    },
    "blobs": [
      {
        "blobLink": "https://ccmreportstorageeastus.blob.core.windows.net/armreports/00000/00000000-0000-0000-0000-000000000000?sv=2020-05-31&sr=b&sig=abcd",
        "byteCount": 32741
      }
    ]
  },
  "validTill": "2022-05-10T08:08:46.1973252Z"
}
Location: https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/customers/13579/providers/Microsoft.CostManagement/costDetailsOperationResults/00000000-0000-0000-0000-000000000000?api-version=2023-11-01
Retry-After: 60

GenerateCostDetailsReportByCustomerAndTimePeriod

Образец запроса

POST https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/customers/13579/providers/Microsoft.CostManagement/generateCostDetailsReport?api-version=2023-11-01

{
  "metric": "ActualCost",
  "timePeriod": {
    "start": "2020-03-01",
    "end": "2020-03-15"
  }
}

Пример ответа

{
  "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/13579/providers/Microsoft.CostManagement/costDetailsOperationResults/00000000-0000-0000-0000-000000000000",
  "name": "00000000-0000-0000-0000-000000000000",
  "status": "Completed",
  "manifest": {
    "manifestVersion": "2023-11-01",
    "dataFormat": "Csv",
    "blobCount": 1,
    "byteCount": 32741,
    "compressData": false,
    "requestContext": {
      "requestScope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/13579",
      "requestBody": {
        "metric": "ActualCost",
        "timePeriod": {
          "start": "2020-03-01",
          "end": "2020-03-15"
        }
      }
    },
    "blobs": [
      {
        "blobLink": "https://ccmreportstorageeastus.blob.core.windows.net/armreports/00000/00000000-0000-0000-0000-000000000000?sv=2020-05-31&sr=b&sig=abcd",
        "byteCount": 32741
      }
    ]
  },
  "validTill": "2022-05-10T08:08:46.1973252Z"
}
Location: https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/customers/13579/providers/Microsoft.CostManagement/costDetailsOperationResults/00000000-0000-0000-0000-000000000000?api-version=2023-11-01
Retry-After: 60

GenerateCostDetailsReportByDepartmentsAndTimePeriod

Образец запроса

POST https://management.azure.com/providers/Microsoft.Billing/departments/12345/providers/Microsoft.CostManagement/generateCostDetailsReport?api-version=2023-11-01

{
  "metric": "ActualCost",
  "timePeriod": {
    "start": "2020-03-01",
    "end": "2020-03-15"
  }
}

Пример ответа

{
  "id": "providers/Microsoft.Billing/departments/12345/providers/Microsoft.CostManagement/costDetailsOperationResults/00000000-0000-0000-0000-000000000000",
  "name": "00000000-0000-0000-0000-000000000000",
  "status": "Completed",
  "manifest": {
    "manifestVersion": "2023-11-01",
    "dataFormat": "Csv",
    "blobCount": 1,
    "byteCount": 32741,
    "compressData": false,
    "requestContext": {
      "requestScope": "providers/Microsoft.Billing/departments/12345",
      "requestBody": {
        "metric": "ActualCost",
        "timePeriod": {
          "start": "2020-03-01",
          "end": "2020-03-15"
        }
      }
    },
    "blobs": [
      {
        "blobLink": "https://ccmreportstorageeastus.blob.core.windows.net/armreports/00000/00000000-0000-0000-0000-000000000000?sv=2020-05-31&sr=b&sig=abcd",
        "byteCount": 32741
      }
    ]
  },
  "validTill": "2022-05-10T08:08:46.1973252Z"
}
Location: https://management.azure.com/providers/Microsoft.Billing/departments/12345/providers/Microsoft.CostManagement/costDetailsOperationResults/00000000-0000-0000-0000-000000000000?api-version=2023-11-01
Retry-After: 60

GenerateCostDetailsReportByEnrollmentAccountsAndTimePeriod

Образец запроса

POST https://management.azure.com/providers/Microsoft.Billing/enrollmentAccounts/1234/providers/Microsoft.CostManagement/generateCostDetailsReport?api-version=2023-11-01

{
  "metric": "ActualCost",
  "timePeriod": {
    "start": "2020-03-01",
    "end": "2020-03-15"
  }
}

Пример ответа

{
  "id": "providers/Microsoft.Billing/enrollmentAccounts/1234/providers/Microsoft.CostManagement/costDetailsOperationResults/00000000-0000-0000-0000-000000000000",
  "name": "00000000-0000-0000-0000-000000000000",
  "status": "Completed",
  "manifest": {
    "manifestVersion": "2023-11-01",
    "dataFormat": "Csv",
    "blobCount": 1,
    "byteCount": 32741,
    "compressData": false,
    "requestContext": {
      "requestScope": "providers/Microsoft.Billing/enrollmentAccounts/1234",
      "requestBody": {
        "metric": "ActualCost",
        "timePeriod": {
          "start": "2020-03-01",
          "end": "2020-03-15"
        }
      }
    },
    "blobs": [
      {
        "blobLink": "https://ccmreportstorageeastus.blob.core.windows.net/armreports/00000/00000000-0000-0000-0000-000000000000?sv=2020-05-31&sr=b&sig=abcd",
        "byteCount": 32741
      }
    ]
  },
  "validTill": "2022-05-10T08:08:46.1973252Z"
}
Location: https://management.azure.com/providers/Microsoft.Billing/enrollmentAccounts/1234/providers/Microsoft.CostManagement/costDetailsOperationResults/00000000-0000-0000-0000-000000000000?api-version=2023-11-01
Retry-After: 60

GenerateCostDetailsReportBySubscriptionAndTimePeriod

Образец запроса

POST https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/generateCostDetailsReport?api-version=2023-11-01

{
  "metric": "ActualCost",
  "timePeriod": {
    "start": "2020-03-01",
    "end": "2020-03-15"
  }
}

Пример ответа

{
  "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/costDetailsOperationResults/00000000-0000-0000-0000-000000000000",
  "name": "00000000-0000-0000-0000-000000000000",
  "status": "Completed",
  "manifest": {
    "manifestVersion": "2023-11-01",
    "dataFormat": "Csv",
    "blobCount": 1,
    "byteCount": 32741,
    "compressData": false,
    "requestContext": {
      "requestScope": "subscriptions/00000000-0000-0000-0000-000000000000",
      "requestBody": {
        "metric": "ActualCost",
        "timePeriod": {
          "start": "2020-03-01",
          "end": "2020-03-15"
        }
      }
    },
    "blobs": [
      {
        "blobLink": "https://ccmreportstorageeastus.blob.core.windows.net/armreports/00000/00000000-0000-0000-0000-000000000000?sv=2020-05-31&sr=b&sig=abcd",
        "byteCount": 32741
      }
    ]
  },
  "validTill": "2022-05-10T08:08:46.1973252Z"
}
Location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/costDetailsOperationResults/00000000-0000-0000-0000-000000000000?api-version=2023-11-01
Retry-After: 60

Определения

Имя Описание
BlobInfo

Сведения о большом двоичном объекте, созданном этой операцией.

CostDetailsDataFormat

Формат данных отчета

CostDetailsMetricType

Тип подробного отчета. По умолчанию предоставляется ActualCost

CostDetailsOperationResults

Результат длительной операции для API сведений о затратах.

CostDetailsStatusType

Состояние операции со сведениями о затратах

CostDetailsTimePeriod

Дата начала и окончания извлечения данных для подробного отчета о затратах. API позволяет извлекать данные только за 1 месяц или меньше и не старше 13 месяцев.

ErrorDetails

Сведения об ошибке.

GenerateCostDetailsReportErrorResponse

Ответ об ошибке указывает, что служба не может обработать входящий запрос. Причина указана в сообщении об ошибке.

Некоторые ответы об ошибках:

  • 400 Недопустимый запрос — недопустимые полезные данные запроса. Предоставленные полезные данные запроса не имеют формата JSON или недопустимый член не принимается в полезных данных запроса.

  • 400 Bad Request — недопустимые полезные данные запроса: может иметь только timePeriod, invoiceId или billingPeriod. API позволяет извлекать данные только для timePeriod, invoiceId или billingPeriod. Клиент должен указать только один из этих параметров.

  • 400 Bad Request — дата начала должна быть после . API позволяет извлекать данные не старше 13 месяцев.

  • 400 Bad Request — максимальный допустимый диапазон дат составляет 1 месяц. API позволяет извлекать данные только за 1 месяц или меньше.

  • 429 TooManyRequests — запрос регулируется. Повторите попытку после ожидания времени, указанного в заголовке retry-after.

  • 503 ServiceUnavailable — служба временно недоступна. Повторите попытку по окончании периода времени, указанного в заголовке Retry-After.

GenerateCostDetailsReportRequestDefinition

Определение подробного отчета о затратах.

BlobInfo

Сведения о большом двоичном объекте, созданном этой операцией.

Имя Тип Описание
blobLink

string

Ссылка на большой двоичный объект для скачивания.

byteCount

integer

Байты в большом двоичном объекте.

CostDetailsDataFormat

Формат данных отчета

Имя Тип Описание
Csv

string

Формат данных CSV.

CostDetailsMetricType

Тип подробного отчета. По умолчанию предоставляется ActualCost

Имя Тип Описание
ActualCost

string

Фактические данные о затратах.

AmortizedCost

string

Амортизированные данные о затратах.

CostDetailsOperationResults

Результат длительной операции для API сведений о затратах.

Имя Тип Описание
error

ErrorDetails

Сведения об ошибке.

id

string

Идентификатор длительной операции.

manifest.blobCount

integer

Общее количество BLOB-объектов.

manifest.blobs

BlobInfo[]

Список сведений о большом двоичном объекте, созданных этой операцией.

manifest.byteCount

integer

Общее количество байтов во всех BLOB-объектах.

manifest.compressData

boolean

Данные в сжатом формате.

manifest.dataFormat

CostDetailsDataFormat

Формат данных отчета

manifest.manifestVersion

string

Версия манифеста.

manifest.requestContext.requestBody

GenerateCostDetailsReportRequestDefinition

Текст полезных данных запроса, указанный в вызове сведений о затратах

manifest.requestContext.requestScope

string

Запрос область запроса.

name

string

Имя длительно выполняемой операции.

status

CostDetailsStatusType

Состояние операции со сведениями о затратах

type

string

Тип длительной операции.

validTill

string

Время, когда URL-адрес отчета становится недействительным или истекает в формате UTC, например 2020-12-08T05:55:59.4394737Z.

CostDetailsStatusType

Состояние операции со сведениями о затратах

Имя Тип Описание
Completed

string

Операция завершена.

Failed

string

Операция завершилась ошибкой.

NoDataFound

string

Операция завершена, данные о затратах не найдены.

CostDetailsTimePeriod

Дата начала и окончания извлечения данных для подробного отчета о затратах. API позволяет извлекать данные только за 1 месяц или меньше и не старше 13 месяцев.

Имя Тип Описание
end

string

Конечная дата для извлечения данных. Пример формата 15.03.2020

start

string

Дата начала извлечения данных. Пример формата 15.03.2020

ErrorDetails

Сведения об ошибке.

Имя Тип Описание
code

string

Код ошибки.

message

string

Сообщение об ошибке, указывающее, почему операция завершилась сбоем.

GenerateCostDetailsReportErrorResponse

Ответ об ошибке указывает, что служба не может обработать входящий запрос. Причина указана в сообщении об ошибке.

Некоторые ответы об ошибках:

  • 400 Недопустимый запрос — недопустимые полезные данные запроса. Предоставленные полезные данные запроса не имеют формата JSON или недопустимый член не принимается в полезных данных запроса.

  • 400 Bad Request — недопустимые полезные данные запроса: может иметь только timePeriod, invoiceId или billingPeriod. API позволяет извлекать данные только для timePeriod, invoiceId или billingPeriod. Клиент должен указать только один из этих параметров.

  • 400 Bad Request — дата начала должна быть после . API позволяет извлекать данные не старше 13 месяцев.

  • 400 Bad Request — максимальный допустимый диапазон дат составляет 1 месяц. API позволяет извлекать данные только за 1 месяц или меньше.

  • 429 TooManyRequests — запрос регулируется. Повторите попытку после ожидания времени, указанного в заголовке retry-after.

  • 503 ServiceUnavailable — служба временно недоступна. Повторите попытку по окончании периода времени, указанного в заголовке Retry-After.

Имя Тип Описание
error

ErrorDetails

Сведения об ошибке.

GenerateCostDetailsReportRequestDefinition

Определение подробного отчета о затратах.

Имя Тип Описание
billingPeriod

string

Этот параметр могут использовать только участники Соглашения Enterprise. Используйте формат YearMonth (например, 202008). Этот параметр нельзя использовать вместе с параметрами invoiceId или timePeriod. Если параметр timePeriod, invoiceId или billingPeriod не указан в тексте запроса, API вернет затраты за текущий месяц.

invoiceId

string

Этот параметр могут использовать только участники Клиентского соглашения Microsoft. Кроме того, его можно использовать только в профиле выставления счетов или в области Клиента. Этот параметр нельзя использовать вместе с параметрами billingPeriod или timePeriod. Если параметр timePeriod, invoiceId или billingPeriod не указан в тексте запроса, API вернет затраты за текущий месяц.

metric

CostDetailsMetricType

Тип подробного отчета. По умолчанию предоставляется ActualCost

timePeriod

CostDetailsTimePeriod

Конкретный диапазон дат сведений о затратах, запрошенных для отчета. Этот параметр нельзя использовать вместе с параметрами invoiceId или billingPeriod. Если параметр timePeriod, invoiceId или billingPeriod не указан в тексте запроса, API вернет затраты за текущий месяц. API позволяет извлекать данные только за 1 месяц или меньше и не старше 13 месяцев. Если timePeriod или billingPeriod или invoiceId не указан, API по умолчанию использует период времени открытого месяца.