Bagikan melalui


Metadata OData Analitik

Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019

Memahami metadata yang terkait dengan model entitas untuk Analytics adalah prasyarat untuk mengkueri model Data untuk Analytics secara terprogram. Metadata OData adalah deskripsi model entitas yang dapat dibaca mesin yang dirancang untuk mengaktifkan konsumsi klien.

Catatan

"Open Data Protocol (OData) adalah protokol akses data yang dibangun pada protokol inti seperti HTTP dan metodologi yang umum diterima seperti REST untuk web. Ada berbagai jenis pustaka dan alat yang dapat digunakan untuk menggunakan layanan OData." - Tutorial Dasar Organisasi OData.

Dalam artikel ini, Anda akan mempelajari cara:

  • Mengkueri metadata pada proyek tertentu
  • Mengkueri metadata pada organisasi
  • Mengidentifikasi kunci, properti, dan properti navigasi yang terkait dengan Entitas
  • Mengidentifikasi kemampuan titik akhir Analytics OData

Untuk deskripsi terperinci untuk semua elemen OData, lihat Model OData. Untuk informasi tentang mengkueri metadata, lihat Membuat kueri OData untuk Analitik.

Catatan

Layanan Analytics diaktifkan secara otomatis dan didukung dalam produksi untuk semua Layanan Azure DevOps. Integrasi dan akses Power BI ke umpan OData Dari Layanan Analitik umumnya tersedia. Kami mendorong Anda untuk menggunakannya dan memberi kami umpan balik. Data yang tersedia bergantung pada versi. Versi terbaru yang didukung adalah v2.0, dan versi pratinjau terbaru adalah v4.0-preview. Untuk informasi selengkapnya, lihat Penerapan versi OData API.

Catatan

Layanan Analytics secara otomatis diinstal dan didukung dalam produksi untuk semua koleksi proyek baru untuk Azure DevOps Server 2020 dan versi yang lebih baru. Integrasi dan akses Power BI ke umpan OData Dari Layanan Analitik umumnya tersedia. Kami mendorong Anda untuk menggunakannya dan memberi kami umpan balik. Jika Anda meningkatkan dari Azure DevOps Server 2019, maka Anda dapat menginstal layanan Analytics selama peningkatan.

Data yang tersedia bergantung pada versi. Versi terbaru yang didukung adalah v2.0, dan versi pratinjau terbaru adalah v4.0-preview. Untuk informasi selengkapnya, lihat Penerapan versi OData API.

Catatan

Layanan Analytics sedang dalam pratinjau untuk Azure DevOps Server 2019. Anda dapat mengaktifkan atau menginstalnya untuk koleksi proyek. Integrasi dan akses Power BI ke umpan OData Dari Layanan Analitik ada di Pratinjau. Kami mendorong Anda untuk menggunakannya dan memberi kami umpan balik.

Data yang tersedia bergantung pada versi. Versi terbaru yang didukung adalah v2.0, dan versi pratinjau terbaru adalah v4.0-preview. Untuk informasi selengkapnya, lihat Penerapan versi OData API.

Set entitas dan jenis entitas

Entitas adalah jenis identitas inti dalam model data. Kumpulan entitas diberi nama kumpulan entitas. Misalnya, Projects adalah set entitas yang berisi Project entitas. Entitas dapat menjadi anggota dari paling banyak satu set entitas.

EntitySets dan EntityTypes tentukan setiap entitas dalam model Analytics termasuk properti dan hubungan. Jenis entitas menentukan properti dan hubungan entitas bernama. Jenis entitas dapat berasal dari pewarisan tunggal dari jenis entitas lain. Kunci jenis entitas dibentuk dari subset properti primitifnya.

Contoh berikut menunjukkan metadata yang terkait dengan Project jenis entitas.

<EntityType Name="Project">
  <Key>
    <PropertyRef Name="ProjectSK"/>
  </Key>
  <Property Name="ProjectSK" Type="Edm.Guid" Nullable="false"/>
  <Property Name="ProjectId" Type="Edm.Guid" Nullable="false">
    <Annotation Term="Display.DisplayName" String="Project Id"/>
  </Property>
  <Property Name="ProjectName" Type="Edm.String" Nullable="false">
    <Annotation Term="Display.DisplayName" String="Project Name"/>
  </Property>
  <Property Name="AnalyticsUpdatedDate" Type="Edm.DateTimeOffset"/>
  <Property Name="ProjectVisibility" Type="Microsoft.VisualStudio.Services.Analytics.Model.ProjectVisibility">
    <Annotation Term="Display.DisplayName" String="Project Visibility"/>
  </Property>
  <NavigationProperty Name="Areas" Type="Collection(Microsoft.VisualStudio.Services.Analytics.Model.Area)"/>
  <NavigationProperty Name="Iterations" Type="Collection(Microsoft.VisualStudio.Services.Analytics.Model.Iteration)"/>
  <NavigationProperty Name="Teams" Type="Collection(Microsoft.VisualStudio.Services.Analytics.Model.Team)"/>
</EntityType>

Kunci

Keys tentukan properti Entitas yang tersedia untuk digunakan sebagai Properti Navigasi.

<Key>
   <PropertyRef Name="ProjectSK"/>
</Key>

Properti

Kumpulan properti 'Entitas tersedia untuk kueri. Anotasi mewakili detail lain tentang properti tertentu.

Properti Analitik apa pun yang harus terlihat oleh pengguna akhir diannotasikan dengan DisplayName.

<Property Name="ProjectSK" Nullable="false" Type="Edm.Guid"/>
<Property Name="ProjectId" Nullable="false" Type="Edm.Guid">
   <Annotation String="Project Id" Term="Display.DisplayName"/>
</Property>
<Property Name="ProjectName" Nullable="false" Type="Edm.String">
   <Annotation String="Project Name" Term="Display.DisplayName"/>
</Property>

ReferenceName adalah anotasi umum lain yang digunakan untuk menentukan pengidentifikasi sistem untuk properti tertentu.

<Property Name="State" Type="Edm.String">
   <Annotation String="State" Term="Display.DisplayName"/>
   <Annotation String="System.State" Term="Ref.ReferenceName"/>
</Property>

Mengkueri Entitas individual berguna. Akhirnya, Anda mungkin ingin memfilter atau memperluas detail Entitas lain. Untuk melakukannya, Anda perlu memahami cara menggunakan Properti Navigasi model Entitas.

NavigationaProperty Dengan jenis koleksi mewakili hubungan banyak ke banyak dalam model.

<NavigationProperty Name="Teams" Type="Collection(Microsoft.VisualStudio.Services.Analytics.Model.Team)"/>

ReferentialConstraints mengikat properti navigasi ke kunci tertentu dari entitas, yang mewakili hubungan banyak ke satu dalam model.

<NavigationProperty Name="Project" Type="Microsoft.VisualStudio.Services.Analytics.Model.Project">
   <ReferentialConstraint ReferencedProperty="ProjectSK" Property="ProjectSK"/>
</NavigationProperty>

Kontainer (kemampuan OData)

EntitySets

Entitas adalah jenis identitas inti dalam model data. Kumpulan entitas diberi nama kumpulan entitas. Misalnya, dan berada dalam nama ContainerEntityContainer .EntitySetsWorkItemRevisionsWorkItems Entitas dapat menjadi anggota dari paling banyak satu set entitas. Kumpulan entitas menyediakan titik masuk utama ke dalam model data, dan mewakili kumpulan entitas dan pengikatan dan anotasi properti Navigasi terkait.

Sintaks berikut menunjukkan Projects model data kumpulan entitas. Untuk deskripsi setiap set entitas, lihat Model data untuk Analytics.

<EntitySet Name="Projects" EntityType="Microsoft.VisualStudio.Services.Analytics.Model.Project">
  <NavigationPropertyBinding Path="Areas" Target="Areas"/>
  <NavigationPropertyBinding Path="Iterations" Target="Iterations"/>
  <NavigationPropertyBinding Path="Teams" Target="Teams"/>
  <Annotation Term="Org.OData.Display.V1.DisplayName" String="Projects"/>
</EntitySet>

Kemampuan

Kemampuan menentukan serangkaian fungsi yang dipahami oleh titik akhir Analytics OData.

<Annotation Term="Org.OData.Capabilities.V1.FilterFunctions">
   <Collection>
      <String>contains</String>
      <String>endswith</String>
      <String>startswith</String>
      <String>length</String>
      <String>indexof</String>
      <String>substring</String>
      <String>tolower</String>
      <String>toupper</String>
      <String>trim</String>
      <String>concat</String>
      <String>year</String>
      <String>month</String>
      <String>day</String>
      <String>hour</String>
      <String>minute</String>
      <String>second</String>
      <String>fractionalseconds</String>
      <String>round</String>
      <String>floor</String>
      <String>ceiling</String>
      <String>date</String>
      <String>time</String>
      <String>isof</String>
      <String>cast</String>
   </Collection>
</Annotation>

Agregasi

Anotasi agregasi menentukan serangkaian transformasi yang dipahami oleh titik akhir Analytics OData.

<Annotation Term="Org.OData.Aggregation.V1.ApplySupported">
   <Record>
      <PropertyValue Property="Transformations">
         <Collection>
            <String>aggregate</String>
            <String>filter</String>
            <String>groupby</String>
            <String>compute</String>
            <String>expand</String>
         </Collection>
      </PropertyValue>
      <PropertyValue Property="CustomAggregationMethods ">
         <Collection>
           <String>ax.ApproxCountDistinct</String>
           <String>ax.StandardDeviation</String>
           <String>ax.StandardDeviationP</String>
           <String>ax.Variance</String>
           <String>ax.VarianceP</String>
         </Collection>
      </PropertyValue>
   </Record>
</Annotation>
<Annotation Term="Org.OData.Capabilities.V1.BatchSupportType" Bool="true"/>
<Annotation Term="Org.OData.Capabilities.V1.BatchSupportType">
   <Record>
      <PropertyValue Property="Supported" Bool="true"/>
      <PropertyValue Property="ContinueOnErrorSupported" Bool="false"/>
      <PropertyValue Property="ReferencesInRequestBodiesSupported" Bool="false"/>
      <PropertyValue Property="ReferencesAcrossChangeSetsSupported" Bool="false"/>
      <PropertyValue Property="EtagReferencesSupported" Bool="false"/>
   </Record>
</Annotation>

Langkah berikutnya