แชร์ผ่าน


การรวม Git และไปป์ไลน์การปรับใช้

Real-Time Intelligence ได้รวมเข้ากับ ความสามารถในการจัดการวงจรชีวิต ใน Microsoft Fabric ซึ่งให้การทํางานร่วมกันอย่างเป็นมาตรฐานระหว่างสมาชิกทีมพัฒนาทั้งหมดตลอดชีวิตของผลิตภัณฑ์ ฟังก์ชันนี้จะถูกส่งผ่านการรวม git และไปป์ไลน์การปรับใช้

ในบทความนี้ คุณจะได้เรียนรู้เกี่ยวกับตัวเลือกการกําหนดค่าที่พร้อมใช้งานผ่านการจัดการวงจรชีวิตของ Microsoft Fabric สําหรับ Real-Time Intelligence

การรวม Git

Real-Time Intelligence สนับสนุนการรวม git สําหรับเหตุการณ์ ฐานข้อมูล KQL ชุดคิวรี KQL และแดชบอร์ด Real-Time การรวม git ช่วยให้คุณสามารถติดตามการเปลี่ยนแปลงไปยังรายการเหล่านี้ในพื้นที่ทํางานที่เชื่อมต่อกับ git ได้ การรวมให้วิธีการจัดการวงจรชีวิตของรายการเหล่านี้ รวมถึงการกําหนดเวอร์ชัน การแบ่งสาขา และการผสาน

รายการทั้งหมดประกอบด้วยเมตาดาต้า และฐานข้อมูล eventhouses และ KQL ยังประกอบด้วยข้อมูลที่อ้างอิงโดยวัตถุหลายชิ้นในพื้นที่ทํางานด้วย

องค์ประกอบเมตาดาต้าต่อไปนี้รวมอยู่ในรายการ Real-Time Intelligence:

  • รายการฐานข้อมูล Eventhouse และ KQL: ตาราง ฟังก์ชัน และมุมมองที่เป็นภาพ
  • ชุดคิวรี KQL: แท็บและแหล่งข้อมูล
  • แดชบอร์ดReal-Time: แหล่งข้อมูล พารามิเตอร์ คิวรีพื้นฐาน และไทล์

จากมุมมองเวิร์กโฟลว์การพัฒนา วัตถุที่ขึ้นต่อกันต่อไปนี้อาจอ้างอิงฐานข้อมูลเหตุการณ์หรือ KQL:

การรวม git ใช้ที่แพลตฟอร์มสําหรับรายการทั้งหมดและในระดับข้อมูลสําหรับฐานข้อมูลเหตุการณ์และ KQL

การรวมระดับแพลตฟอร์ม

ข้อมูลต่อไปนี้จะถูกซีเรียลไลซ์และติดตามในพื้นที่ทํางานที่เชื่อมต่อกับ git:

  • อีเวนต์เฮ้าส์

    • ชื่อ
    • คำอธิบาย
    • guid แบบลอจิคัล
  • ฐานข้อมูล KQL

    • ชื่อ
    • คำอธิบาย
    • นโยบายการแคช
    • นโยบายการเก็บข้อมูล
    • guid แบบลอจิคัล
  • ชุดคิวรี KQL

    • ชื่อ
    • เวอร์ชัน
    • แท็บ
    • แหล่งข้อมูล
  • แดชบอร์ดแบบเรียลไทม์

    • รหัส
    • eTag
    • Schema_version
    • ชื่อเรื่อง
    • ไทล์ []
    • คิวรีพื้นฐาน []
    • พารามิเตอร์[]
    • แหล่งข้อมูล[]

การรวมระดับข้อมูล

การรวมระดับข้อมูลทําได้โดยใช้สคริปต์ KQL เพื่อสร้างหรือปรับเปลี่ยน schema ของวัตถุฐานข้อมูล คุณสมบัติ และนโยบาย อย่างไรก็ตาม สิ่งสําคัญคือต้องทราบว่าไม่ใช่ทุกคําสั่งที่ได้รับการสนับสนุนในสคริปต์ KQL ที่สามารถเข้ากันได้กับ Microsoft Fabric ALM

  • ฐานข้อมูล KQL

    วัตถุฐานข้อมูลต่อไปนี้ได้รับการสนับสนุนในสคริปต์ KQL:

    • ตาราง
    • ฟังก์ชัน
    • การอัปเดตนโยบายตาราง
    • นโยบายการเข้ารหัสคอลัมน์
    • มุมมองที่เป็นเอกสาร
    • การแมปการนําเข้าตาราง

    สําหรับข้อมูลเกี่ยวกับคําสั่งที่ได้รับการสนับสนุน ให้ดูคําอธิบายไฟล์ DatabaseSchema.kql ภายใต้ไฟล์ฐานข้อมูล KQL

การแสดงการรวม Git

รายการเหตุการณ์และฐานข้อมูล KQL แต่ละรายการที่ซิงค์กับ git จะปรากฏในโฟลเดอร์ของตนเองที่ชื่อโดยใช้รูปแบบต่อไปนี้: <ItemName> <ItemType> ที่ <ItemName> ซึ่ง คือชื่อของหน่วยข้อมูล และ <ItemType> เป็นชนิดของสินค้า ตัวอย่างเช่น สําหรับเหตุการณ์มีชื่อ ตัวอย่าง ที่มีฐานข้อมูล KQL เดียวที่ชื่อ ว่า ExampleDB โฟลเดอร์ต่อไปนี้จะปรากฏในที่เก็บ git:

  • ตัวอย่างอีเวนต์เฮ้าส์
  • ExampleDB. KQLDatabase

ไฟล์อีเวนต์เฮ้าส์

ไฟล์ต่างๆ ต่อไปนี้มีอยู่ในโฟลเดอร์ eventhouse:

  • แท่น

    ไฟล์ใช้ schema ต่อไปนี้เพื่อกําหนด eventhouse:

    {
      "$schema": "https://developer.microsoft.com/json-schemas/fabric/gitIntegration/platformProperties/2.0.0/schema.json",
      "metadata": {
        "type": "Eventhouse",
        "displayName": "",
        "description": ""
      },
      "config": {
        "version": "2.0",
        "logicalId": ""
      }
    }
    
  • EventhouseProperties.json

    ไฟล์นี้ช่วยให้คุณสามารถกําหนดค่าการตั้งค่าระดับแพลตฟอร์มสําหรับรายการ eventhouse

ไฟล์ฐานข้อมูล KQL

ไฟล์ต่อไปนี้มีอยู่ในโฟลเดอร์ฐานข้อมูล KQL:

  • แท่น

    ไฟล์นี้ใช้สคีมาต่อไปนี้เพื่อกําหนดฐานข้อมูล KQL:

    {
      "$schema": "https://developer.microsoft.com/json-schemas/fabric/gitIntegration/platformProperties/2.0.0/schema.json",
      "metadata": {
        "type": "KQLDatabase",
        "displayName": "",
        "description": ""
      },
      "config": {
        "version": "2.0",
        "logicalId": ""
      }
    }
    
  • DatabaseProperties.json

    ไฟล์นี้ใช้ Schema ต่อไปนี้เพื่อกําหนดค่าการตั้งค่าระดับแพลตฟอร์มสําหรับรายการฐานข้อมูล KQL:

    {
      "databaseType": "ReadWrite",
      "parentEventhouseItemId": "",
      "oneLakeCachingPeriod": "P36500D",
      "oneLakeStandardStoragePeriod": "P36500D"
    }
    

    ตารางต่อไปนี้อธิบายเกี่ยวกับคุณสมบัติใน DatabaseProperties.json ไฟล์:

    ทรัพย์สิน คำอธิบาย
    databaseType ค่าที่ถูกต้อง: ReadWrite
    parentEventhouseItemId ID ตรรกะของ eventhouse หลัก ไม่ควรปรับเปลี่ยนค่านี้
    oneLakeCachingPeriod การตั้งค่าระดับฐานข้อมูลสําหรับนโยบายการแคช
    oneLakeStandardStoragePeriod การตั้งค่าระดับฐานข้อมูลสําหรับนโยบายการเก็บข้อมูล
  • DatabaseSchema.kql

    ไฟล์เป็น สคริปต์ KQL ที่กําหนดค่าการตั้งค่าระดับข้อมูลสําหรับฐานข้อมูล KQL สร้างขึ้นโดยอัตโนมัติเมื่อฐานข้อมูล KQL ถูกซิงโครไนซ์กับ git ไฟล์จะถูกดําเนินการเมื่อซิงค์กับพื้นที่ทํางาน Fabric ของคุณ

    คุณสามารถเปลี่ยนแปลงสคริปต์นี้ได้โดยการเพิ่มหรือปรับเปลี่ยนคําสั่งที่ได้รับการสนับสนุนต่อไปนี้:

    วัตถุฐานข้อมูล คําสั่งที่ได้รับการสนับสนุน
    ตาราง สร้างหรือผสาน
    ฟังก์ชัน สร้างหรือเปลี่ยนแปลง
    การอัปเดตนโยบายตาราง เปลี่ยน
    นโยบายการเข้ารหัสคอลัมน์ เปลี่ยน
    มุมมองที่เป็นเอกสาร สร้างหรือเปลี่ยนแปลง
    การแมปการนําเข้าตาราง สร้างหรือเปลี่ยนแปลง

    ตัวอย่างต่อไปนี้เป็นสคริปต์ KQL เพื่อสร้างตารางและการอิงตามการแมป

    // KQL script
    // Use management commands in this script to configure your database items, such as tables, functions, materialized views, and more.
    
    .create-merge table SampleTable (UsageDate:datetime, PublisherType:string, ChargeType:string, ServiceName:string, ServiceTier:string, Meter:string, PartNumber:string, CostUSD:real, Cost:real, Currency:string)
    .create-or-alter table SampleTable ingestion csv mapping 'SampleTable_mapping' "[{'Properties':{'Ordinal':'0'},'column':'UsageDate','datatype':''},{'Properties':{'Ordinal':'1'},'column':'PublisherType','datatype':''}]"
    

ไฟล์ชุดคิวรี KQL

ไฟล์นี้ใช้สคีมาต่อไปนี้เพื่อกําหนดชุดคิวรี KQL:

{
  "queryset": {
    "version": "1.0.0",
    "tabs": [
      {
        "id": "",
        "title": "",
        "content": "",
        "dataSourceId": "Guid1"
      }
    ],
    "dataSources": [
      {
        "id": "",
        "clusterUri": "",
        "type": "AzureDataExplorer",
        "databaseName": ""
      },
      {
        "id": "Guid1",
        "clusterUri": "",
        "type": "Fabric",
        "databaseItemId": "",
        "databaseItemName": ""
      }
    ]
  }
}

Real-Time ไฟล์แดชบอร์ด

ไฟล์นี้ใช้สคีมาต่อไปนี้เพื่อกําหนด Real-Time แดชบอร์ด:

{
  "$schema": "",
  "id": "",
  "eTag": "\"\"",
  "schema_version": "",
  "title": "",
  "tiles": [
    {
      "id": "",
      "title": "",
      "visualType": "",
      "pageId": "",
      "layout": {
        "x": ,
        "y": ,
        "width": ,
        "height":
      },
      "queryRef": {
        "kind": "",
        "queryId": ""
      },
      "visualOptions": {
        "multipleYAxes": {
          "base": {
            "id": "",
            "label": "",
            "columns": [],
            "yAxisMaximumValue": ,
            "yAxisMinimumValue": ,
            "yAxisScale": "",
            "horizontalLines": []
          },
          "additional": [],
          "showMultiplePanels":
        },
        "hideLegend": ,
        "legendLocation": "",
        "xColumnTitle": "",
        "xColumn": ,
        "yColumns": ,
        "seriesColumns": ,
        "xAxisScale": "",
        "verticalLine": "",
        "crossFilterDisabled": ,
        "drillthroughDisabled": ,
        "crossFilter": [
          {
            "interaction": "",
            "property": "",
            "parameterId": "",
            "disabled":
          }
        ],
        "drillthrough": [],
        "selectedDataOnLoad": {
          "all": ,
          "limit":
        },
        "dataPointsTooltip": {
          "all": ,
          "limit":
        }
      }
    }
  ],
  "baseQueries": [],
  "parameters": [
    {
      "kind": "",
      "id": "",
      "displayName": "",
      "description": "",
      "variableName": "",
      "selectionType": "",
      "includeAllOption": ,
      "defaultValue": {
        "kind": ""
      },
      "dataSource": {
        "kind": "",
        "columns": {
          "value": ""
        },
        "queryRef": {
          "kind": "",
          "queryId": ""
        }
      },
      "showOnPages": {
        "kind": ""
      },
      "allIsNull":
    },
  ],
  "dataSources": [
    {
      "id": "",
      "name": "",
      "clusterUri": "",
      "database": "",
      "kind": "",
      "scopeId": ""
    }
  ],
  "pages": [
    {
      "name": "",
      "id": ""
    }
  ],
  "queries": [
    {
      "dataSource": {
        "kind": "",
        "dataSourceId": ""
      },
      "text": "",
      "id": "",
      "usedVariables": [
        "",
        ""
      ]
    }
  ]
}