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.
Os hubs FinOps executam muitas atividades de processamento de dados para limpar, normalizar e otimizar dados. As seções a seguir mostram como os dados fluem do Gerenciamento de Custos para uma instância de hub.
Configuração do escopo
Um escopo é um nível dentro da hierarquia de recursos e contas da nuvem que fornece acesso a dados de custo, uso e carbono. Para hubs FinOps, normalmente recomendamos o uso de contas de faturamento do Enterprise Agreement (EA) ou perfis de faturamento do Microsoft Customer Agreement (MCA), no entanto, qualquer escopo de nuvem é suficiente para uma análise básica. A principal preocupação é saber se os dados de preços e reservas são necessários, uma vez que a Gestão de Custos apenas expõe os dados das contas de faturação da EA e dos perfis de faturação MCA.
Os hubs FinOps suportam a configuração de escopos configurando manualmente as exportações do Gerenciamento de Custos ou concedendo aos hubs FinOps acesso para gerenciar escopos em seu nome. Os escopos gerenciados são configurados no arquivo config/settings.json no armazenamento do hub. As informações descrevem o que acontece quando um novo escopo gerenciado é adicionado a esse arquivo. Os escopos não gerenciados, nos quais as exportações do Gerenciamento de Custos são configuradas manualmente, não exigem outra configuração.
- O gatilho config_SettingsUpdated é executado quando o arquivo settings.json é atualizado.
- O pipeline config_ConfigureExports cria novas exportações para quaisquer novos âmbitos que tenham sido adicionados.
Ingestão de dados
O diagrama a seguir mostra o processo de ingestão de dados de ponta a ponta nos hubs FinOps:
- (Opcional) Se estiver usando exportações gerenciadas:
- Os gatilhos config_DailySchedule e config_MonthlySchedule são executados em seus respetivos horários para iniciar a ingestão de dados.
- O pipeline de config_StartExportProcess obtém as exportações aplicáveis para o cronograma que está sendo executado.
- O pipeline config_RunExportJobs executa cada uma das exportações selecionadas.
- O Gerenciamento de Custos exporta detalhes de custo bruto para o contêiner msexports . Mais informações.
- O pipeline msexports_ExecuteETL enfileira o pipeline ETL (extract-transform-load) quando os arquivos são adicionados ao contêiner msexports.
- O pipeline de msexports_ETL_ingestion transforma os dados para o formato parquet e move-os para o contentor de ingestão usando uma estrutura de ficheiro escalável. Mais informações.
- (Opcional) Se estiver usando o Azure Data Explorer:
- O pipeline ingestion_ExecuteETL coloca em fila o pipeline de ingestão do Data Explorer quando manifest.json ficheiros são adicionados ao contêiner de ingestão .
- Se ingerir conjuntos de dados personalizados fora das exportações do Gerenciamento de Custos, crie um arquivo demanifest.json vazio na pasta de ingestão de destino depois que todos os outros arquivos estiverem prontos (não adicione esse arquivo quando os arquivos ainda estiverem sendo carregados). O arquivo manifest.json não é analisado e pode estar vazio. O único objetivo é indicar que todos os arquivos para este trabalho de ingestão são adicionados.
- O pipeline de ingestion_ETL_dataExplorer ingere dados na tabela
{dataset}_rawno Data Explorer.- O nome do conjunto de dados é a primeira pasta no contêiner de ingestão .
- Todas as tabelas brutas estão na base de dados Ingestão no Data Explorer.
- Quando os dados são ingeridos em tabelas brutas no Data Explorer, uma política de atualização copia os dados para a tabela
{dataset}_final_v1_0correspondente usando a função{dataset}_transform_v1_0()para normalizar todos os dados para alinhar ao FOCUS 1.0. - Após a ingestão, o pipeline de ingestion_ETL_dataExplorer executa uma limpeza, incluindo a purga de dados na tabela final que ultrapassou o período de retenção de dados.
- A partir de 0,7, o Data Explorer aplica a retenção de dados em tabelas brutas, enquanto a retenção de dados em tabelas finais é aplicada pelo pipeline de ingestão. Se a ingestão de dados parar, os dados históricos não serão limpos.
- A retenção de dados pode ser configurada durante a implantação do modelo ou manualmente no arquivo config/settings.json no armazenamento.
- O pipeline ingestion_ExecuteETL coloca em fila o pipeline de ingestão do Data Explorer quando manifest.json ficheiros são adicionados ao contêiner de ingestão .
- Relatórios e outras ferramentas como o Power BI leem dados do Data Explorer ou do contentor de ingestão de.
- Os dados no Data Explorer podem ser lidos do banco de dados do
Hub. - Use a
{dataset}()função para usar o esquema mais recente.- Essa função é útil para exploração rápida, mas pode introduzir alterações significativas à medida que a instância do hub FinOps é atualizada.
- Use a
{dataset}_v1_0()função para usar o esquema FOCUS 1.0.- Os esquemas de função com controle de versão não devem mudar ao longo do tempo, mas os valores podem mudar se a fonte de dados alterar esses valores.
- Evite usar o banco de dados do Ingestion para consultas. Embora não seja explicitamente proibida, a base de dados Ingestão deve ser considerada uma área interna para encenação e preparação de dados.
- Use a
- Os dados armazenados podem ser lidos a partir de
ingestion/<dataset>/<year>/<month>/<scope-path>.- Os dados devem ser lidos recursivamente a partir da pasta do conjunto de dados e, opcionalmente, incluir mais, conforme necessário para a especificidade.
- Os arquivos em cada pasta do conjunto de dados podem ter esquemas diferentes com base na fonte de dados e no tipo de conta. Esteja preparado para transformar dados se ingerir em outros sistemas, como o Microsoft Fabric.
- A leitura a partir do armazenamento é desencorajada por questões de desempenho. O Data Explorer é recomendado ao gerar relatórios sobre mais de US$ 1 milhão em custo.
- Os dados no Data Explorer podem ser lidos do banco de dados do
Sobre a ingestão de dados no Data Explorer
Quando os dados são ingeridos no Data Explorer, as {dataset}_transform_v1_0() funções aplicam regras de transformação no banco de dados Ingestion . Cada conjunto de dados tem um conjunto diferente de regras de transformação abordadas nas seções a seguir.
Para obter uma lista de alterações solicitadas, ideias em consideração e perguntas abertas sobre os conjuntos de dados subjacentes do Gerenciamento de Custos, consulte edição #1111. Deixe comentários sobre essa questão se encontrar oportunidades para abordar quaisquer preocupações ou expressar o seu apoio para qualquer uma das questões específicas.
Transformações de dados de custo
Conjuntos de dados suportados:
- Microsoft FocusCost:
1.0r2,1.0,1.0-preview(v1)
Os seguintes conjuntos de dados foram contabilizados no design, mas não são suportados nativamente. Para ingerir esses conjuntos de dados, crie um pipeline de dados (ou processo externo) que envie ficheiros Parquet para a pasta ingestion/Costs/yyyy/mm/{scope-path} no armazenamento. O {scope-path} pode ser qualquer caminho único, como aws/123 ou gcp/projects/foo. O único requisito é garantir que cada escopo esteja em uma pasta separada. Depois de copiar conteúdo externo, crie também um arquivo manifest.json para disparar a ingestão do Data Explorer.
- Amazon Web Services (AWS) FOCO 1.0
- Google Cloud Platform (GCP) FOCO 1.0
- Oracle Cloud Infrastructure (OCI) FOCO 1.0
Transformações
- v0.7+:
- Alinhe os nomes das colunas do FOCUS 1.0-preview com o FOCUS 1.0.
- Inclui a conversão da pré-visualização do FOCUS 1.0 para 1.0.
- Adicione
x_IngestionTimepara indicar quando a linha foi atualizada pela última vez. - Adicionar
x_SourceChangespara identificar quando numa linha os dados são alterados por hubs. - Atualize
ProviderNameePublisherNamequando não estiverem especificados. - Adicione
x_SourceName,x_SourceProvider,x_SourceTypeex_SourceVersionpara identificar o conjunto de dados original ingerido. - Preencha os valores ausentes de
ListCost,ListUnitPrice,ContractedCosteContractedUnitPricede acordo com a planilha de preços.- Este processo exige que os preços sejam exportados antes do custo. Faltam preços para o primeiro dia do mês, se os custos forem ingeridos antes de os preços estarem disponíveis para o mês.
- Corrigir
ContractedCostquando configurado incorretamente devido a um bug na Gestão de Custos. - Coloque
ResourceNameex_ResourceGroupNameem minúsculas para resolver problemas de consistência de maiúsculas e minúsculas que interrompem o agrupamento e a filtragem. - Adicione
x_BillingAccountAgreementcom base no tipo de conta.
- Alinhe os nomes das colunas do FOCUS 1.0-preview com o FOCUS 1.0.
- v0.8+:
- Corrija quaisquer
ResourceTypevalores que usem IDs de tipo de recurso interno (por exemplo, microsoft.compute/virtualmachines).
- Corrija quaisquer
- v0.9+:
- Tornar
BillingAccountIdminúsculo para garantir que a união de preços correspondam a todas as linhas. - Letras minúsculas
CommitmentDiscountIdpara evitar linhas duplicadas ao agregar dados. - Adicione novas
x_SourceChangesverificações paraListCostLessThanContractedCosteContractedCostLessThanEffectiveCost.
- Tornar
- v0.10+:
- Corrija
x_EffectiveUnitPricequando é calculado e existe um erro de arredondamento em comparação comx_BilledUnitPriceouContractedUnitPrice. - Calcule PricingQuantity e ConsumedQuantity quando houver custo, mas não quantidade.
- Defina
ContractedCostcomoEffectiveCostquando não está definido. - Defina
ListCostcomoContractedCostquando não está definido. - Remova "-2" na coluna
x_InvoiceSectionId. - Remova "Não atribuído" na
x_InvoiceSectionNamecoluna. - Corrigido
x_EffectiveUnitPricequando é calculado e apresenta um erro de arredondamento. - Adicione novas
x_SourceChangesverificações paraMissingConsumedQuantity,MissingPricingQuantityeXEffectiveUnitPriceRoundingError.
- Corrija
- v0.11+:
- Altere
BillingPeriodStarteBillingPeriodEndpara sejam o primeiro dia do mês.
- Altere
Transformações de dados de preços
Conjuntos de dados suportados:
- Folha de preços da Microsoft:
2023-05-01(EA e MCA)
Transformações
- v0,7+
- Alinhe os nomes das colunas ao FOCUS 1.0.
- Inclui assegurar a consistência dos nomes das colunas EA e MCA.
- Não altera os valores subjacentes, que podem diferir entre EA e MCA.
- Converta
x_SkuTerma duração do ISO para o número específico de meses para corresponder aos detalhes do custo.- Estamos esperando que o FOCUS faça uma determinação de como definir durações antes de alterar esse valor para ISO ou outro formato.
- Substitua
ContractedUnitPricepara uso do plano de economia pelo equivalente sob demanda. - Defina
ListUnitPricepara uso do plano de poupança definido como o equivalente ao sob demanda. - Adicione
SkuPriceIdv2como um valor deSkuPriceIdmais preciso do que aquele que está atualmente nos detalhes de custos. - Adicione
x_IngestionTimepara indicar quando a linha foi atualizada pela última vez. - Adicione
x_CommitmentDiscountSpendEligibilityex_CommitmentDiscountUsageEligibility. - Expanda
x_PricingUnitDescriptionparaPricingUnitex_PricingBlockSize. - Adicione
x_BillingAccountAgreementcom base no tipo de conta. - Altere
x_EffectivePeriodEndpara ser uma data de término exclusiva. - Adicione
x_EffectiveUnitPriceDiscount,x_ContractedUnitPriceDiscountex_TotalUnitPriceDiscountpara resumir os descontos disponíveis por SKU. - Adicione
x_EffectiveUnitPriceDiscountPercent,x_ContractedUnitPriceDiscountPercentex_TotalUnitPriceDiscountPercentpara resumir a porcentagem do desconto por SKU. - Adicione
x_SourceName,x_SourceProvider,x_SourceTypeex_SourceVersionpara identificar o conjunto de dados original ingerido.
- Alinhe os nomes das colunas ao FOCUS 1.0.
- v0.9+:
- Tornar minúscula
BillingAccountIdpara garantir que a união de custos corresponda a todas as linhas.
- Tornar minúscula
Transformações de dados de recomendação
Conjuntos de dados suportados:
- Microsoft ReservationRecommendations:
2023-05-01(EA e MCA)
Transformações
- Alinhe os nomes das colunas ao FOCUS 1.0.
- Inclui assegurar a consistência dos nomes das colunas EA e MCA.
- Não altera os valores subjacentes, que podem diferir entre EA e MCA.
- Adicione
x_SourceName,x_SourceProvider,x_SourceTypeex_SourceVersionpara identificar o conjunto de dados original ingerido.
Transformações de dados de transação
Conjuntos de dados suportados:
- Microsoft ReservationTransactions:
2023-05-01(EA e MCA)
Transformações
- Alinhe os nomes das colunas ao FOCUS 1.0.
- Inclui assegurar a consistência dos nomes das colunas EA e MCA.
- Não altera os valores subjacentes, que podem diferir entre EA e MCA.
- Adicione
x_SourceName,x_SourceProvider,x_SourceTypeex_SourceVersionpara identificar o conjunto de dados original ingerido.
Os dados de utilização do desconto de compromisso transformam-se
Conjuntos de dados suportados:
- Microsoft ReservationDetails:
2023-03-01(EA e MCA)
Transformações
- Alinhe os nomes das colunas ao FOCUS 1.0.
- Inclui assegurar a consistência dos nomes das colunas EA e MCA.
- Não altera os valores subjacentes, que podem diferir entre EA e MCA.
- Adicione a coluna
ResourceTypecom o nome de exibição do tipo de recurso. - Adicione
ServiceName,ServiceCategoryex_ServiceModelcolunas. - Substitua "NA" por null para
x_CommitmentDiscountNormalizedGroup. - Adicione
x_CommitmentDiscountQuantitycom base em FOCUS 1.1.
Sobre o recipiente de ingestão
Os hubs FinOps dependem de um caminho de pasta específico e de um formato de nome de arquivo no contêiner de armazenamento de ingestão.
ingestion/{dataset}/{date-folder-path}/{scope-id-path}/{ingestion-id}__{original-file-name}.parquet
-
ingestioné o contêiner onde o pipeline de dados salva dados. -
{dataset}é o tipo de conjunto de dados exportado. Se for ingerido no Azure Data Explorer, o banco de dados Ingestão deverá ter uma tabela "_raw" correspondente e que diferencie maiúsculas de minúsculas (por exemplo, "Costs_raw"). Os hubs FinOps suportam os seguintes conjuntos de dados nesta versão:- CommitmentDiscountUsage - exportação de detalhes da reserva da Gestão de Custos.
- Custos - Dados de custo e utilização FOCUS.
- Preços - exportação de folha de preços do Cost Management.
- Recomendações - Exportação de recomendações de Gestão de Custos para reservas.
- Transações - Exportação de transações de reserva de Gestão de Custos.
- Para carregar conjuntos de dados personalizados, crie uma tabela correspondente de
{dataset}_rawe um mapeamento de ingestão de parquet no banco de dados Ingestion.
-
{date-folder-path}pode ser uma ou mais pastas que indicam quantos conjuntos de dados ingeridos devem ser mantidos. Exemplos:-
all(ou qualquer espaço reservado) para não rastrear o histórico do conjunto de dados. Cada ingestão substitui os dados anteriores. Não há suporte em relatórios do Power BI baseados em armazenamento. -
{yyyy}como um ano de quatro dígitos do conjunto de dados exportado para reter apenas a última ingestão por ano. Não há suporte em relatórios do Power BI baseados em armazenamento. -
{yyyy}/{mm}como um ano de quatro dígitos e um mês de dois dígitos do conjunto de dados exportado para manter a ingestão mais recente de cada mês. -
{yyyy}/{mm}/{dd}como um ano de quatro dígitos, um mês de dois dígitos e um dia de dois dígitos do conjunto de dados exportado para garantir a retenção da ingestão mais recente de cada dia. Não há suporte em relatórios do Power BI baseados em armazenamento.
-
-
{scope-id-path}é o ID de recurso totalmente qualificado do escopo de onde são os dados. Se ingerir dados que não sejam do Azure, recomendamos usar uma hierarquia lógica com base no escopo dos dados (por exemplo,aws/{account-id}, ,gcp/{project-name}oci/{component-id}/{component-id}). -
{ingestion-id}é um ID exclusivo para o conjunto de dados ingerido. Esse ID pode ser um GUID, um carimbo de data/hora ou qualquer valor, desde que seja consistente em todos os arquivos do conjunto de dados ingerido. Esse valor é usado para remover dados ingeridos anteriormente no mesmo caminho de pasta. -
{original-file-name}destina-se a ser o nome do ficheiro original ou outro identificador para indicar a origem dos dados no ficheiro. Esse valor é apenas para fins de solução de problemas.
O caminho completo da pasta e a ID de ingestão são usados para garantir que os dados não sejam duplicados no armazenamento ou no Azure Data Explorer. O nome do arquivo original é adicionado às extensões do Azure Data Explorer para fins de solução de problemas, mas não é rastreado ou usado por hubs FinOps.
Se você precisar usar hubs para monitorar dados que não sejam do Azure, converta os dados em FOCUS e solte-os no contêiner de ingestão usando esta orientação. Observação O suporte para dados que não são do Azure não foi explicitamente testado na versão mais recente. Se tiver algum problema, crie um problema.
Sobre as exportações
Os hubs FinOps aproveitam as exportações do Cost Management para obter dados de custos. O Gerenciamento de Custos controla a estrutura de pastas para os dados exportados no contêiner de armazenamento msexports
{container}/{path}/{date-range}/{export-name}/{export-time}/{guid}/{file}
Os hubs FinOps utilizam o arquivo de manifesto para identificar o escopo, o conjunto de dados, o mês, etc. A única parte importante do caminho para hubs é o contêiner, que deve ser msexports.
Não exporte dados para o container de ingestão. Os CSVs exportados devem ser publicados no contêiner msexports para serem processados pelo mecanismo de hubs.
Para ingerir dados personalizados, salve arquivos de parquet no contêiner de ingestão para que os relatórios do Power BI do kit de ferramentas FinOps funcionem conforme o esperado. Depois de todos os arquivos de parquet serem adicionados, adicione um arquivo manifest.json vazio para acionar a ingestão.
Para ingerir o arquivo CSV das exportações do Cost Management, salve os arquivos em uma pasta específica no contêiner msexports . Depois que todos os arquivos forem adicionados, adicione um arquivo manifest.json com base no modelo abaixo. Faça as seguintes alterações para garantir uma ingestão bem-sucedida:
- Mude
<export-name>para um valor exclusivo dentro do escopo do conjunto de dados que você está ingerindo.- Isso é usado apenas para recomendações para diferenciar os muitos tipos diferentes de recomendações que estão sendo ingeridas e que não são identificáveis apenas do manifesto de exportação. Para recomendações de reserva, o ideal é incluir o serviço, o escopo (único/compartilhado) e o período de retrospetiva.
- Altere
<dataset>e<version>para o tipo e versão de exportação do Cost Management. Consulte a lista abaixo para obter os conjuntos de dados suportados. - Altere
<scope>para a ID de recurso do Azure para o escopo do qual os dados vieram. - Mude
<guid>para um GUID exclusivo. - Altere
<yyyy-MM>para o ano e mês do conjunto de dados. - Mude
<path-to-file>para o caminho completo da pasta dentro do contentor (não inclua "msexports"). - Mude
<file-name>para o nome do primeiro arquivo carregado no armazenamento. - Se você tiver mais de um arquivo CSV, copie o objeto blob para cada arquivo carregado e atualize o nome do arquivo.
{
"blobCount": 1,
"dataRowCount": 1,
"exportConfig": {
"exportName": "<export-name>",
"type": "<dataset>",
"dataVersion": "<version>",
"resourceId": "<scope>/providers/Microsoft.CostManagement/exports/export-name"
},
"runInfo": {
"runId": "<guid>",
"startDate": "<yyyy-MM>-01T00:00:00"
},
"blobs": [
{
"blobName": "<path-to-file>/<file-name>.csv"
}
]
}
Os hubs FinOps suportam os seguintes tipos de conjuntos de dados, versões e versões de API:
- FocusCost:
1.0r2,1.0,1.0-preview(v1) - Folha de Preços:
2023-05-01 - Detalhes da Reserva:
2023-03-01 - ReservasRecomendações:
2023-05-01 - Transações de Reserva:
2023-05-01 - Versões da API:
2023-07-01-preview
FinOps Hubs v0.6
As seções a seguir explicam o processo de dados nos hubs FinOps 0.6.
Configuração do escopo na v0.6
As etapas a seguir acontecem quando um novo escopo gerenciado é adicionado a uma instância de hub. Os escopos não gerenciados (onde as exportações do Gerenciamento de Custos são configuradas manualmente) não exigem nenhuma configuração em hubs.
- O gatilho config_SettingsUpdated é executado quando o arquivo settings.json é atualizado.
- O pipeline config_ConfigureExports cria novas exportações para quaisquer novos âmbitos que tenham sido adicionados.
Ingestão de dados na v0.6
A ingestão de dados pode ser dividida em duas partes:
- Exporta dados por push para armazenamento.
- Hubs processa e ingere dados.
Para escopos gerenciados, os hubs executam as seguintes etapas:
- Os gatilhos config_DailySchedule e config_MonthlySchedule são executados em seus respetivos horários para iniciar a ingestão de dados.
- O pipeline de config_StartExportProcess obtém as exportações aplicáveis para o cronograma que está sendo executado.
- O pipeline config_RunExportJobs executa cada uma das exportações selecionadas.
- O Gerenciamento de Custos exporta detalhes de custo bruto para o contêiner msexports . Mais informações.
- O pipeline msexports_ExecuteETL enfileira o pipeline ETL (extract-transform-load) quando os arquivos são adicionados ao contêiner msexports.
- O pipeline de msexports_ETL_ingestion transforma os dados para o formato parquet e move-os para o contentor de ingestão usando uma estrutura de ficheiro escalável. Mais informações.
- O Power BI ou outras ferramentas leem dados do contentor de ingestão.
Depois que as exportações são executadas, gerenciadas ou não, os hubs executam as seguintes etapas:
- O pipeline de msexports_ExecuteETL inicia o processo ETL (extract-transform-load) quando os ficheiros são adicionados ao armazenamento.
- O pipeline de msexports_ETL_ingestion transforma os dados para o formato parquet e move-os para o contentor de ingestão usando uma estrutura de ficheiro escalável. Mais informações.
- O Power BI ou outras ferramentas leem dados do contentor de ingestão.
Sobre a ingestão na v0.6
Os hubs de FinOps dependem de um caminho de pasta específico e formato de nome de ficheiro no contêiner de ingestão:
ingestion/{dataset}/{date-folder-path}/{scope-id-path}/{ingestion-id}__{original-file-name}.parquet
-
ingestioné o contêiner onde o pipeline de dados salva dados. -
{dataset}é o tipo de conjunto de dados exportado. -
{date-folder-path}pode ser uma ou mais pastas que indicam quantos conjuntos de dados ingeridos devem ser mantidos. Exemplos:-
all(ou qualquer espaço reservado) para não rastrear o histórico do conjunto de dados. Cada ingestão substitui os dados anteriores. Não há suporte em relatórios do Power BI baseados em armazenamento. -
{yyyy}como um ano de quatro dígitos do conjunto de dados exportado para reter apenas a última ingestão por ano. Não há suporte em relatórios do Power BI baseados em armazenamento. -
{yyyy}/{mm}como um ano de quatro dígitos e um mês de dois dígitos do conjunto de dados exportado para manter a ingestão mais recente de cada mês. -
{yyyy}/{mm}/{dd}como um ano de quatro dígitos, um mês de dois dígitos e um dia de dois dígitos do conjunto de dados exportado para garantir a retenção da ingestão mais recente de cada dia. Não há suporte em relatórios do Power BI baseados em armazenamento.
-
-
{scope-id-path}é o ID de recurso totalmente qualificado do escopo de onde são os dados. Se ingerir dados que não sejam do Azure, recomendamos usar uma hierarquia lógica baseada no escopo dos dados (por exemplo, "aws/{account-id}", "gcp/{project-name}", "oci/{component-id}/{component-id}"). -
{ingestion-id}é um ID exclusivo para o conjunto de dados ingerido. Esse ID pode ser um GUID, um carimbo de data/hora ou qualquer valor, desde que seja consistente em todos os arquivos do conjunto de dados ingerido. Esse valor é usado para remover dados ingeridos anteriormente no mesmo caminho de pasta. -
{original-file-name}destina-se a ser o nome do ficheiro original ou outro identificador para indicar a origem dos dados no ficheiro. Esse valor é apenas para fins de solução de problemas.
O caminho completo da pasta e a ID de ingestão são usados para garantir que os dados não sejam duplicados no armazenamento ou no Azure Data Explorer. O nome do arquivo original é adicionado às extensões do Azure Data Explorer para fins de solução de problemas, mas não é rastreado ou usado por hubs FinOps.
Se você precisar usar hubs para monitorar dados que não sejam do Azure, converta os dados em FOCUS e solte-os no contêiner de ingestão usando esta orientação. Observação O suporte para dados que não são do Azure não foi explicitamente testado na versão mais recente. Se tiver algum problema, crie um problema.
Sobre as exportações na v0.6
Os hubs FinOps usam exportações do Cost Management para obter dados de custo. O Gerenciamento de Custos controla a estrutura de pastas para os dados exportados no contêiner msexports . Um caminho típico se parece com:
{container}/{path}/{date-range}/{export-name}/{export-time}/{guid}/{file}
A partir de 0.4, os hubs FinOps não dependem de caminhos de arquivo. Os hubs utilizam o arquivo de manifesto para identificar o escopo, o conjunto de dados, o mês, etc. A única parte importante do caminho para hubs é o contêiner, que deve ser msexports.
Aviso
- Não exporte dados para o container de ingestão. Os CSVs exportados devem ser publicados no contêiner msexports para serem processados pelo mecanismo de hubs.
- Para ingerir dados personalizados, guarde ficheiros parquet alinhados ao FOCUS no contentor de ingestão para que os relatórios do Power BI do kit de ferramentas FinOps funcionem como esperado.
Os manifestos de exportação podem ser alterados com as versões da API. Aqui está um exemplo com a versão 2023-07-01-previewda API:
{
"exportConfig": {
"exportName": "<export-name>",
"resourceId": "/<scope>/providers/Microsoft.CostManagement/exports/<export-name>",
"dataVersion": "<dataset-version>",
"apiVersion": "<api-version>",
"type": "<dataset-type>",
"timeFrame": "OneTime|TheLastMonth|MonthToDate",
"granularity": "Daily"
},
"deliveryConfig": {
"partitionData": true,
"dataOverwriteBehavior": "CreateNewReport|OverwritePreviousReport",
"fileFormat": "Csv",
"containerUri": "<storage-resource-id>",
"rootFolderPath": "<path>"
},
"runInfo": {
"executionType": "Scheduled",
"submittedTime": "2024-02-03T18:33:03.1032074Z",
"runId": "af754a8e-30fc-4ef3-bfc6-71bd1efb8598",
"startDate": "2024-01-01T00:00:00",
"endDate": "2024-01-31T00:00:00"
},
"blobs": [
{
"blobName": "<path>/<export-name>/<date-range>/<export-time>/<guid>/<file-name>.<file-type>",
"byteCount": ###
}
]
}
Os hubs FinOps usam as seguintes propriedades:
-
exportConfig.resourceIdpara identificar o âmbito. -
exportConfig.typepara identificar o tipo de conjunto de dados. -
exportConfig.dataVersionpara identificar a versão do conjunto de dados. -
runInfo.startDatepara identificar o mês exportado.
Os hubs FinOps suportam os seguintes tipos de conjuntos de dados, versões e versões de API:
- FocusCost:
1.0,1.0-preview(v1) - Folha de Preços:
2023-05-01 - Detalhes da Reserva:
2023-03-01 - ReservasRecomendações:
2023-05-01 - Transações de Reserva:
2023-05-01 - Versões da API:
2023-07-01-preview
Hubs de FinOps v0.4-0.5
As informações a seguir descrevem como os dados são processados nos hubs FinOps v0.4 e v0.5.
Configuração do Escopo na v0.4-0.5
- O gatilho config_SettingsUpdated é executado quando o arquivo settings.json é atualizado.
- O pipeline config_ConfigureExports cria novas exportações para quaisquer novos âmbitos que tenham sido adicionados.
Ingestão de dados em v0.4-0.5
Para escopos gerenciados:
- Os gatilhos config_DailySchedule e config_MonthlySchedule são executados em seus respetivos horários para iniciar a ingestão de dados.
- O pipeline config_ExportData obtém as exportações aplicáveis para o cronograma em execução.
- O pipeline de config_RunExports executa cada uma das exportações selecionadas.
- O Gerenciamento de Custos exporta detalhes de custo bruto para o contêiner msexports . Para obter mais informações, consulte Sobre exportações na v04-05.
Após a conclusão das exportações, para escopos gerenciados e não gerenciados:
- O pipeline de msexports_ExecuteETL inicia o processo ETL (extract-transform-load) quando os ficheiros são adicionados ao armazenamento.
- O pipeline de msexports_ETL_ingestion transforma os dados num esquema padrão e salva os dados brutos em formato parquet no contentor de ingestão. Para obter mais informações, consulte Sobre a ingestão na v04-05.
- Power BI lê dados de custo do contentor de ingestão.
Sobre a ingestão na v0.4-0.5
Os hubs FinOps dependem de um caminho específico de pasta no contentor de ingestão.
ingestion/{dataset}/{yyyy}/{mm}/{scope-id}
-
ingestioné o contêiner onde o pipeline de dados salva dados. -
{dataset}é o tipo de conjunto de dados exportado. -
{month}é o ano e o mês dos dados exportados formatados comoyyyyMM. - Espera-se que
{scope-id}seja o ID de recurso totalmente qualificado do escopo de onde os dados provêm.
Se você precisar usar hubs para monitorar dados que não sejam do Azure, converta os dados em FOCUS e solte-os no contêiner de ingestão . Este processo não foi explicitamente testado na versão mais recente. Se tiver algum problema, crie um problema.
Sobre as exportações em v0.4-0.5
Os hubs FinOps usam exportações do Cost Management para obter dados de custo. O Gerenciamento de Custos controla a estrutura de pastas para os dados exportados no contêiner msexports . Um caminho típico se parece com:
{container}/{path}/{date-range}/{export-name}/{export-time}/{guid}/{file}
A partir de 0.4, os hubs FinOps não dependem de caminhos de arquivo. Os hubs utilizam o arquivo de manifesto para identificar o escopo, o conjunto de dados, o mês e assim por diante. A única parte importante do caminho para hubs é o contêiner, que deve ser msexports.
Nota
Não exporte dados para o container de ingestão. Os CSVs exportados devem ser publicados no contêiner msexports para serem processados pelo mecanismo de hubs.
Para ingerir dados personalizados, guarde ficheiros parquet alinhados ao FOCUS no contentor de ingestão para que os relatórios do Power BI do kit de ferramentas FinOps funcionem como esperado.
Os manifestos de exportação podem ser alterados com as versões da API. Aqui está um exemplo com a versão 2023-07-01-previewda API:
{
"exportConfig": {
"exportName": "<export-name>",
"resourceId": "/<scope>/providers/Microsoft.CostManagement/exports/<export-name>",
"dataVersion": "<dataset-version>",
"apiVersion": "<api-version>",
"type": "<dataset-type>",
"timeFrame": "OneTime|TheLastMonth|MonthToDate",
"granularity": "Daily"
},
"deliveryConfig": {
"partitionData": true,
"dataOverwriteBehavior": "CreateNewReport|OverwritePreviousReport",
"fileFormat": "Csv",
"containerUri": "<storage-resource-id>",
"rootFolderPath": "<path>"
},
"runInfo": {
"executionType": "Scheduled",
"submittedTime": "2024-02-03T18:33:03.1032074Z",
"runId": "af754a8e-30fc-4ef3-bfc6-71bd1efb8598",
"startDate": "2024-01-01T00:00:00",
"endDate": "2024-01-31T00:00:00"
},
"blobs": [
{
"blobName": "<path>/<export-name>/<date-range>/<export-time>/<guid>/<file-name>.csv",
"byteCount": ###
}
]
}
Os hubs FinOps usam as seguintes propriedades:
-
exportConfig.resourceIdpara identificar o âmbito. -
exportConfig.typepara identificar o tipo de conjunto de dados. -
exportConfig.dataVersionpara identificar a versão do conjunto de dados. -
runInfo.startDatepara identificar o mês exportado.
Os hubs FinOps suportam os seguintes tipos de conjuntos de dados, versões e versões de API:
- FocusCost:
1.0,1.0-preview(v1) - Folha de Preços:
2023-05-01 - Detalhes da Reserva:
2023-03-01 - ReservasRecomendações:
2023-05-01 - Transações de Reserva:
2023-05-01 - Versões da API:
2023-07-01-preview
Centros FinOps v0.2-0.3
As etapas a seguir descrevem o processo de exportação e processamento de dados de custo usando hubs FinOps versões 0.2-0.3:
- O Gerenciamento de Custos exporta detalhes de custo bruto para o contêiner msexports .
- O pipeline de msexports_ExecuteETL inicia o processo ETL (extract-transform-load) quando os ficheiros são adicionados ao armazenamento.
- O pipeline de msexports_ETL_ingestion salva os dados exportados em formato parquet no contentor de ingestão.
- Power BI lê dados de custo do contentor de ingestão.
Os hubs FinOps 0.2-0.3 usam o caminho de exportação para determinar o escopo e o mês exportados. Este ponto é importante, pois as atualizações do caminho podem quebrar os pipelines de dados. Para evitar esse problema, recomendamos atualizar para hubs FinOps 0.4. O caminho esperado deve imitar:
msexports/{scope-id}/{export-name}/{date-range}/{export-time}/{guid}/{file}
-
msexportsé o recipiente especificado na exportação. -
{scope-id}é o caminho da pasta especificado na exportação.Os Hubs 0.3 e anteriores usam isso para identificar de qual escopo os dados estão vindo. Recomendamos o uso do ID do escopo, mas qualquer valor pode ser usado. Exemplos de IDs de escopo incluem:
Tipo de âmbito Valor de exemplo Subscrição /subscriptions/###Grupo de recursos /subscriptions/###/resourceGroups/###Conta de faturação /providers/Microsoft.Billing/billingAccounts/###Perfil de faturação /providers/Microsoft.Billing/billingAccounts/###/billingProfiles/### -
{export-name}é o nome da exportação.Os Hubs ignoram esta pasta.
-
{date-range}é os dados do intervalo de datas que estão sendo exportados.Hubs 0.3 e anteriores usam isso para identificar o mês. O formato desta pasta é
yyyyMMdd-yyyyMMdd. Hubs 0.4 usa o manifesto em vez disso. -
{export-time}é um carimbo de data e hora que indica quando a exportação foi realizada.Os Hubs ignoram isso. O formato desta pasta é
yyyyMMddHHmm. -
{guid}é um GUID exclusivo e nem sempre está presente.Os Hubs ignoram isso. O Gerenciamento de Custos nem sempre inclui essa pasta. A inclusão ou não depende da versão da API usada para criar a exportação.
-
{file}é um manifesto ou dados exportados.A versão 0.3 e anteriores ignoram os ficheiros de manifesto e monitorizam apenas os ficheiros *.csv . Em uma versão futura, os hubs monitorarão o manifesto.
Hub FinOps v0.1
As etapas a seguir descrevem o processo de exportação e processamento de dados de custo usando hubs FinOps versão 0.1:
- O Gerenciamento de Custos exporta detalhes de custo bruto para o contêiner msexports .
- O pipeline msexports_transform salva os dados brutos em formato parquet no container de ingestão.
- Power BI lê dados de custo do contentor de ingestão.
Enviar comentários
Dê-nos a sua opinião com uma breve avaliação. Usamos essas análises para melhorar e expandir as ferramentas e os recursos do FinOps.
Se você está procurando algo específico, vote em uma ideia existente ou crie uma nova. Partilhe ideias com outras pessoas para obter mais votos. Focamo-nos nas ideias mais votadas.