Freigeben über


Analytics-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, die die Nutzung durch Clients ermöglicht.

Hinweis

"Das Open Data Protocol (OData) ist ein Datenzugriffsprotokoll, das auf Kernprotokollen wie HTTP und häufig akzeptierten Methoden wie REST für das Web basiert. Es gibt verschiedene Arten von Bibliotheken und Tools, mit denen OData-Dienste genutzt werden können." - OData Organization Basic-Lernprogramm.

In diesem Artikel lernen Sie Folgendes:

  • Abfragen der Metadaten für ein bestimmtes Projekt
  • Abfragen der Metadaten in einer Organisation
  • 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 Dienste in Azure DevOps Services unterstützt. Power BI-Integration und Zugriff auf den OData-Feed des Analytics-Diensts sind allgemein verfügbar. Sie werden dazu ermutigt, den OData-Datenfeed für Analytics zu verwenden und Feedback zu geben.

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

Hinweis

Der Analysedienst wird automatisch installiert und in der Produktion für alle neuen Projektsammlungen für Azure DevOps Server 2020 und höhere Versionen unterstützt. Power BI-Integration und Zugriff auf den OData-Feed des Analytics-Diensts sind allgemein verfügbar. Sie werden dazu ermutigt, den OData-Datenfeed für Analytics zu verwenden und Feedback zu geben. Wenn Sie ein Upgrade von Azure DevOps Server 2019 durchführen, können Sie den Analysedienst während des Upgrades installieren.

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

Voraussetzungen

Kategorie Anforderungen
Zugriffsebenen - Projektmitglied.
- Mindestens Basic-Zugriff
Berechtigungen Standardmäßig verfügen Projektmitglieder über die Berechtigung zum Abfragen von Analysen und Erstellen von Ansichten. Weitere Informationen zu anderen Voraussetzungen für die Dienst- und Featureaktivierung und allgemeine Datenverfolgungsaktivitäten finden Sie unter Berechtigungen und Voraussetzungen für den Zugriff auf Analytics.

Entitätssätze und Entitätstypen

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

EntitySets und EntityTypes definieren jede der Entitäten im Analysemodell, einschließlich Eigenschaften und Beziehungen. Entitätstypen definieren die benannten Eigenschaften und Beziehungen einer Entität. Entitätstypen können von einer einzelnen Vererbung von anderen Entitätstypen abgeleitet werden. Der Schlüssel eines Entitätstyps wird aus einer Teilmenge seiner Grundtypeigenschaften 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 für die Verwendung als Navigational-Eigenschaft verfügbar sind.

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

Eigenschaften

Der Satz der für die Abfrage verfügbaren Entitätseigenschaften. Anmerkungen stellen weitere Details zu einer bestimmten Eigenschaft dar.

Jede Eigenschaft von Analytics, die für Endbenutzer sichtbar sein sollte, wird mit einem DisplayNameKommentar versehen.

<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 verstehen, wie Sie die Navigationseigenschaften des Entitätsmodells verwenden.

Ein NavigationProperty mit einem Sammlungstyp stellt eine Viele-zu-Viele-Beziehung im Modell dar.

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

ReferentialConstraints Verknüpfen Sie Navigationseigenschaften mit einem bestimmten Schlüssel einer Entität, wodurch eine Viele-zu-Eins-Beziehung im Modell dargestellt wird.

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

Container (OData-Funktionen)

EntitySets

Entitäten sind die Kernidentitätstypen in einem Datenmodell. Entitätssätze sind benannte Auflistungen von Entitäten. Zum Beispiel WorkItems und WorkItemRevisions sind EntitySets innerhalb des EntityContainer benannten Container. Eine Entität kann ein Mitglied von höchstens einem Entitätssatz sein. Entitätssätze dienen als primäre Einstiegspunkte in das Datenmodell und repräsentieren eine Sammlung von Entitäten sowie zugehörigen Navigationseigenschaften und Anmerkungen.

Die folgende Syntax gibt das Datenmodell des Projects Entitätssatzes an. Eine Beschreibung der einzelnen Entitätssätze finden Sie unter "Datenmodell für 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>

Fähigkeiten

Funktionen definieren den Satz von Funktionen , die vom Analytics OData-Endpunkt 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 Analytics OData-Endpunkt 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