Delen via


OData-metagegevens van Analytics

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

Informatie over de metagegevens die zijn gekoppeld aan het entiteitsmodel voor Analytics is een vereiste voor het programmatisch opvragen van het gegevensmodel voor analyse. 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 Organization.

In dit artikel leert u het volgende:

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

Zie OData-model voor gedetailleerde beschrijvingen voor alle OData-elementen. Zie OData-query's maken voor analyse voor 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 versie. De meest recente ondersteunde versie is v2.0en de nieuwste 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 nieuwere 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 installeren tijdens de upgrade.

Beschikbare gegevens zijn afhankelijk van versie. De meest recente ondersteunde versie is v2.0en de nieuwste 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 in- 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 versie. De meest recente ondersteunde versie is v2.0en de nieuwste preview-versie is v4.0-preview. Zie OData API-versiebeheer voor meer informatie.

Entiteitssets en entiteitstypen

Entiteiten zijn de kernidentiteitstypen in een gegevensmodel. Entiteitssets zijn benoemde verzamelingen entiteiten. Is bijvoorbeeld Projects een entiteitsset die entiteiten bevat Project . Een entiteit kan lid zijn van ten hoogste één entiteitsset.

EntitySets en EntityTypes definieer elk van de entiteiten in het Analytics-model, inclusief eigenschappen en relaties. Entiteitstypen definiëren de benoemde eigenschappen en relaties van een entiteit. Entiteitstypen kunnen worden afgeleid door één overname van andere entiteitstypen. De sleutel van een entiteitstype wordt gevormd uit 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>

Toetsen

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's. Aantekeningen vertegenwoordigen andere details over een bepaalde eigenschap.

Elke eigenschap van Analytics die zichtbaar moet zijn voor eindgebruikers, wordt voorzien van aantekeningen met 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 details van een andere entiteit filteren of uitvouwen. Hiervoor moet u weten hoe u de navigatie-eigenschappen van het entiteitsmodel gebruikt.

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

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

ReferentialConstraints Koppel navigatie-eigenschappen 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. Entiteitssets zijn benoemde verzamelingen entiteiten. En bevinden EntitySets zich bijvoorbeeld WorkItemRevisions WorkItems binnen de EntityContainer benoemde Container. Een entiteit kan lid zijn van ten hoogste één entiteitsset. Entiteitssets bieden de primaire toegangspunten in het gegevensmodel en vertegenwoordigen een verzameling entiteiten en bijbehorende navigatie-eigenschapsbindingen en aantekeningen.

De volgende syntaxis geeft het gegevensmodel voor 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 OData-eindpunt van Analytics.

<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

Met aggregatieaantekeningen wordt de set transformaties gedefinieerd die worden 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