OData-metadata för analys
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Att förstå metadata som är associerade med entitetsmodellen för analys är en förutsättning för att programmatiskt köra frågor mot datamodellen för analys. OData-metadata är en maskinläsbar beskrivning av entitetsmodellen som är utformad för att aktivera klientförbrukning.
Kommentar
"Open Data Protocol (OData) är ett protokoll för dataåtkomst som bygger på kärnprotokoll som HTTP och vanliga metoder som REST för webben. Det finns olika typer av bibliotek och verktyg som kan användas för att använda OData-tjänster." - Grundläggande självstudie om OData-organisation.
I den här artikeln lär du dig att:
- Fråga efter metadata i ett specifikt projekt
- Fråga efter metadata i en organisation
- Identifiera de nycklar, egenskaper och navigeringsegenskaper som är associerade med en entitet
- Identifiera funktionerna i Analytics OData-slutpunkten
Detaljerade beskrivningar för alla OData-element finns i OData-modellen. Information om hur du frågar efter metadata finns i Skapa OData-frågor för analys.
Kommentar
Analytics-tjänsten aktiveras automatiskt och stöds i produktion för alla Azure DevOps Services. Power BI-integrering och åtkomst till OData-flödet i Analytics Service är allmänt tillgängliga. Vi rekommenderar att du använder den och ger oss feedback.
Tillgängliga data är versionsberoende. Den senaste versionen som stöds är v2.0
, och den senaste förhandsversionen är v4.0-preview
. Mer information finns i OData API-versionshantering.
Kommentar
Analytics-tjänsten installeras automatiskt och stöds i produktion för alla nya projektsamlingar för Azure DevOps Server 2020 och senare versioner. Power BI-integrering och åtkomst till OData-flödet i Analytics Service är allmänt tillgängliga. Vi rekommenderar att du använder den och ger oss feedback. Om du har uppgraderat från Azure DevOps Server 2019 kan du installera Analytics-tjänsten under uppgraderingen.
Tillgängliga data är versionsberoende. Den senaste versionen som stöds är v2.0
, och den senaste förhandsversionen är v4.0-preview
. Mer information finns i OData API-versionshantering.
Kommentar
Analytics-tjänsten är en förhandsversion för Azure DevOps Server 2019. Du kan aktivera eller installera den för en projektsamling. Power BI-integrering och åtkomst till OData-flödet för Analystjänsten finns i förhandsversion. Vi rekommenderar att du använder den och ger oss feedback.
Tillgängliga data är versionsberoende. Den senaste versionen som stöds är v2.0
, och den senaste förhandsversionen är v4.0-preview
. Mer information finns i OData API-versionshantering.
Entitetsuppsättningar och entitetstyper
Entiteter är de viktigaste identitetstyperna i en datamodell. Entitetsuppsättningar heter samlingar av entiteter. Är till exempel Projects
en entitetsuppsättning som innehåller Project
entiteter. En entitet kan vara medlem i högst en entitetsuppsättning.
EntitySets
och definiera var och EntityTypes
en av entiteterna i Analytics-modellen, inklusive egenskaper och relationer. Entitetstyper definierar namngivna egenskaper och relationer för en entitet. Entitetstyper kan härledas genom enskilt arv från andra entitetstyper. Nyckeln för en entitetstyp skapas från en delmängd av dess primitiva egenskaper.
I följande exempel visas metadata som är associerade med entitetstypen Project
.
<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>
Nycklar
Keys
definiera de entitetsegenskaper som är tillgängliga för användning som en navigeringsegenskap.
<Key>
<PropertyRef Name="ProjectSK"/>
</Key>
Egenskaper
Uppsättningen med "Entitetsegenskaper som är tillgängliga för fråga. Anteckningar representerar annan information om en viss egenskap.
Alla egenskaper för Analys som ska vara synliga för slutanvändare kommenteras med en 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 är en annan vanlig anteckning som används för att definiera systemidentifieraren för en specifik egenskap.
<Property Name="State" Type="Edm.String">
<Annotation String="State" Term="Display.DisplayName"/>
<Annotation String="System.State" Term="Ref.ReferenceName"/>
</Property>
Navigeringsegenskaper
Det är användbart att köra frågor mot en enskild entitet. Så småningom vill du förmodligen filtrera eller expandera information om en annan entitet. För att göra det måste du förstå hur du använder navigeringsegenskaperna för entitetsmodellen.
En NavigationProperty
med en samlingstyp representerar en många-till-många-relation i modellen.
<NavigationProperty Name="Teams" Type="Collection(Microsoft.VisualStudio.Services.Analytics.Model.Team)"/>
ReferentialConstraints
koppla navigeringsegenskaper till en specifik nyckel för en entitet, som representerar en många-till-en-relation i modellen.
<NavigationProperty Name="Project" Type="Microsoft.VisualStudio.Services.Analytics.Model.Project">
<ReferentialConstraint ReferencedProperty="ProjectSK" Property="ProjectSK"/>
</NavigationProperty>
Containrar (OData-funktioner)
EntitySets
Entiteter är de viktigaste identitetstyperna i en datamodell. Entitetsuppsättningar heter samlingar av entiteter. Till exempel och ligger inom namnet Container
EntityContainer
.EntitySets
WorkItemRevisions
WorkItems
En entitet kan vara medlem i högst en entitetsuppsättning. Entitetsuppsättningar tillhandahåller de primära startpunkterna i datamodellen och representerar en samling entiteter och associerade navigeringsegenskapsbindningar och anteckningar.
Följande syntax anger datamodellen för entitetsuppsättningen Projects
. En beskrivning av varje entitetsuppsättning finns i Datamodell för analys.
<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>
Funktioner
Funktioner definierar den uppsättning funktioner som förstås av Analytics OData-slutpunkten.
<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>
Sammansättningar
Aggregeringsanteckningar definierar den uppsättning transformeringar som förstås av Analytics OData-slutpunkten.
<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ästa steg
Relaterade artiklar
- Datamodell för analys
- Organisations- och projektomfattande frågor.
- Data som är tillgängliga från Analys
- Köra frågor mot arbetsspårningsdata med analytics
- Referens för entiteter och egenskaper för Azure Boards