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 |