В этой статье представлена разбивка структуры определения для элементов GraphQLApi.
Части определения
В этой таблице перечислены части определения GraphQLApi.
| Путь к части определения |
тип |
Обязательно |
Описание |
.platform |
PlatformDetails (JSON) |
неправда |
Описание общих сведений об элементе |
graphql-definition.json |
GraphQLDefinition (JSON) |
правда |
Описание общей конфигурации и конфигурации источника данных API для GraphQL |
GraphQLDefinition
| Имя |
Тип |
Описание |
| $schema |
Струна |
URL-адрес спецификации схемы |
| источники данных |
Source[] |
Список источников данных, связанных с API для GraphQL |
Исходный материал
| Имя |
Тип |
Описание |
| sourceItemId |
Гид |
Идентификатор исходного элемента |
| sourceWorkspaceId |
Гид |
Идентификатор рабочей области, содержащей исходный элемент |
| connectionId |
Гид |
Идентификатор подключения, используемого для исходного элемента |
| тип источника |
Тип источника |
Тип исходного элемента |
| Объектов |
SourceObject[] |
Список объектов в исходном элементе, который предоставляется с помощью API GraphQL |
SourceType (перечисление)
| Имя |
Описание |
| SqlAnalyticsEndpoint |
Конечная точка аналитики SQL |
| Склад |
Склад |
| SqlDbNative |
База данных SQL |
| AzureSql |
База данных SQL Azure |
SourceObject
| Имя |
Тип |
Описание |
| graphqlType |
Струна |
Имя типа GraphQL, используемое для объекта в исходном элементе |
| sourceObject |
Струна |
Имя объекта в исходном элементе, предоставляемом API GraphQL |
| тип исходного объекта |
SourceObjectType |
Тип объекта в исходном элементе |
| Действия |
<ActionType, ActionValue> |
Словарь типа действия для значения действия, указывающего запросы и изменения с их состоянием включения |
| fieldMappings |
<Строка, строка> |
Словарь полей в исходном объекте в поля GraphQL |
| Отношения |
Связь[] |
Список связей, настроенных из исходного объекта |
| IsStoredProcedureQueryNode |
Булев |
Тип операции GraphQL для предоставления хранимой процедуры. True — запрос, false — мутация. |
SourceObjectType (перечисление)
| Имя |
Описание |
| Таблица |
Таблица базы данных |
| Просмотреть |
Представление базы данных |
| хранимая процедура |
Хранимая процедура базы данных |
ActionType (перечисление)
| Имя |
Описание |
| Запрос |
Запрос к исходному объекту |
| Query_by_pk |
Запрос по первичному ключу в исходном объекте |
| Создайте |
Создание мутации в исходном объекте |
| Обновление |
Обновление мутации в исходном объекте |
| Удалить |
Удаление мутации в исходном объекте |
| Выполнить |
Выполнение запроса или изменения в хранимой процедуре |
ActionValue (перечисление)
| Имя |
Описание |
| Включен |
Включение запроса или изменения |
| Нетрудоспособный |
Отключение запроса или изменения |
Отношения
| Имя |
Тип |
Описание |
| поле |
Струна |
Имя поля GraphQL, используемое для связи в типе GraphQL |
| мощность |
СвязьCardinality |
Кратность для связи |
| targetObject |
Струна |
Целевой объект для связи |
| sourceFields |
String[] |
Список полей в исходном объекте, используемом для связи |
| targetFields |
String[] |
Список полей в целевом объекте, используемом для связи |
| связываниеObject |
Струна |
Связывание объекта для связей "многие ко многим" между исходными и целевыми объектами |
| связываниеSourceFields |
String[] |
Список полей в объекте связывания для связи из исходного объекта |
| связываниеTargetFields |
String[] |
Список полей в объекте связывания для связи с целевым объектом |
RelationshipCardinality (перечисление)
| Имя |
Описание |
| ManyToOne |
Связь "многие ко одному" |
| OneToMany |
Связь "Один ко многим" |
| OneToOne |
Связь "один к одному" |
| МногиеToMany |
Связь "многие ко многим" |
Пример GraphQLDefinition
{
"$schema": "https://developer.microsoft.com/json-schemas/fabric/item/graphqlApi/definition/1.0.0/schema.json",
"datasources": [
{
"objects": [
{
"actions": {
"Query": "Enabled"
},
"fieldMappings": {
"LastName": "LastName",
"Name": "Name"
},
"graphqlType": "Customers",
"relationships": [],
"sourceObject": "model.Customers",
"sourceObjectType": "View"
}
],
"sourceItemId": "c54cd4ce-cbaa-4fc5-bcc8-121f2a3e0c4c",
"sourceType": "Warehouse",
"sourceWorkspaceId": "c2231263-b81e-4dd2-a69b-41eca8c93584"
},
{
"connectionId": "daa5dc10-6eae-4b19-af5f-da8db84c51c1",
"objects": [
{
"actions": {
"Query": "Enabled"
},
"fieldMappings": {
"id": "id",
"publisher_id": "publisher_id",
"title": "title"
},
"graphqlType": "publishers",
"relationships": [],
"sourceObject": "dbo.publishers_view",
"sourceObjectType": "View"
},
{
"actions": {
"Query": "Enabled",
"Query_by_pk": "Enabled",
"Create": "Enabled",
"Update": "Enabled",
"Delete": "Disabled"
},
"fieldMappings": {
"id": "id",
"title": "title"
},
"graphqlType": "books",
"relationships": [],
"sourceObject": "dbo.books",
"sourceObjectType": "Table"
}
],
"sourceItemId": "daa5dc10-6eae-4b19-af5f-da8db84c51c1",
"sourceType": "AzureSql",
"sourceWorkspaceId": "00000000-0000-0000-0000-000000000000"
}
]
}