이름 또는 MetadataId로 메타데이터 검색
게시 날짜: 2017년 1월
적용 대상: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
메타 데이터를 쿼리하여 응용 프로그램을 구성 변경 내용에 맞게 변경할 수 있습니다. 메타데이터 항목의 주요 속성 중 하나를 알고 있는 경우 웹 API를 사용하여 메타데이터 정의를 검색할 수 있습니다.
이 항목의 내용
이름으로 메타데이터 항목 검색
MetadataId로 메타데이터 항목 검색
이름으로 메타데이터 항목 검색
참고
이 기능은 Dynamics 365용 2016년 12월 업데이트(온라인 및 온-프레미스)에서 추가되었습니다.
검색할 수 있는 모든 메타데이터 항목은 개별 항목을 검색하는 데 사용할 수 있는 MetadataId 기본 키를 가집니다. 정의된 대체 키가 있는 이러한 유형의 메타데이터는 이름으로 검색할 수 있습니다.
코드의 메타데이터 항목 이름에 대한 참조가 이미 존재하는 경우가 많기 때문에 일반적으로 이름으로 항목을 검색하는 것이 쉽습니다. 다음 테이블에서 이름으로 메타데이터 항목을 검색하기 위한 대체 키 속성을 나열합니다.
메타데이터 항목 |
대체 키 |
예제 |
---|---|---|
엔터티 |
LogicalName |
GET /api/data/v8.2/EntityDefinitions(LogicalName='account') |
Attribute(특성) |
LogicalName |
GET /api/data/v8.2/EntityDefinitions(LogicalName='account')/Attributes(LogicalName='emailaddress1') |
관계 |
SchemaName |
GET /api/data/v8.2/RelationshipDefinitions(SchemaName='Account_Tasks') |
전역 옵션 집합 |
이름 |
GET /api/data/v8.2/GlobalOptionSetDefinitions(Name='metric_goaltype') |
예: 이름으로 메타데이터 항목 검색
사용자가 검색하려는 메타데이터의 공통 항목은 특정 특성에 대해 구성된 옵션입니다. 다음 예제에서는 PicklistAttributeMetadata EntityType의 OptionSet 및 GlobalOptionSet 속성을 검색하는 방법을 보여줍니다.
참고
PicklistAttributeMetadata EntityType의 OptionSet 및 GlobalOptionSet 모두의 단일 값 탐색 속성을 확장하면 엔터티 내에 전역 옵션 집합 또는 '로컬' 옵션 집합을 사용하도록 특성을 구성할지에 대한 옵션 정의를 얻을 수 있습니다. '로컬' 옵션 집합의 경우 GlobalOptionSet 속성은 아래와 같이 null입니다.
특성이 전역 옵션 집합을 사용한 경우 GlobalOptionSet 속성은 정의된 옵션이 포함되며 OptionSet 속성은 null입니다.
요청
GET cc_WebAPI_ServiceURI/EntityDefinitions(LogicalName='account')/Attributes(LogicalName='accountcategorycode')/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?$select=LogicalName&$expand=OptionSet($select=Options),GlobalOptionSet($select=Options) HTTP/1.1 OData-MaxVersion: 4.0 OData-Version: 4.0 Accept: application/json Content-Type: application/json; charset=utf-8
응답
HTTP/1.1 200 OK Content-Type: application/json; odata.metadata=minimal OData-Version: 4.0 { "@odata.context": "cc_WebAPI_ServiceURI/$metadata#EntityDefinitions('account')/Attributes/Microsoft.Dynamics.CRM.PicklistAttributeMetadata(LogicalName,OptionSet,GlobalOptionSet,OptionSet(Options),GlobalOptionSet(Options))/$entity", "LogicalName": "accountcategorycode", "MetadataId": "118771ca-6fb9-4f60-8fd4-99b6124b63ad", "OptionSet@odata.context": "cc_WebAPI_ServiceURI/$metadata#EntityDefinitions('account')/Attributes(118771ca-6fb9-4f60-8fd4-99b6124b63ad)/Microsoft.Dynamics.CRM.PicklistAttributeMetadata/OptionSet(Options)/$entity", "OptionSet": { "Options": [{ "Value": 1, "Label": { "LocalizedLabels": [{ "Label": "Preferred Customer", "LanguageCode": 1033, "IsManaged": true, "MetadataId": "0bd8a218-2341-db11-898a-0007e9e17ebd", "HasChanged": null }], "UserLocalizedLabel": { "Label": "Preferred Customer", "LanguageCode": 1033, "IsManaged": true, "MetadataId": "0bd8a218-2341-db11-898a-0007e9e17ebd", "HasChanged": null } }, "Description": { "LocalizedLabels": [ ], "UserLocalizedLabel": null }, "Color": null, "IsManaged": true, "MetadataId": null, "HasChanged": null }, { "Value": 2, "Label": { "LocalizedLabels": [{ "Label": "Standard", "LanguageCode": 1033, "IsManaged": true, "MetadataId": "0dd8a218-2341-db11-898a-0007e9e17ebd", "HasChanged": null }], "UserLocalizedLabel": { "Label": "Standard", "LanguageCode": 1033, "IsManaged": true, "MetadataId": "0dd8a218-2341-db11-898a-0007e9e17ebd", "HasChanged": null } }, "Description": { "LocalizedLabels": [ ], "UserLocalizedLabel": null }, "Color": null, "IsManaged": true, "MetadataId": null, "HasChanged": null }], "MetadataId": "b994cdd8-5ce9-4ab9-bdd3-8888ebdb0407" }, "GlobalOptionSet": null }
MetadataId로 메타데이터 항목 검색
MetadataId는 메타데이터 항목에 대한 기본 키이므로 개별 항목 검색은 비즈니스 데이터 엔터티를 검색하는 것과 동일한 패턴을 따릅니다.
메타데이터 항목 |
예제 |
---|---|
엔터티 |
GET /api/data/v8.2/EntityDefinitions(<Entity MetadataId>) |
Attribute(특성) |
GET /api/data/v8.2/EntityDefinitions(<Entity MetadataId>)/Attributes(<Attribute MetadataId>) |
관계 |
GET /api/data/v8.2/RelationshipDefinitions(<Relationship MetadataId>) |
전역 옵션 집합 |
GET /api/data/v8.2/GlobalOptionSetDefinitions(<OptionSet MetadataId>) |
예: MetadataId로 메타데이터 항목 검색
예: 이름으로 메타데이터 항목 검색에 설명된 것과 동일한 결과를 얻으려면 일련의 쿼리 작업을 수행하여 LogicalName 엔터티로 MetadataId를 필터링하고 LogicalName 특성으로 필터링해야 합니다.
요청
GET cc_WebAPI_ServiceURI/EntityDefinitions?$filter=LogicalName%20eq%20'account'&$select=MetadataId HTTP/1.1 OData-MaxVersion: 4.0 OData-Version: 4.0 Accept: application/json Content-Type: application/json; charset=utf-8
응답
HTTP/1.1 200 OK Content-Type: application/json; odata.metadata=minimal OData-Version: 4.0 { "@odata.context":"cc_WebAPI_ServiceURI/$metadata#EntityDefinitions(MetadataId)","value":[ { "MetadataId":"70816501-edb9-4740-a16c-6a5efbc05d84" } ] }
요청
GET cc_WebAPI_ServiceURI/EntityDefinitions(70816501-edb9-4740-a16c-6a5efbc05d84)/Attributes?$filter=LogicalName%20eq%20'accountcategorycode'&$select=MetadataId HTTP/1.1 OData-MaxVersion: 4.0 OData-Version: 4.0 Accept: application/json Content-Type: application/json; charset=utf-8
응답
HTTP/1.1 200 OK Content-Type: application/json; odata.metadata=minimal OData-Version: 4.0 { "@odata.context": "cc_WebAPI_ServiceURI/$metadata#EntityDefinitions(70816501-edb9-4740-a16c-6a5efbc05d84)/Attributes(MetadataId)","value":[ { "@odata.type": "#Microsoft.Dynamics.CRM.PicklistAttributeMetadata", "MetadataId": "118771ca-6fb9-4f60-8fd4-99b6124b63ad" } ] }
요청
GET cc_WebAPI_ServiceURI/EntityDefinitions(70816501-edb9-4740-a16c-6a5efbc05d84)/Attributes(118771ca-6fb9-4f60-8fd4-99b6124b63ad)/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?$select=LogicalName&$expand=OptionSet($select=Options),GlobalOptionSet($select=Options) HTTP/1.1 OData-MaxVersion: 4.0 OData-Version: 4.0 Accept: application/json Content-Type: application/json; charset=utf-8
응답
HTTP/1.1 200 OK Content-Type: application/json; odata.metadata=minimal OData-Version: 4.0 { "@odata.context": "cc_WebAPI_ServiceURI/$metadata#EntityDefinitions(70816501-edb9-4740-a16c-6a5efbc05d84)/Attributes/Microsoft.Dynamics.CRM.PicklistAttributeMetadata(LogicalName,OptionSet,GlobalOptionSet,OptionSet(Options),GlobalOptionSet(Options))/$entity", "LogicalName": "accountcategorycode", "MetadataId": "118771ca-6fb9-4f60-8fd4-99b6124b63ad", "OptionSet@odata.context": "cc_WebAPI_ServiceURI/$metadata#EntityDefinitions(70816501-edb9-4740-a16c-6a5efbc05d84)/Attributes(118771ca-6fb9-4f60-8fd4-99b6124b63ad)/Microsoft.Dynamics.CRM.PicklistAttributeMetadata/OptionSet(Options)/$entity", "OptionSet": { "Options": [{ "Value": 1, "Label": { "LocalizedLabels": [{ "Label": "Preferred Customer", "LanguageCode": 1033, "IsManaged": true, "MetadataId": "0bd8a218-2341-db11-898a-0007e9e17ebd", "HasChanged": null }], "UserLocalizedLabel": { "Label": "Preferred Customer", "LanguageCode": 1033, "IsManaged": true, "MetadataId": "0bd8a218-2341-db11-898a-0007e9e17ebd", "HasChanged": null } }, "Description": { "LocalizedLabels": [ ], "UserLocalizedLabel": null }, "Color": null, "IsManaged": true, "MetadataId": null, "HasChanged": null }, { "Value": 2, "Label": { "LocalizedLabels": [{ "Label": "Standard", "LanguageCode": 1033, "IsManaged": true, "MetadataId": "0dd8a218-2341-db11-898a-0007e9e17ebd", "HasChanged": null }], "UserLocalizedLabel": { "Label": "Standard", "LanguageCode": 1033, "IsManaged": true, "MetadataId": "0dd8a218-2341-db11-898a-0007e9e17ebd", "HasChanged": null } }, "Description": { "LocalizedLabels": [ ], "UserLocalizedLabel": null }, "Color": null, "IsManaged": true, "MetadataId": null, "HasChanged": null }], "MetadataId": "b994cdd8-5ce9-4ab9-bdd3-8888ebdb0407" }, "GlobalOptionSet": null }
참고 항목
웹 API를 Dynamics 365 메타데이터와 함께 사용
웹 API를 사용하는 메타데이터 쿼리
Web API를 사용하여 엔터티 정의 만들기 및 업데이트
Web API를 사용하여 엔터티 관계 만들기 및 업데이트
Microsoft Dynamics 365
© 2017 Microsoft. All rights reserved. 저작권 정보