Azure: получить текущий баланс одного ресурса через REST API - PullRequest
1 голос
/ 22 мая 2019

Я рассчитываю получить текущую сумму в реальном времени, потраченную данным ресурсом (не всей подпиской или группой ресурсов) в течение текущего периода в MS Azure через REST API Azure (например: мы потратили X $ на данный моментв этом месяце на этом ресурсе).Я покопался в Billing API и общей документации по REST API (а также в их node.js SDK), но не могу найти ничего похожего на это.

Кто-нибудь когда-нибудь делал что-то подобное?Любая помощь будет принята с благодарностью.

Ответы [ 3 ]

4 голосов
/ 22 мая 2019

Обратите внимание на этот документ: Обзор API потребления Azure , здесь показано, что вы можете использовать API сведений об использовании с фильтром, чтобы получить то, что вы хотите:

  • Фильтрация - Обрежьте свой результат API, установив меньший набор подробных записей об использовании, используя следующие фильтры:
    • Конец использования / начало использования
    • Ресурсная группа
    • Название ресурса

Вот формат этого API :

GET https://management.azure.com/{scope}/providers/Microsoft.Consumption/usageDetails?$expand={$expand}&$filter={$filter}&$skiptoken={$skiptoken}&$top={$top}&$apply={$apply}&api-version=2019-01-01

Для {scope}, за исключением того, что можно использовать «/ subscription / {subscriptionId} /» для области подписки, также можно использовать «/providers/Microsoft.Billing/billingAccounts/ enjbillingAccountId}» для области Billing Account и т. Д. Для более подробную информацию можно найти по ссылке doc .

Использование $filter={$filter} может достичь того, что вы хотите (получить доступ к конкретному ресурсу), здесь при условии, что мой API может для вашей справки:

GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/usageDetails?$expand=meterDetails,additionalProperties&$filter=properties/usageEnd ge '2019-01-1' AND properties/usageEnd le '2019-05-22' AND properties/instanceName eq '{instanceName}'&$top=30&api-version=2019-01-01

eq означает равно, ge означает больше или равно, le означает меньше или равно, а instanceNmae означает ваше конкретное имя ресурса, о котором идет речь.

2 голосов
/ 22 мая 2019

Azure API биллинга можно использовать для добавления данных об использовании и ресурсах в ваши предпочтительные инструменты анализа данных.

Azure Resource Usage API и Azure Resource RateCard API могут помочь точно прогнозировать и управлять расходами.API реализованы как поставщик ресурсов и являются частью семейства API, предоставляемых диспетчером ресурсов Azure.

Рекомендуемые действия

  1. Использование API использования ресурсов Azure для получения списка доступных ресурсов Azure и информации о приблизительной цене для каждого из них.
  2. Используйте API Azure Resource RateCard для получения приблизительных данных о потреблении Azure.

Примечание: Поддержка предложений по предоплате, MSDN, денежному обязательству и денежным кредитам (EA и CSP не поддерживаются)

Azure API загрузки счетов позволяет получить доступ к счету Azure в формате PDF после завершения .Его можно использовать для передачи данных об использовании и ресурсах в предпочтительные инструменты анализа данных.

Примечание: Эта функция находится в первой версии предварительного просмотра и может подвергаться обратнойнесовместимые изменения.В настоящее время он недоступен для определенных предложений подписки (EA, CSP, AIO не поддерживаются) и Azure Germany.

API отчетности для клиентов EA - Сведения об использовании предлагают ежедневную разбивку потребленных количеств и расчетных расходов по зачислению.Результат также включает информацию об экземплярах, счетчиках и отделах.API можно запросить по периоду выставления счета или по указанной дате начала и окончания

Рекомендуемые документы

  1. Azure BillingAPI REST

  2. Обзор API биллинга Azure

  3. Обзор диспетчера ресурсов Azure

  4. REST API Browser

Если у вас все еще есть какие-либо вопросы, не стесняйтесь делиться.Спасибо и счастливого кодирования!

0 голосов
/ 22 мая 2019

API, на который вы хотели бы взглянуть, - Consumption API, а операция, которую вы хотели бы использовать, - Usage Details - List.

Обратите внимание, что:

  • Для параметра {scope} укажите /subscriptions/{subscriptionId}/.
  • Чтобы получить потребление для определенного ресурса, вам необходимо указать путь к этому ресурсу в $filter.

Например, если вы хотите, чтобы потребление для определенной учетной записи хранения, скажем, за апрель 2019 г., было следующим, ваши критерии фильтра выглядят так:

$filter=properties/instanceId eq '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}' and properties/usageStart ge '2019-04-01T00:00:00.0000000Z' and properties/usageEnd lt '2019-05-01T00:00:00.0000000Z'&$expand=meterDetails,additionalProperties
...