OData-metagegevens analyseren

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

Inzicht in de metagegevens die zijn gekoppeld aan het entiteitsmodel voor Analytics is een vereiste voor het programmatisch uitvoeren van query's op het gegevensmodel voor Analytics. OData-metagegevens zijn een machineleesbare beschrijving van het entiteitsmodel dat is ontworpen om clientverbruik mogelijk te maken.

Notitie

"Het Open Data Protocol (OData) is een protocol voor gegevenstoegang dat is gebaseerd op kernprotocollen zoals HTTP en veelgebruikte methodologieën zoals REST voor het web. Er zijn verschillende soorten bibliotheken en hulpprogramma's die kunnen worden gebruikt om OData-services te gebruiken. - Basiszelfstudie voor OData-organisatie.

In dit artikel leert u het volgende:

  • Query's uitvoeren op de metagegevens voor een specifiek project
  • Query's uitvoeren op de metagegevens in een organisatie
  • De sleutels, eigenschappen en navigatie-eigenschappen identificeren die zijn gekoppeld aan een entiteit
  • De mogelijkheden van het Analytics OData-eindpunt identificeren

Zie OData-model voor gedetailleerde beschrijvingen van alle OData-elementen. Zie OData-query's maken voor analytics voor meer informatie over het uitvoeren van query's op de metagegevens.

Notitie

De Analytics-service wordt automatisch ingeschakeld en ondersteund in productie voor alle Azure DevOps-services. Power BI-integratie en toegang tot de OData-feed van de Analytics-service zijn algemeen beschikbaar. We raden u aan deze te gebruiken en ons feedback te geven. Beschikbare gegevens zijn afhankelijk van de versie. De meest recente ondersteunde versie is v2.0en de meest recente preview-versie is v4.0-preview. Zie OData API-versiebeheer voor meer informatie.

Notitie

De Analytics-service wordt automatisch geïnstalleerd en ondersteund in productie voor alle nieuwe projectverzamelingen voor Azure DevOps Server 2020 en latere versies. Power BI-integratie en toegang tot de OData-feed van de Analytics-service zijn algemeen beschikbaar. We raden u aan deze te gebruiken en ons feedback te geven. Als u een upgrade hebt uitgevoerd van Azure DevOps Server 2019, kunt u de Analytics-service tijdens de upgrade installeren.

Beschikbare gegevens zijn afhankelijk van de versie. De meest recente ondersteunde versie is v2.0en de meest recente preview-versie is v4.0-preview. Zie OData API-versiebeheer voor meer informatie.

Notitie

De Analytics-service is in preview voor Azure DevOps Server 2019. U kunt deze functie inschakelen of installeren voor een projectverzameling. Power BI-integratie en toegang tot de OData-feed van de Analytics-service zijn in preview. We raden u aan deze te gebruiken en ons feedback te geven.

Beschikbare gegevens zijn afhankelijk van de versie. De meest recente ondersteunde versie is v2.0en de meest recente preview-versie is v4.0-preview. Zie OData API-versiebeheer voor meer informatie.

Entiteitssets en entiteitstypen

Entiteiten zijn de kernidentiteitstypen in een gegevensmodel. Entiteitensets zijn benoemde verzamelingen entiteiten. is bijvoorbeeld Projects een entiteitsset die entiteiten bevat Project . Een entiteit kan lid zijn van maximaal één entiteitsset.

EntitySets en EntityTypes definieert u alle entiteiten in het Analytics-model, inclusief eigenschappen en relaties. Entiteitstypen definiëren de benoemde eigenschappen en relaties van een entiteit. Entiteitstypen kunnen door één overname worden afgeleid van andere entiteitstypen. De sleutel van een entiteitstype wordt gevormd op basis van een subset van de primitieve eigenschappen.

In het volgende voorbeeld ziet u de metagegevens die zijn gekoppeld aan het Project entiteitstype.

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

Sleutels

Keys definieert u de entiteitseigenschappen die beschikbaar zijn voor gebruik als navigatie-eigenschap.

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

Eigenschappen

De set entiteitseigenschappen die beschikbaar zijn voor query. Aantekeningen vertegenwoordigen andere details over een bepaalde eigenschap.

Elke eigenschap van Analytics die zichtbaar moet zijn voor eindgebruikers, wordt voorzien van een 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 is een andere algemene aantekening die wordt gebruikt om de systeem-id voor een specifieke eigenschap te definiëren.

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

Het uitvoeren van query's op een afzonderlijke entiteit is handig. Uiteindelijk wilt u waarschijnlijk de details van een andere entiteit filteren of uitvouwen. Hiervoor moet u weten hoe u de navigatie-eigenschappen van het entiteitsmodel gebruikt.

Een NavigationaProperty met een verzamelingstype vertegenwoordigt een veel-op-veel-relatie in het model.

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

ReferentialConstraints navigatie-eigenschappen koppelen aan een specifieke sleutel van een entiteit, die een veel-op-een-relatie in het model vertegenwoordigt.

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

Containers (OData-mogelijkheden)

EntitySets

Entiteiten zijn de kernidentiteitstypen in een gegevensmodel. Entiteitensets zijn benoemde verzamelingen entiteiten. En WorkItemRevisions bevinden zich EntitySets bijvoorbeeld WorkItems binnen de met de EntityContainer naam Container. Een entiteit kan lid zijn van maximaal één entiteitsset. Entiteitssets bieden de primaire toegangspunten in het gegevensmodel en vertegenwoordigen een verzameling entiteiten en bijbehorende bindingen en aantekeningen van navigatie-eigenschappen.

De volgende syntaxis geeft het gegevensmodel van de Projects entiteitsset aan. Zie Gegevensmodel voor Analyse voor een beschrijving van elke entiteitsset.

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

Functies

Mogelijkheden definiëren de set functies die worden begrepen door het Analytics OData-eindpunt.

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

Aggregaties

Aggregatieaantekeningen definiëren de set transformaties die wordt begrepen door het OData-eindpunt van Analytics.

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

Volgende stappen