แชร์ผ่าน


API สําหรับข้อกําหนด GraphQL

บทความนี้มีการแบ่งย่อยของโครงสร้างข้อกําหนดสําหรับรายการ GraphQLApi

ส่วนคําจํากัดความ

ตารางนี้แสดงรายการส่วนข้อกําหนด GraphQLApi

เส้นทางของส่วนข้อกําหนด ชนิด ต้องมี คำอธิบาย
.platform PlatformDetails (JSON) เท็จ อธิบายรายละเอียดทั่วไปของรายการ
graphql-definition.json GraphQLDefinition (JSON) จริง อธิบายทั่วไปและการกําหนดค่าแหล่งข้อมูลของ API สําหรับ GraphQL

GraphQLDefinition

ชื่อ ประเภท คำอธิบาย
$schema สตริง URL สําหรับข้อมูลจําเพาะของ schema
แหล่งข้อมูล แหล่งที่มา[] รายการของแหล่งข้อมูลที่เชื่อมโยงกับ API สําหรับ GraphQL

แหล่งที่มา

ชื่อ ประเภท คำอธิบาย
sourceItemId คําแนะนํา ID ของรายการต้นทาง
sourceWorkspaceId คําแนะนํา ID ของพื้นที่ทํางานที่มีรายการต้นทาง
connectionId คําแนะนํา ID ของการเชื่อมต่อที่ใช้สําหรับรายการต้นทาง
sourceType SourceType ชนิดของรายการต้นทาง
วัตถุ SourceObject[] รายการของออบเจ็กต์ในรายการต้นทางที่เปิดเผยโดยใช้ GraphQL API

SourceType (enum)

ชื่อ คำอธิบาย
SqlAnalyticsEndpoint จุดสิ้นสุดการวิเคราะห์ SQL
คลังสินค้า คลังสินค้า
SqlDbNative ฐานข้อมูล SQL
AzureSql ฐานข้อมูล Azure SQL

SourceObject

ชื่อ ประเภท คำอธิบาย
graphqlType สตริง ชื่อชนิด GraphQL ที่จะใช้สําหรับวัตถุในรายการต้นทาง
sourceObject สตริง ชื่อวัตถุในรายการแหล่งข้อมูลที่เปิดเผยโดย GraphQL API
sourceObjectType SourceObjectType ชนิดออบเจ็กต์ในหน่วยข้อมูลต้นทาง
การดําเนินการ <ActionType, ActionValue> พจนานุกรมของชนิดการดําเนินการกับค่าการดําเนินการที่ระบุคิวรีและการกลายพันธุ์ที่มีสถานะการเปิดใช้งาน
fieldMappings <String, String> พจนานุกรมของเขตข้อมูลในออบเจ็กต์ต้นทางกับเขตข้อมูล GraphQL
สัมพันธ์ ความสัมพันธ์[] รายการของความสัมพันธ์ที่กําหนดค่าจากวัตถุต้นทาง
IsStoredProcedureQueryNode บูลีน ชนิดการดําเนินการ GraphQL สําหรับการเปิดเผยขั้นตอนการจัดเก็บ จริง - คิวรี เท็จ - การกลายพันธุ์

SourceObjectType (enum)

ชื่อ คำอธิบาย
โต๊ะ ตารางฐานข้อมูล
มุมมอง มุมมองฐานข้อมูล
StoredProcedure กระบวนงานที่เก็บไว้ของฐานข้อมูล

ActionType (enum)

ชื่อ คำอธิบาย
คิวรี คิวรีบนวัตถุต้นทาง
Query_by_pk คิวรีโดยคีย์หลักบนวัตถุต้นทาง
สร้าง สร้างการกลายพันธุ์บนออบเจ็กต์ต้นทาง
อัปเดต อัปเดตการกลายพันธุ์บนวัตถุต้นทาง
ลบ ลบการกลายพันธุ์บนวัตถุต้นทาง
ดำเนินการ ดําเนินการคิวรีหรือการกลายพันธุ์บน Stored Procedure

ActionValue (enum)

ชื่อ คำอธิบาย
เปิดใช้งาน เปิดใช้งานคิวรีหรือการกลายพันธุ์
ถูกปิดใช้งาน ปิดใช้งานคิวรีหรือการกลายพันธุ์

ความสัมพันธ์

ชื่อ ประเภท คำอธิบาย
สนาม สตริง ชื่อเขตข้อมูล GraphQL ที่จะใช้สําหรับความสัมพันธ์ในชนิด GraphQL
คาร์ดินาลลิตี้ RelationshipCardinality คาร์ดินาลลิตี้สําหรับความสัมพันธ์
targetObject สตริง ออบเจ็กต์เป้าหมายสําหรับความสัมพันธ์
sourceFields String[] รายการเขตข้อมูลในวัตถุต้นทางที่ใช้สําหรับความสัมพันธ์
targetFields String[] รายการของเขตข้อมูลในวัตถุเป้าหมายที่ใช้สําหรับความสัมพันธ์
linkingObject สตริง การเชื่อมโยงวัตถุสําหรับความสัมพันธ์แบบกลุ่มต่อกลุ่มระหว่างวัตถุต้นทางและวัตถุเป้าหมาย
linkingSourceFields String[] รายการของเขตข้อมูลในวัตถุการเชื่อมโยงสําหรับความสัมพันธ์จากวัตถุต้นทาง
linkingTargetFields String[] รายการของเขตข้อมูลในวัตถุการเชื่อมโยงสําหรับความสัมพันธ์ไปยังวัตถุเป้าหมาย

RelationshipCardinality (enum)

ชื่อ คำอธิบาย
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"
    }
  ]
}