この記事では、GraphQLApi 項目の定義構造の詳細について説明します。
定義パーツ
次の表に、GraphQLApi 定義パーツの一覧を示します。
| 定義パーツのパス |
種類 |
必須 |
説明 |
.platform |
PlatformDetails (JSON) |
偽り |
アイテムの一般的な詳細について説明します |
graphql-definition.json |
GraphQLDefinition (JSON) |
ほんとう |
GraphQL 用 API の一般的な構成とデータソースの構成について説明します |
GraphQLDefinition
| 名前 |
タイプ |
説明 |
| $schema |
糸 |
スキーマ指定の URL |
| データソース |
Source[] |
GraphQL 用 API に関連付けられているデータ ソースの一覧 |
情報源
| 名前 |
タイプ |
説明 |
| sourceItemId |
Guid |
ソース項目の ID |
| sourceWorkspaceId |
Guid |
ソース 項目を含むワークスペースの ID |
| connectionId |
Guid |
ソース項目に使用される接続の ID |
| ソースタイプ |
ソースタイプ |
ソース項目の種類 |
| オブジェクト |
SourceObject[] |
GraphQL API を使用して公開されるソース項目内のオブジェクトの一覧 |
SourceType (列挙型)
| 名前 |
説明 |
| SqlAnalyticsEndpoint |
SQL Analytics エンドポイント |
| 倉庫 |
倉庫 |
| SqlDbNative |
SQLデータベース |
| AzureSql |
Azure SQL データベース |
SourceObject
| 名前 |
タイプ |
説明 |
| graphqlType |
糸 |
ソース項目のオブジェクトに使用する GraphQL 型の名前 |
| sourceObject |
糸 |
GraphQL API によって公開されるソース項目のオブジェクト名 |
| ソースオブジェクトタイプ |
SourceObjectType |
ソース項目のオブジェクトの種類 |
| アクション |
<ActionType、ActionValue> |
クエリと変更とその有効化状態を示すアクション値に対するアクションの種類のディクショナリ |
| フィールドマッピング |
<文字列、文字列> |
ソース オブジェクト内のフィールドから GraphQL フィールドへのフィールドのディクショナリ |
| 関係 |
リレーションシップ[] |
ソース オブジェクトから構成されたリレーションシップの一覧 |
| IsStoredProcedureQueryNode |
ボーリアン |
ストアド プロシージャを公開するための GraphQL 操作の種類。 True - クエリ、False - ミューテーション。 |
SourceObjectType (列挙型)
| 名前 |
説明 |
| 表 |
[データベース テーブル] |
| 表示 |
データベース ビュー |
| StoredProcedure |
データベース ストアド プロシージャ |
ActionType (列挙型)
| 名前 |
説明 |
| クエリ |
ソース オブジェクトに対するクエリ |
| Query_by_pk |
ソース オブジェクトの主キーによるクエリ |
| 創造する |
ソース オブジェクトに変更を作成する |
| 更新 |
ソース オブジェクトの変更を更新する |
| 削除 |
ソース オブジェクトの変更を削除する |
| 実行する |
ストアド プロシージャに対してクエリまたは変更を実行する |
ActionValue (列挙型)
| 名前 |
説明 |
| 有効化済み |
クエリまたは変更を有効にする |
| 障害者 |
クエリまたは変更を無効にする |
リレーションシップ
| 名前 |
タイプ |
説明 |
| 畑 |
糸 |
GraphQL 型のリレーションシップに使用する GraphQL フィールド名 |
| 濃度 |
RelationshipCardinality |
リレーションシップのカーディナリティ |
| targetObject |
糸 |
リレーションシップのターゲット オブジェクト |
| ソースフィールド |
String[] |
リレーションシップに使用されるソース オブジェクト内のフィールドの一覧 |
| targetFields |
String[] |
リレーションシップに使用されるターゲット オブジェクト内のフィールドの一覧 |
| linkingObject |
糸 |
ソース オブジェクトとターゲット オブジェクト間の多対多リレーションシップのオブジェクトのリンク |
| linkingSourceFields |
String[] |
ソース オブジェクトからのリレーションシップのリンク オブジェクト内のフィールドの一覧 |
| linkingTargetFields |
String[] |
ターゲット オブジェクトとのリレーションシップのリンク オブジェクト内のフィールドの一覧 |
RelationshipCardinality (列挙型)
| 名前 |
説明 |
| ManyToOne |
多対一リレーションシップ |
| OneToMany |
一対多リレーションシップ |
| OneToOne |
一対一リレーションシップ |
| ManyToMany |
多対多リレーションシップ |
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"
}
]
}