Analytics OData 메타데이터
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Analytics의 엔터티 모델과 연결된 메타데이터를 이해하는 것은 분석용 데이터 모델을 프로그래밍 방식으로 쿼리하기 위한 필수 구성 요소입니다. OData 메타데이터는 클라이언트 사용을 사용하도록 설계된 엔터티 모델에 대해 컴퓨터에서 읽을 수 있는 설명입니다.
참고 항목
"OData(Open Data Protocol)는 HTTP와 같은 핵심 프로토콜과 웹용 REST와 같이 일반적으로 허용되는 방법론을 기반으로 하는 데이터 액세스 프로토콜입니다. 다양한 종류의 라이브러리와 도구를 사용하여 OData 서비스를 사용할 수 있습니다." - OData 조직 기본 자습서입니다.
이 문서에서는 다음 작업을 수행하는 방법을 알아봅니다.
- 특정 프로젝트의 메타데이터 쿼리
- 조직의 메타데이터 쿼리
- 엔터티와 연결된 키, 속성 및 탐색 속성 식별
- Analytics OData 엔드포인트의 기능 식별
모든 OData 요소에 대한 자세한 설명은 OData 모델을 참조하세요. 메타데이터 쿼리에 대한 자세한 내용은 Analytics에 대한 OData 쿼리 생성을 참조 하세요.
참고 항목
Analytics 서비스는 모든 Azure DevOps Services에 대해 프로덕션에서 자동으로 사용하도록 설정되고 지원됩니다. Analytics Service의 OData 피드에 대한 Power BI 통합 및 액세스는 일반적으로 사용할 수 있습니다. 이를 사용하고 피드백을 제공하는 것이 좋습니다.
사용 가능한 데이터는 버전에 따라 다릅니다. 지원되는 최신 버전은 v2.0
최신 미리 보기 버전입니다 v4.0-preview
. 자세한 내용은 OData API 버전 관리를 참조 하세요.
참고 항목
Analytics 서비스는 Azure DevOps Server 2020 이상 버전의 모든 새 프로젝트 컬렉션에 대해 프로덕션에 자동으로 설치되고 지원됩니다. Analytics Service의 OData 피드에 대한 Power BI 통합 및 액세스는 일반적으로 사용할 수 있습니다. 이를 사용하고 피드백을 제공하는 것이 좋습니다. Azure DevOps Server 2019에서 업그레이드한 경우 업그레이드 중에 Analytics 서비스를 설치할 수 있습니다.
사용 가능한 데이터는 버전에 따라 다릅니다. 지원되는 최신 버전은 v2.0
최신 미리 보기 버전입니다 v4.0-preview
. 자세한 내용은 OData API 버전 관리를 참조 하세요.
참고 항목
Analytics 서비스는 Azure DevOps Server 2019용 미리 보기로 제공됩니다. 프로젝트 컬렉션에 사용하도록 설정하거나 설치할 수 있습니다. Power BI 통합 및 Analytics Service의 OData 피드에 대한 액세스는 미리 보기로 제공됩니다. 이를 사용하고 피드백을 제공하는 것이 좋습니다.
사용 가능한 데이터는 버전에 따라 다릅니다. 지원되는 최신 버전은 v2.0
최신 미리 보기 버전입니다 v4.0-preview
. 자세한 내용은 OData API 버전 관리를 참조 하세요.
엔터티 집합 및 엔터티 형식
엔터티는 데이터 모델의 핵심 ID 형식입니다. 엔터티 집합은 엔터티의 명명된 컬렉션입니다. 예를 들어 엔 Projects
터티를 포함하는 Project
엔터티 집합입니다. 엔터티는 최대 하나의 엔터티 집합의 멤버일 수 있습니다.
EntitySets
및 속성 및 EntityTypes
관계를 포함하여 분석 모델의 각 엔터티를 정의합니다. 엔터티 형식은 엔터티의 명명된 속성 및 관계를 정의합니다. 엔터티 형식은 다른 엔터티 형식의 단일 상속에 의해 파생 될 수 있습니다. 엔터티 형식의 키는 해당 기본 속성의 하위 집합에서 형성됩니다.
다음 예제에서는 엔터티 형식과 연결된 메타데이터를 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>
구성
Keys
탐색 속성으로 사용할 수 있는 엔터티 속성을 정의합니다.
<Key>
<PropertyRef Name="ProjectSK"/>
</Key>
속성
쿼리에 사용할 수 있는 '엔터티 속성 집합입니다. 주석은 지정된 속성에 대한 다른 세부 정보를 나타냅니다.
최종 사용자에게 표시되어야 하는 Analytics의 모든 속성에 주석이 추가 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은 특정 속성에 대한 시스템 식별자를 정의하는 데 사용되는 또 다른 일반적인 주석입니다.
<Property Name="State" Type="Edm.String">
<Annotation String="State" Term="Display.DisplayName"/>
<Annotation String="System.State" Term="Ref.ReferenceName"/>
</Property>
탐색 속성
개별 엔터티를 쿼리하는 것이 유용합니다. 결국 다른 엔터티의 세부 정보를 필터링하거나 확장하려고 할 것입니다. 이렇게 하려면 엔터티 모델의 탐색 속성을 사용하는 방법을 이해해야 합니다.
컬렉션 형식이 있는 A NavigationProperty
는 모델의 다 대 다 관계를 나타냅니다.
<NavigationProperty Name="Teams" Type="Collection(Microsoft.VisualStudio.Services.Analytics.Model.Team)"/>
ReferentialConstraints
탐색 속성을 엔터티의 특정 키에 연결하여 모델의 다대일 관계를 나타냅니다.
<NavigationProperty Name="Project" Type="Microsoft.VisualStudio.Services.Analytics.Model.Project">
<ReferentialConstraint ReferencedProperty="ProjectSK" Property="ProjectSK"/>
</NavigationProperty>
컨테이너(OData 기능)
EntitySets
엔터티는 데이터 모델의 핵심 ID 형식입니다. 엔터티 집합은 엔터티의 명명된 컬렉션입니다. 예를 들어 명명 WorkItems
Container
WorkItemRevisions
EntitySets
된 .EntityContainer
엔터티는 최대 하나의 엔터티 집합의 멤버일 수 있습니다. 엔터티 집합은 데이터 모델에 기본 진입점을 제공하고 엔터티 및 관련 탐색 속성 바인딩 및 주석의 컬렉션을 나타냅니다.
다음 구문은 엔터티 집합 데이터 모델을 나타냅니다 Projects
. 각 엔터티 집합에 대한 설명은 분석용 데이터 모델을 참조 하세요.
<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>
기능
기능은 Analytics OData 엔드포인트에서 이해하는 함수 집합을 정의합니다.
<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>
집계
집계 주석은 Analytics OData 엔드포인트에서 이해하는 변환 집합을 정의합니다.
<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>