Analyse-OData-Metadaten

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

Das Verständnis der Metadaten, die dem Entitätsmodell für Analytics zugeordnet sind, ist eine Voraussetzung für die programmgesteuerte Abfrage des Datenmodells für Analytics. OData-Metadaten sind eine maschinenlesbare Beschreibung des Entitätsmodells, das zum Aktivieren der Clientnutzung entwickelt wurde.

Hinweis

"Das Open Data Protocol (OData) ist ein Datenzugriffsprotokoll, das auf Kernprotokollen wie HTTP und gängigen Methoden wie REST für das Web basiert. Es gibt verschiedene Arten von Bibliotheken und Tools, die verwendet werden können, um OData-Dienste zu nutzen." - Grundlegendes Tutorial zur OData-Organisation.

In diesem Artikel lernen Sie Folgendes:

  • Abfragen der Metadaten für ein bestimmtes Projekt
  • Abfragen der Metadaten für eine organization
  • Identifizieren der Schlüssel, Eigenschaften und Navigationseigenschaften, die einer Entität zugeordnet sind
  • Identifizieren der Funktionen des Analytics-OData-Endpunkts

Ausführliche Beschreibungen für alle OData-Elemente finden Sie unter OData-Modell. Informationen zum Abfragen der Metadaten finden Sie unter Erstellen von OData-Abfragen für Analytics.

Hinweis

Der Analysedienst wird automatisch aktiviert und in der Produktion für alle Azure DevOps Services unterstützt. Die Power BI-Integration und der Zugriff auf den OData-Feed des Analysediensts sind allgemein verfügbar. Wir empfehlen Ihnen, es zu verwenden und uns Feedback zu geben. Verfügbare Daten sind versionsabhängig. Die neueste unterstützte Version ist v2.0, und die neueste Vorschauversion ist v4.0-preview. Weitere Informationen finden Sie unter OData-API-Versionsverwaltung.

Hinweis

Der Analytics-Dienst wird automatisch installiert und in der Produktion für alle neuen Projektsammlungen für Azure DevOps Server 2020 und höhere Versionen unterstützt. Die Power BI-Integration und der Zugriff auf den OData-Feed des Analysediensts sind allgemein verfügbar. Wir empfehlen Ihnen, es zu verwenden und uns Feedback zu geben. Wenn Sie ein Upgrade von Azure DevOps Server 2019 durchgeführt haben, können Sie den Analytics-Dienst während des Upgrades installieren.

Verfügbare Daten sind versionsabhängig. Die neueste unterstützte Version ist v2.0, und die neueste Vorschauversion ist v4.0-preview. Weitere Informationen finden Sie unter OData-API-Versionsverwaltung.

Hinweis

Der Analytics-Dienst befindet sich für Azure DevOps Server 2019 in der Vorschauphase. Sie können es für eine Projektsammlung aktivieren oder installieren . Die Power BI-Integration und der Zugriff auf den OData-Feed des Analysediensts befinden sich in der Vorschau. Wir empfehlen Ihnen, es zu verwenden und uns Feedback zu geben.

Verfügbare Daten sind versionsabhängig. Die neueste unterstützte Version ist v2.0, und die neueste Vorschauversion ist v4.0-preview. Weitere Informationen finden Sie unter OData-API-Versionsverwaltung.

Entitätssätze und Entitätstypen

Entitäten sind die wichtigsten Identitätstypen in einem Datenmodell. Entitätssätze sind benannte Auflistungen von Entitäten. Beispielsweise ist ein Entitätssatz, Projects der Entitäten enthält Project . Eine Entität kann ein Mitglied von höchstens einer Entitätsmenge sein.

EntitySets und EntityTypes definieren sie die einzelnen Entitäten im Analysemodell, einschließlich Eigenschaften und Beziehungen. Entitätstypen definieren die benannten Eigenschaften und Beziehungen einer Entität. Entitätstypen können durch einzelne Vererbung von anderen Entitätstypen abgeleitet werden. Der Schlüssel eines Entitätstyps wird aus einer Teilmenge seiner primitiven Eigenschaften gebildet.

Das folgende Beispiel zeigt die Metadaten, die dem Entitätstyp Project zugeordnet sind.

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

Schlüssel

Keys definieren Sie die Entitätseigenschaften, die als Navigationseigenschaft verwendet werden können.

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

Eigenschaften

Der Satz von "Entitätseigenschaften, die für Die Abfrage verfügbar sind. Anmerkungen stellen andere Details zu einer bestimmten Eigenschaft dar.

Jede Eigenschaft von Analytics, die für Endbenutzer sichtbar sein soll, wird mit einem DisplayNamekommentiert.

<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 ist eine weitere allgemeine Anmerkung, die zum Definieren des Systembezeichners für eine bestimmte Eigenschaft verwendet wird.

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

Das Abfragen einer einzelnen Entität ist nützlich. Schließlich möchten Sie wahrscheinlich Details einer anderen Entität filtern oder erweitern. Dazu müssen Sie die Verwendung der Navigationseigenschaften des Entitätsmodells verstehen.

Ein NavigationaProperty mit einem Auflistungstyp stellt eine m:n-Beziehung im Modell dar.

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

ReferentialConstraints binden Navigationseigenschaften an einen bestimmten Schlüssel einer Entität, was eine m:1-Beziehung im Modell darstellt.

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

Container (OData-Funktionen)

Entitysets

Entitäten sind die wichtigsten Identitätstypen in einem Datenmodell. Entitätssätze sind benannte Auflistungen von Entitäten. Beispielsweise WorkItems befinden EntitySets sich und WorkItemRevisions innerhalb des EntityContainer namens Container. Eine Entität kann ein Mitglied von höchstens einer Entitätsmenge sein. Entitätssätze stellen die primären Einstiegspunkte in das Datenmodell bereit und stellen eine Sammlung von Entitäten und zugeordneten Navigationseigenschaftenbindungen und -anmerkungen dar.

Die folgende Syntax gibt das Entitätssatzdatenmodell Projects an. Eine Beschreibung der einzelnen Entitätensätze finden Sie unter Datenmodell für Analysen.

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

Funktionen

Funktionen definieren den Satz von Funktionen , die vom OData-Endpunkt von Analytics verstanden werden.

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

Aggregationen

Aggregationsanmerkungen definieren den Satz von Transformationen, die vom OData-Endpunkt von Analytics verstanden werden.

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

Nächste Schritte