次の方法で共有


GraphQL 定義用 API

この記事では、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"
    }
  ]
}