Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Hub FinOps melakukan banyak aktivitas pemrosesan data untuk membersihkan, menormalkan, dan mengoptimalkan data. Bagian berikut menunjukkan bagaimana data mengalir dari Cost Management ke instans hub.
Penyiapan cakupan
Cakupan adalah sebuah tingkat dalam hierarki sumber daya cloud dan akun yang memberikan akses ke data biaya, penggunaan, dan karbon. Untuk hub FinOps, kami biasanya merekomendasikan penggunaan akun penagihan Perjanjian Enterprise (EA) atau profil penagihan Perjanjian Pelanggan Microsoft (MCA), namun cakupan cloud apa pun cukup untuk analisis dasar. Kekhawatiran utama adalah apakah harga dan data reservasi diperlukan, karena Cost Management hanya mengekspos data untuk akun penagihan EA dan profil penagihan MCA.
Hub FinOps mendukung konfigurasi cakupan dengan mengonfigurasi ekspor Cost Management secara manual atau dengan memberikan akses hub FinOps untuk mengelola cakupan atas nama Anda. Cakupan terkelola dikonfigurasi dalam config/settings.json di penyimpanan hub. Informasi ini menjelaskan apa yang terjadi ketika cakupan terkelola baru ditambahkan ke dalam file ini. Cakupan yang tidak dikelola, di mana ekspor Cost Management dikonfigurasi secara manual, tidak memerlukan penyiapan lain.
- Pemicu config_SettingsUpdated berjalan saat file settings.json diperbarui.
- Alur config_ConfigureExports membuat ekspor baru untuk cakupan baru apa pun yang ditambahkan.
Penyerapan data
Diagram berikut menggambarkan proses penyerapan data end-to-end dalam hub FinOps:
- (Opsional) Jika menggunakan ekspor terkelola:
- Pemicu config_DailySchedule dan config_MonthlySchedule berjalan pada jadwal masing-masing untuk memulai penyerapan data.
- Alur config_StartExportProcess mendapatkan ekspor yang berlaku untuk jadwal yang sedang berjalan.
- Alur config_RunExportJobs menjalankan masing-masing ekspor yang dipilih.
- Cost Management mengekspor detail biaya mentah ke kontainer msexports . Pelajari selengkapnya.
- Alur msexports_ExecuteETL mengantrekan alur extract-transform-load (ETL) saat file ditambahkan ke kontainer msexports .
- Alur msexports_ETL_ingestion mengubah data ke format parquet dan memindahkannya ke kontainer ingestion menggunakan struktur file yang dapat diskalakan. Pelajari selengkapnya.
- (Opsional) Jika menggunakan Azure Data Explorer:
- Alur ingestion_ExecuteETL mengantrekan alur penyerapan Data Explorer saat file manifest.json ditambahkan ke kontainer penyerapan .
- Jika menyerap himpunan data kustom di luar ekspor Cost Management, buat file manifest.json kosong di folder penyerapan target setelah semua file lain siap (jangan tambahkan file ini saat file masih diunggah). File manifest.json tidak diurai dan dapat kosong. Satu-satunya tujuan adalah untuk menunjukkan bahwa semua file untuk pekerjaan pemrosesan ini telah ditambahkan.
- Jika kluster tidak berjalan, alur akan memulainya. Azure Data Explorer dapat memakan waktu 15 menit atau lebih untuk memulai.
- Alur ingestion_ETL_dataExplorer memasukkan data ke dalam tabel
{dataset}_rawdi Data Explorer.- Nama himpunan data adalah folder pertama dalam kontainer penyerapan .
- Semua tabel mentah ada di database Penyerapan di Data Explorer.
- Saat data diserap ke dalam tabel mentah di Data Explorer, kebijakan pembaruan menyalin data ke dalam tabel yang
{dataset}_final_v1_0sesuai menggunakan{dataset}_transform_v1_0()fungsi untuk menormalkan semua data agar selaras dengan FOCUS 1.0. - Setelah penyerapan, alur ingestion_ETL_dataExplorer melakukan beberapa pembersihan, termasuk membersihkan data dalam tabel akhir yang melewati periode retensi data.
- Pada 0,7, Data Explorer menerapkan retensi data dalam tabel mentah sementara retensi data dalam tabel akhir diterapkan oleh alur penyerapan. Jika penyerapan data berhenti, data historis tidak dihapus menyeluruh.
- Retensi data dapat dikonfigurasi selama penyebaran templat atau secara manual dalam file config/settings.json di penyimpanan.
- Alur ingestion_ExecuteETL mengantrekan alur penyerapan Data Explorer saat file manifest.json ditambahkan ke kontainer penyerapan .
- Laporan dan alat lain seperti Power BI membaca data dari Data Explorer atau kontainer penyerapan .
- Data di Data Explorer dapat dibaca dari database Hub .
-
{dataset}()Gunakan fungsi untuk menggunakan skema terbaru.- Fungsi ini berguna untuk eksplorasi cepat, tetapi dapat memperkenalkan perubahan yang merusak saat instance hub FinOps diperbarui.
-
{dataset}_v1_0()Gunakan fungsi untuk menggunakan skema FOCUS 1.0.- Skema fungsi versi tidak boleh berubah dari waktu ke waktu tetapi nilai dapat berubah jika sumber data mengubah nilai tersebut.
- Hindari menggunakan database Ingestion untuk query. Meskipun tidak dilarang secara eksplisit, database Penyerapan harus dianggap sebagai area internal untuk penahapan dan persiapan data.
-
- Data dalam penyimpanan dapat dibaca dari
ingestion/<dataset>/<year>/<month>/<scope-path>.- Data harus dibaca secara rekursif dari direktori himpunan data dan dapat mencakup lebih banyak jika diperlukan untuk spesifikasi.
- File di setiap folder himpunan data mungkin memiliki skema yang berbeda berdasarkan sumber data dan jenis akun. Bersiaplah untuk mengubah data jika menyerap di sistem lain, seperti Microsoft Fabric.
- Membaca dari penyimpanan tidak disarankan karena alasan performa. Data Explorer direkomendasikan saat melaporkan biaya lebih dari $ 1 juta.
- Data di Data Explorer dapat dibaca dari database Hub .
Tentang penyerapan Data Explorer
Saat data diserap ke dalam Data Explorer, {dataset}_transform_v1_0() fungsi menerapkan aturan transformasi dalam database Ingestion. Setiap himpunan data memiliki sekumpulan aturan transformasi yang berbeda yang tercakup di bagian berikut.
Untuk daftar perubahan yang diminta, ide yang sedang dipertimbangkan, dan pertanyaan terbuka tentang himpunan data Cost Management yang mendasar, lihat masalah #1111. Tinggalkan komentar tentang masalah tersebut jika Anda menemukan peluang untuk mengatasi masalah apa pun atau untuk menyuarakan dukungan Anda untuk salah satu masalah tertentu.
Transformasi data biaya
Himpunan data yang didukung:
- Microsoft FocusCost:
1.2-preview,1.0r2,1.0,1.0-preview(v1)
Himpunan data berikut diperhitungkan dalam desain, tetapi tidak didukung secara asli. Untuk menyerap himpunan data ini, buat alur data (atau proses eksternal) yang mendorong file parket ke ingestion/Costs/yyyy/mm/{scope-path} folder di penyimpanan.
{scope-path} bisa menjadi jalur unik apa pun, seperti aws/123 atau gcp/projects/foo. Satu-satunya persyaratan adalah memastikan setiap cakupan berada di folder terpisah. Setelah menyalin konten eksternal, buat juga file manifest.json untuk memicu penyerapan Data Explorer.
- Alibaba Cloud FOCUS 1.0
- Amazon Web Services (AWS) FOCUS 1.0
- Fokus Google Cloud Platform (GCP) 1.0
- Oracle Cloud Infrastructure (OCI) FOCUS 1.0
- Tencent Cloud FOCUS 1.0
Mengubah:
- v0.7+:
- Selaraskan nama kolom FOCUS 1.0-preview dengan FOCUS 1.0.
- Termasuk mengonversi versi pratinjau FOCUS 1.0 menjadi versi 1.0.
- Tambahkan
x_IngestionTimeuntuk menunjukkan kapan baris terakhir diperbarui. - Tambahkan
x_SourceChangesuntuk mengidentifikasi kapan data dalam baris diubah oleh hub. - Perbarui
ProviderNamedanPublisherNamejika belum ditentukan. - Tambahkan
x_SourceName,x_SourceProvider,x_SourceType, danx_SourceVersionuntuk mengidentifikasi himpunan data asli yang diserap. - Isi nilai
ListCost,ListUnitPrice,ContractedCost, danContractedUnitPriceyang hilang berdasarkan lembar harga.- Proses ini mengharuskan harga diekspor terlebih dahulu sebelum biaya. Harga tidak tersedia pada hari pertama bulan jika biaya dimasukkan sebelum harga tersedia untuk bulan tersebut.
- Perbaiki
ContractedCostketika pengaturan tidak tepat karena bug di Cost Management. - Ubah
ResourceNamedanx_ResourceGroupNamemenjadi huruf kecil untuk mengatasi masalah konsistensi casing yang merusak pengelompokan dan pemfilteran. - Tambahkan
x_BillingAccountAgreementberdasarkan jenis akun.
- Selaraskan nama kolom FOCUS 1.0-preview dengan FOCUS 1.0.
- v0.8+:
- Perbaiki nilai apa pun
ResourceTypeyang menggunakan ID jenis sumber daya internal (misalnya, microsoft.compute/virtualmachines).
- Perbaiki nilai apa pun
- v0.9+:
-
BillingAccountIdHuruf kecil untuk memastikan gabungan harga cocok dengan semua baris. -
CommitmentDiscountIdHuruf kecil untuk menghindari baris duplikat saat menggabungkan data. - Tambahkan pemeriksaan baru
x_SourceChangesuntukListCostLessThanContractedCostdanContractedCostLessThanEffectiveCost.
-
- v0.10+:
- Perbaiki
x_EffectiveUnitPriceketika dihitung dan ada kesalahan pembulatan dibandingkan denganx_BilledUnitPriceatauContractedUnitPrice. - Hitung PricingQuantity dan ConsumedQuantity ketika ada biaya tetapi tidak ada kuantitas.
- Atur
ContractedCostkeEffectiveCostsaat belum diatur. - Atur
ListCostkeContractedCostsaat belum diatur. - Hapus "-2" di
x_InvoiceSectionIdkolom. - Hapus "Tidak Ditetapkan" di kolom
x_InvoiceSectionName. - Dikoreksi
x_EffectiveUnitPriceketika terjadi kesalahan pembulatan dalam perhitungan. - Tambahkan pemeriksaan baru
x_SourceChangesuntukMissingConsumedQuantity,MissingPricingQuantity, danXEffectiveUnitPriceRoundingError.
- Perbaiki
- v0.11+:
- Ubah
BillingPeriodStartdanBillingPeriodEndmenjadi yang pertama dalam sebulan.
- Ubah
- v12+:
- Konversikan focus 1.0-preview dan 1.0 data ke FOCUS 1.2.
- Diganti namanya
x_InvoiceIdmenjadiInvoiceId. - Diganti namanya
x_PricingCurrencymenjadiPricingCurrency. - Diganti namanya
x_SkuMeterNamemenjadiSkuMeter. - Diubah
x_SkuDetailsmenjadiSkuPriceDetails:- Menambahkan
CoreCountparameter untuk jumlah inti untuk SKU berdasarkanx_SkuDetails.VCPUs,x_SkuDetails.VCoresdanx_SkuDetails.vCores. - Menambahkan
InstanceTypekunci untuk ukuran SKU berdasarkanx_SkuDetails.ServiceTypedanx_SkuDetails.ServerSku. - Menambahkan kunci lisensi
OperatingSystemuntuk sistem operasi VM berdasarkan padax_SkuDetails.ImageType. - Awali semua kunci lain dengan
x_.
- Menambahkan
- Diganti namanya
- Menerapkan kolom berikut saat tidak diatur oleh Cost Management:
CapacityReservationIdCapacityReservationStatusCommitmentDiscountQuantityCommitmentDiscountUnitx_CommitmentDiscountNormalizedRatio
- Ditambahkan
x_AmortizationClassuntuk memfilter pembelian yang diamortisasi dan menghindari menghitungListCostdanContractedCostsecara ganda untuk perhitungan penghematan. - Ditambahkan
x_CommitmentDiscountUtilizationPotentialdanx_CommitmentDiscountUtilizationAmountuntuk menghitung pemanfaatan diskon komitmen. - Ditambahkan
x_SkuCoreCountdanx_ConsumedCoreHoursuntuk jumlah inti dan jam inti untuk SKU berdasarkanx_SkuDetails.VCPUs,x_SkuDetails.VCoresdanx_SkuDetails.vCores. - Ditambahkan
x_SkuInstanceTypeuntuk ukuran SKU berdasarkanx_SkuDetails.ServiceTypedanx_SkuDetails.ServerSku. - Ditambahkan
x_SkuOperatingSystemuntuk sistem operasi VM berdasarkanx_SkuDetails.ImageType. - Menambahkan kolom Azure Hybrid Benefit:
x_SkuLicenseQuantityx_SkuLicenseStatusx_SkuLicenseTypex_SkuLicenseUnit
- Menambahkan kolom diskon dan penghematan:
x_NegotiatedDiscountSavingsx_CommitmentDiscountSavingsx_TotalSavingsx_NegotiatedDiscountPercentx_CommitmentDiscountPercentx_TotalDiscountPercent
- Ditambahkan
x_SourceValuesuntuk melacak perubahan data selama penyerapan.
- Konversikan focus 1.0-preview dan 1.0 data ke FOCUS 1.2.
Transformasi Data Harga
Himpunan data yang didukung:
- Lembar Harga Microsoft:
2023-05-01(EA dan MCA)
Mengubah:
- v0.7+
- Sesuaikan nama kolom dengan FOCUS 1.0.
- Termasuk memberlakukan konsistensi nama kolom EA dan MCA.
- Tidak mengubah nilai yang mendasarinya, yang mungkin berbeda antara EA dan MCA.
- Konversikan
x_SkuTermdurasi ISO ke jumlah bulan tertentu agar sesuai dengan detail biaya.- Kami menunggu FOCUS untuk membuat penentuan cara menentukan durasi sebelum mengubah nilai ini ke ISO atau format lain.
- Ganti
ContractedUnitPriceuntuk penggunaan paket penghematan dengan penggantinya yang setara untuk penggunaan berdasarkan permintaan. - Atur
ListUnitPriceuntuk penggunaan paket penghematan yang diatur ke setara sesuai permintaan. - Tambahkan
SkuPriceIdv2sebagai nilaiSkuPriceIdyang lebih akurat daripada yang ada saat ini dalam detail biaya. - Tambahkan
x_IngestionTimeuntuk menunjukkan kapan baris terakhir diperbarui. - Tambahkan
x_CommitmentDiscountSpendEligibilitydanx_CommitmentDiscountUsageEligibility. - Perluas
x_PricingUnitDescriptionkePricingUnitdanx_PricingBlockSize. - Tambahkan
x_BillingAccountAgreementberdasarkan jenis akun. - Ubah
x_EffectivePeriodEndmenjadi tanggal akhir eksklusif. - Tambahkan
x_EffectiveUnitPriceDiscount,x_ContractedUnitPriceDiscount, danx_TotalUnitPriceDiscountuntuk meringkas diskon yang tersedia per SKU. - Tambahkan
x_EffectiveUnitPriceDiscountPercent,x_ContractedUnitPriceDiscountPercent, danx_TotalUnitPriceDiscountPercentuntuk meringkas persentase diskon per SKU. - Tambahkan
x_SourceName,x_SourceProvider,x_SourceType, danx_SourceVersionuntuk mengidentifikasi himpunan data asli yang diserap.
- Sesuaikan nama kolom dengan FOCUS 1.0.
- v0.9+:
-
BillingAccountIdHuruf kecil untuk memastikan gabungan biaya cocok dengan semua baris.
-
- v12+:
- Sesuaikan nama kolom dengan FOCUS 1.2:
- Diganti namanya
x_PricingCurrencymenjadiPricingCurrency. - Diganti namanya
x_SkuMeterNamemenjadiSkuMeter.
- Diganti namanya
- Menerapkan kolom berikut saat tidak diatur oleh Cost Management:
CommitmentDiscountUnit
- Sesuaikan nama kolom dengan FOCUS 1.2:
Transformasi data untuk rekomendasi
Himpunan data yang didukung:
- Microsoft ReservationRecommendations:
2023-05-01(EA dan MCA)
Mengubah:
- v0.7+:
- Sesuaikan nama kolom dengan FOCUS 1.0.
- Termasuk memberlakukan konsistensi nama kolom EA dan MCA.
- Tidak mengubah nilai yang mendasarinya, yang mungkin berbeda antara EA dan MCA.
- Tambahkan
x_SourceName,x_SourceProvider,x_SourceType, danx_SourceVersionuntuk mengidentifikasi himpunan data asli yang diserap.
- Sesuaikan nama kolom dengan FOCUS 1.0.
Perubahan data transaksi
Himpunan data yang didukung:
- Microsoft ReservationTransactions:
2023-05-01(EA dan MCA)
Mengubah:
- v0.7+:
- Sesuaikan nama kolom dengan FOCUS 1.0.
- Termasuk memberlakukan konsistensi nama kolom EA dan MCA.
- Tidak mengubah nilai yang mendasarinya, yang mungkin berbeda antara EA dan MCA.
- Tambahkan
x_SourceName,x_SourceProvider,x_SourceType, danx_SourceVersionuntuk mengidentifikasi himpunan data asli yang diserap.
- Sesuaikan nama kolom dengan FOCUS 1.0.
- v12+:
- Sesuaikan nama kolom dengan FOCUS 1.2:
- Diganti namanya
x_InvoiceIdmenjadiInvoiceId.
- Diganti namanya
- Sesuaikan nama kolom dengan FOCUS 1.2:
Transformasi data penggunaan diskon komitmen
Himpunan data yang didukung:
- Microsoft ReservationDetails:
2023-03-01(EA dan MCA)
Mengubah:
- Sesuaikan nama kolom dengan FOCUS 1.0.
- Termasuk memberlakukan konsistensi nama kolom EA dan MCA.
- Tidak mengubah nilai yang mendasarinya, yang mungkin berbeda antara EA dan MCA.
- Tambahkan
ResourceTypekolom dengan nama tampilan jenis sumber daya. - Tambahkan
ServiceName,ServiceCategory, danx_ServiceModelkolom. - Ganti "NA" dengan null untuk
x_CommitmentDiscountNormalizedGroup. - Tambahkan
x_CommitmentDiscountQuantityberdasarkan FOCUS 1.1.
Tentang kontainer penyerapan
Hub FinOps mengandalkan jalur folder dan format nama file tertentu dalam kontainer penyimpanan ingesti :
ingestion/{dataset}/{date-folder-path}/{scope-id-path}/{ingestion-id}__{original-file-name}.parquet
-
ingestionadalah kontainer tempat alur data menyimpan data. -
{dataset}adalah jenis himpunan data yang diekspor. Jika memasukkan data ke Azure Data Explorer, basis data Ingestion harus memiliki tabel "_raw" yang cocok dan peka huruf besar/kecil (misalnya, "Costs_raw"). Hub FinOps mendukung himpunan data berikut dalam rilis ini:- CommitmentDiscountUsage - Ekspor detail reservasi Cost Management.
- Biaya - DATA biaya dan penggunaan FOCUS.
- Harga - Ekspor lembar harga Manajemen Biaya.
- Rekomendasi - Ekspor rekomendasi pengelolaan biaya untuk reservasi.
- Transaksi - Ekspor transaksi reservasi pada Cost Management.
- Untuk menyerap himpunan data kustom, buat tabel yang
{dataset}_rawcocok dan pemetaan penyerapan parket di database Penyerapan .
-
{date-folder-path}dapat berupa satu atau beberapa folder yang menunjukkan berapa banyak himpunan data yang diserap yang harus dipertahankan. Contoh:-
all(atau tempat penampung apa pun) untuk tidak melacak riwayat himpunan data. Setiap penyerapan menggantikan data sebelumnya. Tidak didukung dalam laporan Power BI berbasis penyimpanan. -
{yyyy}sebagai tahun empat digit dari himpunan data yang diekspor untuk hanya mempertahankan penyerapan terbaru per tahun. Tidak didukung dalam laporan Power BI berbasis penyimpanan. -
{yyyy}/{mm}sebagai tahun empat digit dan bulan dengan dua digit dari dataset yang diekspor untuk mempertahankan pengambilan data terbaru setiap bulan. -
{yyyy}/{mm}/{dd}sebagai tahun empat digit, bulan dua digit, dan hari dua digit dari tanggal dalam himpunan data yang diekspor untuk mempertahankan pengingesan terbaru per hari. Tidak didukung dalam laporan Power BI berbasis penyimpanan.
-
-
{scope-id-path}adalah ID sumber daya yang berkualifikasi penuh dari cakupan data. Jika menyerap data non-Azure, sebaiknya gunakan hierarki logis berdasarkan cakupan data (misalnya,aws/{account-id},gcp/{project-name},oci/{component-id}/{component-id}). -
{ingestion-id}adalah ID unik untuk himpunan data yang diserap. ID ini dapat berupa GUID, tanda waktu, atau nilai apa pun selama konsisten di semua file untuk himpunan data yang diserap. Nilai ini digunakan untuk menghapus data yang sebelumnya diserap di jalur folder yang sama. -
{original-file-name}dimaksudkan untuk menjadi nama file asli atau pengidentifikasi lain untuk menunjukkan dari mana data dalam file berasal. Nilai ini hanya untuk tujuan pemecahan masalah Anda.
Jalur folder lengkap dan ID proses masuk keduanya digunakan untuk mencegah duplikasi data dalam penyimpanan atau di Azure Data Explorer. Nama file asli ditambahkan ke extent Azure Data Explorer untuk keperluan pemecahan masalah, tetapi tidak dilacak atau digunakan oleh hub FinOps.
Jika Anda perlu menggunakan hub untuk memantau data non-Azure, konversikan data ke FOCUS dan letakkan ke dalam kontainer penyerapan menggunakan panduan ini. Perhatikan dukungan untuk data non-Azure belum diuji secara eksplisit dalam rilis terbaru. Jika Anda mengalami masalah, buat masalah.
Tentang ekspor
Hub FinOps memanfaatkan ekspor Cost Management untuk mendapatkan data biaya. Cost Management mengontrol struktur folder untuk data yang diekspor dalam kontainer penyimpanan msexports . Jalur umum terlihat seperti:
{container}/{path}/{date-range}/{export-name}/{export-time}/{guid}/{file}
Hub FinOps menggunakan file manifes untuk mengidentifikasi cakupan, himpunan data, bulan, dll. Satu-satunya bagian penting dari jalur untuk hub adalah kontainer, yang harus msexports.
Jangan mengekspor data ke kontainer penyerapan . CSV yang diekspor harus diterbitkan ke kontainer msexports untuk diproses oleh mesin hub.
Untuk menyerap data kustom, simpan file parket dalam kontainer penyerapan untuk laporan Power BI toolkit FinOps agar berfungsi seperti yang diharapkan. Setelah semua file parket ditambahkan, tambahkan file manifest.json kosong untuk memicu penyerapan.
Untuk mengimpor file-file CSV dari hasil ekspor Cost Management, simpan file-file tersebut dalam folder tertentu di dalam kontainer msexports. Setelah semua file ditambahkan, tambahkan file manifest.json berdasarkan templat di bawah ini. Buat perubahan berikut untuk memastikan keberhasilan penyerapan:
- Ubah
<export-name>ke nilai unik dalam cakupan untuk himpunan data yang Anda serap.- Ini hanya digunakan untuk rekomendasi untuk membedakan berbagai jenis rekomendasi yang diserap yang tidak dapat diidentifikasi dari manifes ekspor saja. Untuk rekomendasi reservasi, idealnya termasuk layanan, cakupan (tunggal/bersama), dan periode lookback.
- Ubah
<dataset>dan<version>ke tipe dan versi ekspor Cost Management. Lihat daftar di bawah ini untuk himpunan data yang didukung. - Ubah
<scope>ke ID sumber daya Azure untuk cakupan asal data. - Ubah
<guid>menjadi GUID yang unik. - Ubah
<yyyy-MM>ke tahun dan bulan himpunan data. - Ubah
<path-to-file>ke jalur folder lengkap di bawah kontainer (jangan sertakan "msexports"). - Ubah
<file-name>ke nama file pertama yang diunggah ke penyimpanan. - Jika Anda memiliki lebih dari satu file CSV, salin objek blob untuk setiap file yang Anda unggah dan perbarui nama file.
{
"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"
}
]
}
Hub FinOps mendukung jenis himpunan data, versi, dan versi API berikut:
- FocusCost:
1.0r2,1.0,1.0-preview(v1) - Lembar Harga:
2023-05-01 - DetailReservasi:
2023-03-01 - RekomendasiReservasi:
2023-05-01 - Transaksi Reservasi:
2023-05-01 - Versi API:
2023-07-01-preview
Hub FinOps v0.6
Bagian berikut menjelaskan proses data di hub FinOps 0.6.
Pengaturan cakupan di v0.6
Langkah-langkah berikut terjadi saat cakupan terkelola baru ditambahkan ke instans hub. Area yang tidak dikelola (di mana ekspor Cost Management dikonfigurasi secara manual) tidak memerlukan konfigurasi di hub.
- Pemicu config_SettingsUpdated berjalan saat file settings.json diperbarui.
- Alur config_ConfigureExports membuat ekspor baru untuk cakupan baru apa pun yang ditambahkan.
Penyerapan data di v0.6
Penyerapan data dapat dipecah menjadi dua bagian:
- Ekspor mendorong data ke penyimpanan.
- Hub memproses dan menyerap data.
Untuk cakupan terkelola, hub melakukan langkah-langkah berikut:
- Pemicu config_DailySchedule dan config_MonthlySchedule berjalan pada jadwal masing-masing untuk memulai penyerapan data.
- Alur config_StartExportProcess mendapatkan ekspor yang berlaku untuk jadwal yang sedang berjalan.
- Alur config_RunExportJobs menjalankan masing-masing ekspor yang dipilih.
- Cost Management mengekspor detail biaya mentah ke kontainer msexports . Pelajari selengkapnya.
- Alur msexports_ExecuteETL mengantrekan alur extract-transform-load (ETL) saat file ditambahkan ke kontainer msexports .
- Alur msexports_ETL_ingestion mengubah data ke format parquet dan memindahkannya ke kontainer ingestion menggunakan struktur file yang dapat diskalakan. Pelajari selengkapnya.
- Power BI atau alat lain membaca data dari kontainer penyerapan .
Setelah ekspor dijalankan, baik terkelola atau tidak dikelola, hub melakukan langkah-langkah berikut:
- Alur msexports_ExecuteETL memulai proses extract-transform-load (ETL) saat file ditambahkan ke penyimpanan.
- Alur msexports_ETL_ingestion mengubah data ke format parquet dan memindahkannya ke kontainer ingestion menggunakan struktur file yang dapat diskalakan. Pelajari selengkapnya.
- Power BI atau alat lain membaca data dari kontainer penyerapan .
Tentang penyerapan di v0.6
Hub FinOps mengandalkan jalur folder dan format nama file tertentu dalam kontainer penyerapan :
ingestion/{dataset}/{date-folder-path}/{scope-id-path}/{ingestion-id}__{original-file-name}.parquet
-
ingestionadalah kontainer tempat alur data menyimpan data. -
{dataset}adalah jenis himpunan data yang diekspor. -
{date-folder-path}dapat berupa satu atau beberapa folder yang menunjukkan berapa banyak himpunan data yang diserap yang harus dipertahankan. Contoh:-
all(atau tempat penampung apa pun) untuk tidak melacak riwayat himpunan data. Setiap penyerapan menggantikan data sebelumnya. Tidak didukung dalam laporan Power BI berbasis penyimpanan. -
{yyyy}sebagai tahun empat digit dari himpunan data yang diekspor untuk hanya mempertahankan penyerapan terbaru per tahun. Tidak didukung dalam laporan Power BI berbasis penyimpanan. -
{yyyy}/{mm}sebagai tahun empat digit dan bulan dengan dua digit dari dataset yang diekspor untuk mempertahankan pengambilan data terbaru setiap bulan. -
{yyyy}/{mm}/{dd}sebagai tahun empat digit, bulan dua digit, dan hari dua digit dari tanggal dalam himpunan data yang diekspor untuk mempertahankan pengingesan terbaru per hari. Tidak didukung dalam laporan Power BI berbasis penyimpanan.
-
-
{scope-id-path}adalah ID sumber daya yang berkualifikasi penuh dari cakupan data. Jika menyerap data non-Azure, sebaiknya gunakan hierarki logis berdasarkan cakupan data (misalnya, "aws/{account-id}", "gcp/{project-name}", "oci/{component-id}/{component-id}"). -
{ingestion-id}adalah ID unik untuk himpunan data yang diserap. ID ini dapat berupa GUID, tanda waktu, atau nilai apa pun selama konsisten di semua file untuk himpunan data yang diserap. Nilai ini digunakan untuk menghapus data yang sebelumnya diserap di jalur folder yang sama. -
{original-file-name}dimaksudkan untuk menjadi nama file asli atau pengidentifikasi lain untuk menunjukkan dari mana data dalam file berasal. Nilai ini hanya untuk tujuan pemecahan masalah Anda.
Jalur folder lengkap dan ID proses masuk keduanya digunakan untuk mencegah duplikasi data dalam penyimpanan atau di Azure Data Explorer. Nama file asli ditambahkan ke extent Azure Data Explorer untuk keperluan pemecahan masalah, tetapi tidak dilacak atau digunakan oleh hub FinOps.
Jika Anda perlu menggunakan hub untuk memantau data non-Azure, konversikan data ke FOCUS dan letakkan ke dalam kontainer penyerapan menggunakan panduan ini. Perhatikan dukungan untuk data non-Azure belum diuji secara eksplisit dalam rilis terbaru. Jika Anda mengalami masalah, buat masalah.
Tentang ekspor di v0.6
Hub FinOps menggunakan ekspor dari Cost Management untuk mendapatkan data biaya. Cost Management mengontrol struktur folder untuk data yang diekspor dalam kontainer msexports . Jalur umum terlihat seperti:
{container}/{path}/{date-range}/{export-name}/{export-time}/{guid}/{file}
Sejak versi 0.4, hub FinOps tidak mengandalkan jalur file. Hub menggunakan file manifes untuk mengidentifikasi cakupan, himpunan data, bulan, dll. Satu-satunya bagian penting dari jalur untuk hub adalah kontainer, yang harus msexports.
Peringatan
- Jangan mengekspor data ke kontainer penyerapan . CSV yang diekspor harus diterbitkan ke kontainer msexports untuk diproses oleh mesin hub.
- Untuk memasukkan data kustom, simpan file parquet yang selaras dengan FOCUS di dalam kontainer pemasukan agar laporan Power BI toolkit FinOps dapat berfungsi seperti yang diharapkan.
Manifes ekspor dapat berubah dengan versi API. Berikut adalah contoh dengan versi 2023-07-01-previewAPI :
{
"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": ###
}
]
}
Hub FinOps menggunakan properti berikut:
-
exportConfig.resourceIduntuk mengidentifikasi cakupan. -
exportConfig.typeuntuk mengidentifikasi jenis himpunan data. -
exportConfig.dataVersionuntuk mengidentifikasi versi himpunan data. -
runInfo.startDateuntuk mengidentifikasi bulan yang diekspor.
Hub FinOps mendukung jenis himpunan data, versi, dan versi API berikut:
- FocusCost:
1.0,1.0-preview(v1) - Lembar Harga:
2023-05-01 - DetailReservasi:
2023-03-01 - RekomendasiReservasi:
2023-05-01 - Transaksi Reservasi:
2023-05-01 - Versi API:
2023-07-01-preview
Hub FinOps v0.4-0.5
Informasi berikut menjelaskan bagaimana data diproses di hub FinOps v0.4 dan v0.5.
Pengaturan cakupan di v0.4-0.5
- Pemicu config_SettingsUpdated berjalan saat file settings.json diperbarui.
- Alur config_ConfigureExports membuat ekspor baru untuk cakupan baru apa pun yang ditambahkan.
Pengambilan data pada v0.4-0.5
Untuk cakupan terkelola:
- Pemicu config_DailySchedule dan config_MonthlySchedule berjalan pada jadwal masing-masing untuk memulai penyerapan data.
- Alur config_ExportData mengambil data ekspor yang berlaku untuk jadwal berjalan.
- Alur config_RunExports menjalankan masing-masing ekspor yang dipilih.
- Cost Management mengekspor detail biaya mentah ke kontainer msexports . Untuk informasi selengkapnya, lihat Tentang ekspor di v04-05.
Setelah ekspor selesai, untuk cakupan terkelola dan tidak terkelola:
- Alur msexports_ExecuteETL memulai proses extract-transform-load (ETL) saat file ditambahkan ke penyimpanan.
- Alur msexports_ETL_ingestion mengonversi data ke skema standar dan menyimpan data mentah dalam format parquet ke kontainer ingestion. Untuk informasi selengkapnya, lihat Tentang penyerapan di v04-05.
- Power BI membaca data biaya dari kontainer penyerapan .
Tentang penyerapan di v0.4-0.5
Hub FinOps mengandalkan jalur folder tertentu dalam kontainer penyerapan :
ingestion/{dataset}/{yyyy}/{mm}/{scope-id}
-
ingestionadalah kontainer tempat alur data menyimpan data. -
{dataset}adalah jenis himpunan data yang diekspor. -
{month}adalah tahun dan bulan dari data yang diekspor yang diformat sebagaiyyyyMM. -
{scope-id}diharapkan menjadi ID sumber daya yang sudah sepenuhnya ditentukan dari cakupan asal data.
Jika Anda perlu menggunakan hub untuk memantau data non-Azure, konversikan data ke FOCUS dan letakkan ke dalam kontainer penyerapan . Proses ini tidak diuji secara eksplisit dalam rilis terbaru. Jika Anda mengalami masalah, buat masalah.
Tentang ekspor di v0.4-0.5
Hub FinOps menggunakan ekspor dari Cost Management untuk mendapatkan data biaya. Cost Management mengontrol struktur folder untuk data yang diekspor dalam kontainer msexports . Jalur umum terlihat seperti:
{container}/{path}/{date-range}/{export-name}/{export-time}/{guid}/{file}
Sejak versi 0.4, hub FinOps tidak mengandalkan jalur file. Hub menggunakan file manifes untuk mengidentifikasi cakupan, himpunan data, bulan, dan sebagainya. Satu-satunya bagian penting dari rute untuk hub adalah kontainer, yang seharusnya msexports.
Catatan
Jangan mengekspor data ke kontainer penyerapan . CSV yang diekspor harus diterbitkan ke kontainer msexports untuk diproses oleh mesin hub.
Untuk memasukkan data kustom, simpan file parquet yang selaras dengan FOCUS di dalam kontainer pemasukan agar laporan Power BI toolkit FinOps dapat berfungsi seperti yang diharapkan.
Manifes ekspor dapat berubah dengan versi API. Berikut adalah contoh dengan versi 2023-07-01-previewAPI :
{
"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": ###
}
]
}
Hub FinOps menggunakan properti berikut:
-
exportConfig.resourceIduntuk mengidentifikasi cakupan. -
exportConfig.typeuntuk mengidentifikasi jenis himpunan data. -
exportConfig.dataVersionuntuk mengidentifikasi versi himpunan data. -
runInfo.startDateuntuk mengidentifikasi bulan yang diekspor.
Hub FinOps mendukung jenis himpunan data, versi, dan versi API berikut:
- FocusCost:
1.0,1.0-preview(v1) - Lembar Harga:
2023-05-01 - DetailReservasi:
2023-03-01 - RekomendasiReservasi:
2023-05-01 - Transaksi Reservasi:
2023-05-01 - Versi API:
2023-07-01-preview
Hub FinOps v0.2-0.3
Langkah-langkah berikut menguraikan proses untuk mengekspor dan memproses data biaya menggunakan hub FinOps versi 0.2-0.3:
- Cost Management mengekspor detail biaya mentah ke kontainer msexports .
- Alur msexports_ExecuteETL memulai proses extract-transform-load (ETL) saat file ditambahkan ke penyimpanan.
- Alur msexports_ETL_ingestion menyimpan data yang diekspor dalam format parquet dalam kontainer ingestion.
- Power BI membaca data biaya dari kontainer penyerapan .
Hub FinOps 0.2-0.3 menggunakan jalur ekspor untuk menentukan cakupan dan bulan yang diekspor. Poin ini penting karena pembaruan pada jalur dapat merusak alur data. Untuk menghindari masalah ini, sebaiknya perbarui ke hub FinOps 0.4. Jalur yang diharapkan harus meniluki:
msexports/{scope-id}/{export-name}/{date-range}/{export-time}/{guid}/{file}
-
msexportsadalah kontainer yang ditentukan pada ekspor. -
{scope-id}adalah jalur folder yang ditentukan pada ekspor tersebut.Hub 0.3 dan yang lebih lama menggunakan ini untuk mengidentifikasi cakupan mana data berasal. Sebaiknya gunakan ID cakupan tetapi nilai apa pun dapat digunakan. Contoh ID cakupan meliputi:
Jenis cakupan Contoh nilai Langganan /subscriptions/###Grup sumber daya /subscriptions/###/resourceGroups/###Akun tagihan /providers/Microsoft.Billing/billingAccounts/###Profil tagihan /providers/Microsoft.Billing/billingAccounts/###/billingProfiles/### -
{export-name}adalah nama ekspor.Hub mengabaikan folder ini.
-
{date-range}adalah data rentang tanggal yang sedang diekspor.Hub 0.3 dan yang lebih lama menggunakan ini untuk mengidentifikasi bulan. Format untuk folder ini adalah
yyyyMMdd-yyyyMMdd. Hubs 0.4 menggunakan manifes sebagai pengganti. -
{export-time}adalah tanda waktu ketika ekspor dijalankan.Hub mengabaikan ini. Format untuk folder ini adalah
yyyyMMddHHmm. -
{guid}adalah GUID unik dan tidak selalu hadir.Hub mengabaikan ini. Cost Management tidak selalu menyertakan folder ini. Apakah disertakan atau tidak tergantung pada versi API yang digunakan untuk membuat ekspor.
-
{file}adalah manifes atau data yang diekspor.Versi 0.3 dan yang lebih lama mengabaikan file manifes dan hanya memantau *.csv file. Dalam rilis mendatang, hub akan memantau manifes.
Hub FinOps v0.1
Langkah-langkah berikut menguraikan proses untuk mengekspor dan memproses data biaya menggunakan hub FinOps versi 0.1:
- Cost Management mengekspor detail biaya mentah ke kontainer msexports .
- Alur msexports_transform menyimpan data mentah dalam format parquet ke kontainer penyerapan .
- Power BI membaca data biaya dari kontainer penyerapan .
Berikan umpan balik
Beri tahu kami bagaimana kinerja kami melalui ulasan singkat. Kami menggunakan ulasan ini untuk meningkatkan dan memperluas alat dan sumber daya FinOps.
Jika Anda mencari sesuatu yang spesifik, pilih yang sudah ada atau buat ide baru. Bagikan ide dengan orang lain untuk mendapatkan lebih banyak suara. Kami fokus pada ide-ide dengan suara terbanyak.