APIs de Relatórios para clientes Enterprise – detalhes de uso

Observação

Em 1º de maio de 2024, as APIs do Azure Enterprise Reporting serão desativadas. Todas as APIs de Relatórios Corporativos restantes deixarão de responder às solicitações. Os clientes precisam fazer a transição para usar as APIs de Gerenciamento de Custos da Microsoft antes disso. Para saber mais, confira Migrar do Azure Enterprise Reporting para a visão geral das APIs de Gerenciamento de Custos da Microsoft.

Essa API dá suporte apenas a registros de uso com até 400 caracteres de marca para um determinado recurso. A API poderá falhar se você tiver registros que excedem o número máximo de marcas. Se você tiver esse problema, migre para Exportações ou para a API Exportações.

A API Detalhes de Uso oferece um detalhamento diário das quantidades consumidas e de encargos estimados por um registro. O resultado também inclui informações sobre instâncias, medidores e departamentos. A API pode ser consultada por período de cobrança ou por uma data de início e de término especificada.

As propriedades do cabeçalho comuns que precisam ser adicionadas são especificadas no artigo Visão geral de APIs de relatórios para clientes Enterprise. Intervalos de tempo personalizados podem ser especificados com os parâmetros das datas de início e término no formato aaaa-MM-dd.

Formato CSV

A API listada abaixo fornece dados no formato CSV.

Chamada síncrona (sem sondagem)

Retornamos dados no formato CSV como uma resposta da chamada à API REST. O desempenho da API depende da quantidade de dados de uso retornados por sua chamada e pode levar no máximo 60 minutos. Embora a API dê suporte a intervalos de datas personalizados, recomendamos que você os restrinja com base no volume de dados de uso que você tem para esse período. Permitimos suporte máximo de um mês.

Método URI da Solicitação de Download
GET https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails/download?billingPeriod={billingPeriod}
GET https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails/download?startTime=2017-01-01& endTime=2017-01-10

Chamada assíncrona (baseada em sondagem)

A chamada é um processo de duas etapas que exige que você envie sua solicitação primeiro para um intervalo de tempo específico e, em seguida, sondar para obter uma URL baseada em chave de acesso compartilhado para um local de Blob do Azure que tenha dados CSV. O tempo máximo com suporte é de 36 meses. Recomendamos essa API para conjuntos de dados maiores.

Método Enviar URI de Solicitação
POST https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails/submit?billingPeriod={billingPeriod}
POST https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails/submit?startTime=2017-04-01& endTime=2017-04-10

Resposta da chamada de envio assíncrona (sondagem)

    {
        "id": "string",
        "enrollmentNumber":"string",
        "requestedOn":"2017-08-29T06:56:29.1290704Z",
        "status":1,
        "blobPath":"",
        "reportUrl":"string",
        "startDate":"2017-06-01T00:00:00",
        "endDate":"2017-06-30T00:00:00"
    }
Definições de propriedade response de chamada assíncrona
Nome da propriedade Tipo Descrição
id string A ID exclusiva da solicitação.
enrollmentNumber string O número de registro para o qual a solicitação foi feita.
requestedOn string A data e hora em que a solicitação foi feita.
status INT Indica o status da solicitação. Enfileirado = 1, InProgress = 2, Concluído = 3, Falha = 4, NoDataFound = 5, ReadyToDownload=6, TimedOut = 7.
blobPath string A URL da chave de acesso compartilhado para o blob csv.
reportUrl string A URL que pode ser usada para sondar o status da solicitação de envio.
startDate string Corresponde ao início do intervalo de tempo usado ao fazer a chamada de envio.
endDate string Corresponde ao final do intervalo de tempo usado ao fazer a chamada de envio.

O reportUrl é a URL que pode ser usada para chamadas de sondagem adicionais (operação GET). Quando o campo status na resposta da solicitação de sondagem voltar como 3, a solicitação será concluída. Temos o campo blobPath na resposta populado com uma URL apontando para os dados csv. O blob está disponível por 1 dia a partir da data e hora no campo de resposta requestedOn. Os status 4, 5 e 7 são falhas status em que a chamada à API atingiu uma condição de erro. Para todos os outros status, a chamada de votação deve ser repetida.

Formato JSON

A API listada abaixo fornece dados no formato JSON. Se um período de cobrança não for especificado, os dados do período de cobrança atual serão retornados. O intervalo de tempo máximo compatível é de 36 meses.

Método URI da solicitação
GET https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails
GET https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/billingPeriods/{billingPeriod}/usagedetails
GET https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetailsbycustomdate?startTime=2017-01-01& endTime=2017-01-10

Observação

Para usar a versão anterior da API, substitua v3 por v2 nas URLs acima. Alguns campos não estão disponíveis se você usar a v2.

Resposta

Devido ao volume potencialmente grande de dados, o conjunto de resultados é paginado. A propriedade nextLink, se presente, especifica o link para a próxima página de dados. Se o link estiver vazio, isso indicará ser a última página.

    {
        "id": "string",
        "data": [
            {
                "serviceName":"Storage",
                "serviceTier":"Premium Page Blobs",
                "location":"US West",
                "chargesBilledSeparately":false,
                "partNumber":"ABC-12345",
                "resourceGuid":"00000000-0000-0000-0000-000000000000",
                "offerId":"MS-AZR-0003P",
                "cost":1,
                "accountId":123456,
                "productId":1234,
                "resourceLocationId":12,
                "consumedServiceId":1,
                "departmentId":3456,
                "accountOwnerEmail":"account@live.com",
                "accountName":"Account Name",
                "serviceAdministratorId":"123",
                "subscriptionId":0000000,
                "subscriptionGuid":"00000000-0000-0000-0000-000000000000",
                "subscriptionName":"Subscription Name",
                "date":"2018-08-01T00:00:00",
                "product":"Locally Redundant Storage Premium Storage - Page Blob/P10 - US West",
                "meterId":"00000000-0000-0000-0000-000000000000",
                "meterCategory":"Storage",
                "meterSubCategory":"Locally Redundant",
                "meterRegion":"California",
                "meterName":"Premium Storage - Page Blob/P10 (Units)",
                "consumedQuantity"1,
                "resourceRate":1,
                "resourceLocation":"uswest",
                "consumedService":"Microsoft.Compute",
                "instanceId":"Id",
                "serviceInfo1":"string",
                "serviceInfo2":"string",
                "additionalInfo":"string",
                "tags":"string",
                "storeServiceIdentifier":"string",
                "departmentName":"Department Name",
                "costCenter":"1234",
                "unitOfMeasure":"Units",
                "resourceGroup":"ResourceGroup"
            }
        ],
        "nextLink": "string"
    }

Definições de campo de detalhes de uso

Nome da propriedade Tipo Descrição
id string A ID exclusiva da chamada à API.
data Matriz JSON A matriz de detalhes de uso diário para cada instância\medidor.
nextLink string Quando há mais páginas de dados, nextLink aponta para a URL retornar a próxima página de dados.
accountId INT Campo obsoleto. Presente para a compatibilidade com versões anteriores.
productId INT Campo obsoleto. Presente para a compatibilidade com versões anteriores.
resourceLocationId INT Campo obsoleto. Presente para a compatibilidade com versões anteriores.
consumedServiceId INT Campo obsoleto. Presente para a compatibilidade com versões anteriores.
departmentId INT Campo obsoleto. Presente para a compatibilidade com versões anteriores.
accountOwnerEmail string Conta de email do proprietário da conta.
accountName string Nome de cliente informado da conta.
serviceAdministratorId string Endereço de email do Administrador de serviços.
subscriptionId INT Campo obsoleto. Presente para a compatibilidade com versões anteriores.
subscriptionGuid string Identificador Global Exclusivo para a assinatura.
subscriptionName string O nome da assinatura.
date string A data em que ocorreu o consumo.
product string Detalhes adicionais sobre o medidor.
meterId string O identificador do medidor que emitiu o uso.
meterCategory string O serviço da plataforma do Azure que foi usado.
meterSubCategory string Define o tipo de serviço do Azure e pode afetar a tarifa.
meterRegion string Identifica o local do datacenter para determinados serviços que são cobrados com base no local do datacenter.
meterName string Nome do medidor.
consumedQuantity double A quantidade do medidor que foi consumida.
resourceRate double A taxa aplicável por unidade faturável.
cost double O encargo incorrido para o medidor.
resourceLocation string Identifica o datacenter em que o medidor está sendo executado.
consumedService string O serviço da plataforma do Azure que foi usado.
instanceId string Esse identificador é o nome do recurso ou a ID do recurso totalmente qualificado. Para obter mais informações, consulte API de Resource Manager do Azure
serviceInfo1 string Metadados de serviço interno do Azure.
serviceInfo2 string Por exemplo, um tipo de imagem para uma máquina virtual e o nome do ISP para o ExpressRoute.
additionalInfo string Metadados específicos ao serviço. Por exemplo, um tipo de imagem para uma máquina virtual.
marcas string Marcas adicionadas pelo cliente. Para saber mais, confira Organizar os recursos do Azure com marcas.
storeServiceIdentifier string Esta coluna não é usada. Presente para a compatibilidade com versões anteriores.
departmentName string Nome do departamento.
costCenter string O centro de custo ao qual o uso está associado.
unitOfMeasure string Identifica a unidade em que o serviço é cobrado. Por exemplo, GB, horas, 10.000 s.
resourceGroup string O grupo de recursos no qual o medidor implantado está sendo executado. Para obter mais informações, confira Visão geral do Azure Resource Manager.
chargesBilledSeparately string Encargos cobrados fora do Compromisso Monetário.
local string Local em que o serviço foi implantado.
offerId string OfferId em relação ao serviço.
partNumber string Número da SKU para o serviço.
resourceGuid string O identificador do medidor que emitiu o uso.
serviceTier string Camada de Serviço.
serviceName string Nome do serviço.

Limitação de taxa

Para habilitar experiências consistentes entre nossos clientes, todas as APIs de uso são limitadas por taxa em um nível de registro. Quando você alcança o limite, recebe o código de status HTTP 429 Excesso de solicitações. A taxa de transferência atual em um intervalo de 15 minutos é a seguinte:

API Limite de taxa
Nextpage 1000
Baixar 50
Sondagem 180
Enviar 20

Confira também