Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a: Centro de Parceiros | Centro de Parceiros para a Nuvem Microsoft para o Governo dos EUA
Você pode obter os registros de utilização da assinatura do Azure de um cliente por um período de tempo especificado usando a API de utilização do Azure.
Pré-requisitos
Credenciais conforme descrito em autenticação do Partner Center. Este cenário oferece suporte à autenticação com credenciais de aplicativo autônomo e App+User.
Um ID de cliente (
customer-tenant-id). Se não souber o ID do cliente, pode encontrá-lo no Partner Center, selecionando o espaço de trabalho Clientes, depois o cliente da lista de clientes e, em seguida, Conta. Na página da Conta do cliente, procure o ID da Microsoft na secção Informações da Conta do Cliente. A ID da Microsoft é a mesma que a ID do cliente (customer-tenant-id).Um identificador de assinatura.
Esta API retorna o consumo diário e horário sem classificação para um período de tempo arbitrário. No entanto, essa API não é suportada para planos do Azure. Se você tiver um plano do Azure, consulte os artigos Obter itens de linha de consumo não faturados e Obter itens de linha de consumo faturados em vez disso. Estes artigos descrevem como obter uma classificação de consumo a um nível diário por metro por recurso. Esta taxa de consumo é equivalente aos dados diários de granulação fornecidos pela API de utilização do Azure. Você precisará usar o identificador de fatura para recuperar dados de uso faturados. Ou, você pode usar períodos atuais e anteriores para obter estimativas de uso não faturadas. Dados agregados por hora e filtros de intervalo de datas arbitrários não são suportados atualmente para recursos associados a planos de subscrição do Azure.
API de utilização do Azure
Esta API de utilização do Azure fornece acesso a registos de utilização durante um período de tempo que representa quando a utilização foi reportada no sistema de faturação. Ele fornece acesso aos mesmos dados de utilização que são usados para criar e calcular o arquivo de reconciliação. No entanto, ele não tem conhecimento da lógica do arquivo de reconciliação do sistema de faturamento. Você não deve esperar que os resultados do resumo do arquivo de reconciliação correspondam ao resultado recuperado dessa API exatamente pelo mesmo período de tempo.
Por exemplo, o sistema de faturamento usa os mesmos dados de utilização e aplica regras de atraso para determinar o que é contabilizado em um arquivo de reconciliação. Quando um período de faturação é encerrado, toda a utilização até ao final do dia em que termina o período de faturação é incluída no ficheiro de reconciliação. Qualquer uso tardio dentro do período de faturamento que seja relatado dentro de 24 horas após o término do período de faturamento é contabilizado no próximo arquivo de reconciliação. Para as regras de atraso referentes à faturação do parceiro, consulte Obter dados de consumo para uma assinatura do Azure.
Esta API REST está paginada. Se a carga útil de resposta for maior do que uma única página, você deverá seguir o próximo link para obter a próxima página de registros de utilização.
Cenário: o Parceiro A transferiu a propriedade de faturação da Subscrição Legada do Azure (145P) para o Parceiro B
Se um parceiro transferir a propriedade de cobrança de uma assinatura herdada do Azure para outro parceiro, quando o novo parceiro chamar a API de Utilização para a assinatura transferida, deverá usar a ID da Assinatura do Commerce (que aparece em sua conta do Partner Center) em vez da ID de Entitlement do Azure. O ID de Atribuição do Azure aparece para o Parceiro B somente quando ele é Administrador em nome de (AOBO) no portal do Azure do Cliente.
Para chamar com êxito a API de utilização para a assinatura transferida, o novo parceiro precisa usar a ID de assinatura do Commerce.
C#
Para obter os Registros de Utilização do Azure:
Obtenha o ID do cliente e o ID da subscrição.
Chame o método IAzureUtilizationCollection.Query para retornar um ResourceCollection que contém os registos de utilização.
Obtenha um enumerador de registro de utilização do Azure para percorrer as páginas de utilização. Esta etapa é necessária, porque a coleção de recursos é paginada.
- Exemplo de: Aplicação de teste do console
- Project: Exemplos de SDK do Partner Center
- Classe: GetAzureSubscriptionUtilization.cs
// IAggregatePartner partnerOperations;
// string customerId;
// string subscriptionId;
IPartner partner = PartnerService.Instance.CreatePartnerOperations(credentials);
// Retrieve the utilization records for the last year in pages of 100 records.
var utilizationRecords = partner.Customers[customerId].Subscriptions[subscriptionId].Utilization.Azure.Query(
DateTimeOffset.Now.AddYears(-1),
DateTimeOffset.Now,
size: 100);
// Create an Azure utilization enumerator which will aid us in traversing the utilization pages.
var utilizationRecordEnumerator = partner.Enumerators.Utilization.Azure.Create(utilizationRecords);
while (utilizationRecordEnumerator.HasValue)
{
//
// Insert code here to work with this page.
//
// Get the next page.
utilizationRecordEnumerator.Next();
}
Java
O Java SDK do Partner Center pode ser usado para gerenciar recursos do Partner Center. É um projeto de código aberto mantido pela comunidade de parceiros e não suportado oficialmente pela Microsoft. Você pode obter ajuda da comunidade ou reportar um problema no GitHub se tiver um problema.
Para obter os Registros de Utilização do Azure, primeiro você precisa de um identificador de cliente e um identificador de assinatura. Em seguida, chama-se a função IAzureUtilizationCollection.query para retornar uma ResourceCollection que contém os registos de utilização. Como a coleção de recursos é paginada, é necessário obter um enumerador de registo de utilização do Azure para navegar pelas páginas de utilização.
// IAggregatePartner partnerOperations;
// String customerId;
// String subscriptionId;
ResourceCollection<AzureUtilizationRecord> utilizationRecords = partnerOperations.getCustomers()
.byId(customerId).getSubscriptions().byId(subscriptionId)
.getUtilization().getAzure().query(
new DateTime().minusYears(1),
new DateTime(),
AzureUtilizationGranularity.Daily,
true,
100);
// Create an Azure utilization enumerator which will aid us in traversing the utilization pages
IResourceCollectionEnumerator<ResourceCollection<AzureUtilizationRecord>> utilizationRecordEnumerator =
partnerOperations.getEnumerators().getUtilization().getAzure().create(utilizationRecords);
while (utilizationRecordEnumerator.hasValue())
{
//
// Insert code here to work with this page.
//
// get the next page
utilizationRecordEnumerator.next();
}
PowerShell
O módulo PowerShell do Partner Center pode ser usado para gerenciar recursos do Partner Center. É um projeto de código aberto mantido pela comunidade de parceiros e não suportado oficialmente pela Microsoft. Você pode obter ajuda da comunidade ou reportar um problema no GitHub se tiver um problema.
Para obter os Registros de Utilização do Azure, primeiro você precisa de um identificador de cliente e um identificador de assinatura. Em seguida, execute o comando Get-PartnerCustomerSubscriptionUtilization. Este comando retornará todos os registros disponíveis para o período de tempo especificado.
# $customerId
# $subscriptionId
Get-PartnerCustomerSubscriptionUtilization -CustomerId $customerId -SubscriptionId $subscriptionId -StartDate (Get-Date).AddDays(-2).ToUniversalTime() -Granularity Hourly -ShowDetails
Pedido REST
Sintaxe da solicitação
| Método | Solicitar URI |
|---|---|
| OBTER | {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id}/utilizations/azure?start_time={start-time}&end_time={end-time}&granularity={granularity}&show_details={True} |
Parâmetros de URI
Use o caminho a seguir e os parâmetros de consulta para obter os registros de utilização.
| Nome | Tipo | Necessário | Descrição |
|---|---|---|---|
| ID do cliente-locatário | string (sequência de caracteres) | Sim | Uma cadeia de caracteres formatada em GUID que identifica o cliente. |
| ID da subscrição | string (sequência de caracteres) | Sim | Uma cadeia de caracteres formatada em GUID que identifica a assinatura. |
| hora_de_início | cadeia de caracteres no formato de deslocamento de data-hora UTC | Sim | O início do intervalo de tempo que representa quando a utilização foi relatada no sistema de faturamento. |
| hora de fim | cadeia de caracteres no formato de deslocamento de data-hora UTC | Sim | O final do intervalo de tempo que representa quando a utilização foi relatada no sistema de faturamento. |
| granularidade | string (sequência de caracteres) | Não | Define a granularidade das agregações de uso. As opções disponíveis são: daily (padrão) e hourly. |
| mostrar_detalhes | Booleano | Não | Especifica se os detalhes de uso no nível da instância devem ser obtidos. O padrão é true. |
| tamanho | número | Não | Especifica o número de agregações retornadas por uma única chamada de API. O padrão é 1000. O máximo é 1000. |
Cabeçalhos de solicitação
Para obter mais informações, consulte cabeçalhos REST do Partner Center.
Corpo do pedido
Nenhum
Exemplo de solicitação
A solicitação de exemplo a seguir produz resultados semelhantes aos que o arquivo de reconciliação mostrará para o período de 7/2 a 8/1. Esses resultados podem não corresponder exatamente (consulte a seção da API de utilização do Azure para obter detalhes).
Este exemplo de solicitação retorna dados de utilização relatados no sistema de faturamento entre 7/2 às 12h (UTC) e 8/2 às 12h (UTC).
GET https://api.partnercenter.microsoft.com/v1/customers/E499C962-9218-4DBA-8B83-8ADC94F47B9F/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/utilizations/azure?start_time=2017-07-02T00:00:00-08:00&end_time=2017-08-02T00:00:00-08:00 HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: e6a3b6b2-230a-4813-999d-57f883b60d38
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
Host: api.partnercenter.microsoft.com
Resposta REST
Se for bem-sucedido, esse método retorna uma coleção de recursos do do Registro de Utilização do Azure no corpo da resposta. Se os dados de utilização do Azure ainda não estiverem prontos em um sistema dependente, esse método retornará um Código de Status HTTP 204 com um cabeçalho Retry-After.
Códigos de sucesso e erro de resposta
Cada resposta vem com um código de status HTTP que indica sucesso ou falha e informações adicionais de depuração. Use uma ferramenta de rastreamento de rede para ler o código de status HTTP, tipo de código de erroe parâmetros adicionais.
Exemplo de resposta
HTTP/1.1 200 OK
Content-Length: 2630
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: e6a3b6b2-230a-4813-999d-57f883b60d38
MS-CV: PjuGoYrw806o6A3Y.0
MS-ServerId: 030020525
Date: Fri, 04 Aug 2017 23:48:28 GMT
{
"totalCount": 2,
"items": [
{
"usageStartTime": "2017-06-07T17:00:00-07:00",
"usageEndTime": "2017-06-08T17:00:00-07:00",
"resource": {
"id": "8767aeb3-6909-4db2-9927-3f51e9a9085e",
"name": "Storage Admin",
"category": "Storage",
"subcategory": "Block Blob",
"region": "Azure Stack"
},
"quantity": 0.217790327034891,
"unit": "1 GB/Hr",
"infoFields": {},
"instanceData": {
"resourceUri": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourcegroups/system.local/providers/Microsoft.Storage/storageaccounts/srphealthaccount",
"location": "azurestack",
"partNumber": "",
"orderNumber": "",
"additionalInfo": {
"azureStack.MeterId": "09F8879E-87E9-4305-A572-4B7BE209F857",
"azureStack.SubscriptionId": "cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
"azureStack.Location": "local",
"azureStack.EventDateTime": "06/05/2017 06:00:00"
}
},
"attributes": {
"objectType": "AzureUtilizationRecord"
}
},
{
"usageStartTime": "2017-06-07T17:00:00-07:00",
"usageEndTime": "2017-06-08T17:00:00-07:00",
"resource": {
"id": "8767aeb3-6909-4db2-9927-3f51e9a9085e",
"name": "Storage Admin",
"category": "Storage",
"subcategory": "Block Blob",
"region": "Azure Stack"
},
"quantity": 0.217790327034891,
"unit": "1 GB/Hr",
"infoFields": {},
"instanceData": {
"resourceUri": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourcegroups/system.local/providers/Microsoft.Storage/storageaccounts/srphealthaccount",
"location": "azurestack",
"partNumber": "",
"orderNumber": "",
"additionalInfo": {
"azureStack.MeterId": "09F8879E-87E9-4305-A572-4B7BE209F857",
"azureStack.SubscriptionId": "cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
"azureStack.Location": "local",
"azureStack.EventDateTime": "06/05/2017 06:00:00"
},
"attributes": {
"objectType": "AzureUtilizationRecord"
}
},
"links": {
"self": {
"uri": "customers/E499C962-9218-4DBA-8B83-8ADC94F47B9F/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/utilizations/azure?start_time=2017-06-10T00:00:00Z&end_time=2017-07-09T00:00:00Z&granularity=Daily&show_details=True&size=1000",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Collection"
}
}
]
}