Metadane analizy OData

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

Zrozumienie metadanych skojarzonych z modelem jednostki dla usługi Analytics 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

"Protokół Open Data Protocol (OData) to protokół dostępu do danych oparty na podstawowych protokołach, takich jak HTTP, i powszechnie akceptowanych metodologiach, takich jak REST dla Internetu. Do korzystania z usług OData można używać różnych rodzajów bibliotek i narzędzi". - Samouczek dotyczący organizacji OData w warstwie Podstawowa.

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 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 nam 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 w Azure DevOps Server 2020 r. i nowszych wersjach. 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 nam opinii. W przypadku uaktualnienia z 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 Azure DevOps Server 2019 r. Możesz ją 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 nam 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 jest zestawem jednostek zawierających Project jednostki. Jednostka może być członkiem 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.

Poniższy przykład przedstawia 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. Aby to zrobić, musisz zrozumieć, jak używać właściwości nawigacji modelu jednostki.

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

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

ReferentialConstraints powiązanie 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 znajdują się EntitySetsEntityContainer w nazwie ContainerWorkItemRevisions . Jednostka może być członkiem 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. Opis każdego zestawu jednostek można znaleźć w temacie 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łych 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ń zrozumiały dla punktu końcowego 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