Bagikan melalui


API untuk definisi GraphQL

Artikel ini menyediakan perincian struktur definisi untuk item GraphQLApi.

Bagian definisi

Tabel ini mencantumkan bagian definisi GraphQLApi.

Jalur bagian definisi tipe Diperlukan Deskripsi
.platform PlatformDetails (JSON) tidak benar Menjelaskan detail umum item
graphql-definition.json GraphQLDefinition (JSON) benar Menjelaskan konfigurasi umum dan sumber data API untuk GraphQL

GraphQLDefinition

Nama Tipe Deskripsi
$schema string URL untuk spesifikasi skema
sumber data Sumber[] Daftar sumber data yang terkait dengan API untuk GraphQL

Sumber

Nama Tipe Deskripsi
sourceItemId Panduan ID item sumber
sourceWorkspaceId Panduan ID ruang kerja yang berisi item sumber
connectionId Panduan ID koneksi yang digunakan untuk item sumber
sumberJenis Jenis Sumber Tipe item sumber
Objek SourceObject[] Daftar objek dalam item sumber yang diekspos menggunakan API GraphQL

SourceType (enum)

Nama Deskripsi
SqlAnalyticsEndpoint Titik Akhir Analitik SQL
Gudang Gudang
SqlDbNative SQL Database
AzureSql Azure SQL Database

SourceObject

Nama Tipe Deskripsi
graphqlType string Nama jenis GraphQL yang akan digunakan untuk objek dalam item sumber
sourceObject string Nama objek dalam item sumber yang diekspos oleh API GraphQL
sourceObjectType SourceObjectType Jenis objek dalam item sumber
Tindakan <ActionType, ActionValue> Kamus jenis tindakan ke nilai tindakan yang menunjukkan kueri dan mutasi dengan status pengaktifannya
fieldMappings <String, String> Kamus bidang dalam objek sumber ke bidang GraphQL
Hubungan Hubungan[] Daftar hubungan yang dikonfigurasi dari objek sumber
IsStoredProcedureQueryNode Boolean (tipe data yang hanya memiliki dua nilai: true atau false) Jenis operasi GraphQL untuk mengekspos prosedur tersimpan. True - Query, False - Mutasi.

SourceObjectType (enum)

Nama Deskripsi
Tabel Tabel database
Tampilkan Tampilan database
Prosedur Tersimpan Prosedur tersimpan database

ActionType (enum)

Nama Deskripsi
Pertanyaan Kueri pada objek sumber
Query_by_pk Kueri menurut kunci utama pada objek sumber
Buat Membuat mutasi pada objek sumber
Pemutakhiran Memperbarui mutasi pada objek sumber
Menghapus Menghapus mutasi pada objek sumber
Jalankan Menjalankan kueri atau mutasi pada prosedur tersimpan

ActionValue (enum)

Nama Deskripsi
Diaktifkan Mengaktifkan kueri atau mutasi
Penyandang Disabilitas Menonaktifkan kueri atau mutasi

Hubungan

Nama Tipe Deskripsi
lapangan string Nama bidang GraphQL yang akan digunakan untuk hubungan dalam jenis GraphQL
kardinalitas RelationshipCardinality Kardinalitas untuk hubungan
targetObject string Objek target untuk hubungan
sourceFields string[] Daftar bidang dalam objek sumber yang digunakan untuk hubungan
targetFields string[] Daftar bidang dalam objek target yang digunakan untuk hubungan
menautkanObject string Menautkan objek untuk hubungan banyak ke banyak antara objek sumber dan target
linkingSourceFields string[] Daftar bidang dalam objek penautan untuk hubungan dari objek sumber
linkingTargetFields string[] Daftar bidang dalam objek penautan untuk hubungan ke objek target

RelationshipCardinality (enum)

Nama Deskripsi
ManyToOne Hubungan banyak-ke-Satu
OneToMany Hubungan satu-ke-Banyak
OneToOne Hubungan satu-ke-Satu
ManyToMany Hubungan Banyak ke Banyak

Contoh 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"
    }
  ]
}