Udostępnij za pośrednictwem


Metadane OData analizy

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Zrozumienie metadanych skojarzonych z modelem jednostki dla analizy jest wymaganiem wstępnym programowym wykonywania zapytań dotyczących modelu danych na potrzeby analizy. Metadane OData to czytelny dla maszyn opis modelu jednostki zaprojektowany w celu umożliwienia użycia klienta.

Uwaga

"Open Data Protocol (OData) to protokół dostępu do danych oparty na podstawowych protokołach, takich jak HTTP i powszechnie akceptowane metodologie, takie jak REST dla internetu. Istnieją różnego rodzaju biblioteki i narzędzia, których można używać do korzystania z usług OData. - OData Organization Basic Tutorial (Podstawowa organizacja OData).

Z tego artykułu dowiesz się, jak wykonywać następujące działania:

  • Wykonywanie zapytań dotyczących metadanych w określonym projekcie
  • Wykonywanie zapytań dotyczących metadanych w organizacji
  • Identyfikowanie kluczy, właściwości i właściwości nawigacji skojarzonych z jednostką
  • Identyfikowanie możliwości punktu końcowego OData analizy

Aby uzyskać szczegółowe opisy wszystkich elementów OData, zobacz Model OData. Aby uzyskać informacje na temat wykonywania zapytań dotyczących metadanych, zobacz Konstruowanie zapytań OData dla analizy.

Uwaga

Usługa Analytics jest automatycznie włączona i obsługiwana w środowisku produkcyjnym dla wszystkich usług Azure DevOps Services. Integracja usługi Power BI i dostęp do źródła danych OData usługi Analytics są ogólnie dostępne. Zachęcamy do korzystania z niego i przekazywania opinii. Dostępne dane są zależne od wersji. Najnowsza obsługiwana wersja to v2.0, a najnowsza wersja zapoznawcza to v4.0-preview. Aby uzyskać więcej informacji, zobacz Przechowywanie wersji interfejsu API OData.

Uwaga

Usługa Analytics jest automatycznie instalowana i obsługiwana w środowisku produkcyjnym dla wszystkich nowych kolekcji projektów dla usługi Azure DevOps Server 2020 i nowszych wersji. Integracja usługi Power BI i dostęp do źródła danych OData usługi Analytics są ogólnie dostępne. Zachęcamy do korzystania z niego i przekazywania opinii. W przypadku uaktualnienia z usługi Azure DevOps Server 2019 możesz zainstalować usługę Analytics podczas uaktualniania.

Dostępne dane są zależne od wersji. Najnowsza obsługiwana wersja to v2.0, a najnowsza wersja zapoznawcza to v4.0-preview. Aby uzyskać więcej informacji, zobacz Przechowywanie wersji interfejsu API OData.

Uwaga

Usługa Analytics jest dostępna w wersji zapoznawczej dla usługi Azure DevOps Server 2019. Możesz włączyć lub zainstalować dla kolekcji projektów. Integracja usługi Power BI i dostęp do źródła danych OData usługi Analytics są dostępne w wersji zapoznawczej. Zachęcamy do korzystania z niego i przekazywania opinii.

Dostępne dane są zależne od wersji. Najnowsza obsługiwana wersja to v2.0, a najnowsza wersja zapoznawcza to v4.0-preview. Aby uzyskać więcej informacji, zobacz Przechowywanie wersji interfejsu API OData.

Zestawy jednostek i typy jednostek

Jednostki są podstawowymi typami tożsamości w modelu danych. Zestawy jednostek są nazwane kolekcjami jednostek. Na przykład Projects to zestaw jednostek zawierający Project jednostki. Jednostka może być elementem członkowskim co najwyżej jednego zestawu jednostek.

EntitySets i EntityTypes zdefiniuj każdą z jednostek w modelu analizy, w tym właściwości i relacje. Typy jednostek definiują nazwane właściwości i relacje jednostki. Typy jednostek mogą pochodzić z pojedynczego dziedziczenia z innych typów jednostek. Klucz typu jednostki jest tworzony z podzestawu jego właściwości pierwotnych.

W poniższym przykładzie przedstawiono metadane skojarzone z typem Project jednostki.

<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>

Klucze

Keys Zdefiniuj właściwości jednostki dostępne do użycia jako właściwość nawigacji.

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

Właściwości

Zestaw właściwości jednostki dostępnych dla zapytania. Adnotacje reprezentują inne szczegóły dotyczące danej właściwości.

Każda właściwość analizy, która powinna być widoczna dla użytkowników końcowych, jest oznaczona adnotacją .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 to kolejna typowa adnotacja używana do definiowania identyfikatora systemu dla określonej właściwości.

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

Wykonywanie zapytań dotyczących pojedynczej jednostki jest przydatne. W końcu prawdopodobnie zechcesz filtrować lub rozszerzać szczegóły innej jednostki. W tym celu należy zrozumieć, jak używać właściwości nawigacji modelu jednostki.

Typ NavigationProperty kolekcji reprezentuje relację wiele-do-wielu w modelu.

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

ReferentialConstraints związać właściwości nawigacji z określonym kluczem jednostki, reprezentującą relację wiele-do-jednego w modelu.

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

Kontenery (możliwości OData)

Zestawy jednostek

Jednostki są podstawowymi typami tożsamości w modelu danych. Zestawy jednostek są nazwane kolekcjami jednostek. Na przykład WorkItems i WorkItemRevisions znajdują się EntitySets w EntityContainer nazwie Container. Jednostka może być elementem członkowskim co najwyżej jednego zestawu jednostek. Zestawy jednostek zapewniają podstawowe punkty wejścia do modelu danych i reprezentują kolekcję jednostek oraz skojarzone powiązania właściwości nawigacji i adnotacje.

Poniższa składnia Projects wskazuje model danych zestawu jednostek. Aby uzyskać opis każdego zestawu jednostek, zobacz Model danych dla analizy.

<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>

Możliwości

Możliwości definiują zestaw funkcji zrozumiały dla punktu końcowego analizy 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>

Agregacje

Adnotacje agregacji definiują zestaw przekształceń rozumiany przez punkt końcowy analizy 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>

Następne kroki