Partilhar via


API para definição de GraphQL

Este artigo fornece um detalhamento da estrutura de definição para itens GraphQLApi.

Peças de definição

Esta tabela lista as partes de definição do GraphQLApi.

Caminho da parte de definição tipo Obrigatório Descrição
.platform PlatformDetails (JSON) falso Descreve detalhes comuns do item
graphql-definition.json GraphQLDefinition (JSON) verdadeiro Descreve a configuração geral e de fonte de dados da API para GraphQL

GraphQLDefinition

Nome Tipo Descrição
$schema Cordão URL para especificação de esquema
Fontes de dados Fonte[] Lista de fontes de dados associadas à API para GraphQL

Fonte

Nome Tipo Descrição
sourceItemId Guia ID do item de origem
sourceWorkspaceId Guia ID do espaço de trabalho que contém o item de origem
connectionId Guia ID da conexão usada para o item de origem
Tipo de fonte Tipo de fonte Tipo de item de origem
objetos SourceObject[] Lista de objetos no item de origem que são expostos usando a API GraphQL

SourceType (enum)

Nome Descrição
SqlAnalyticsEndpoint Ponto de extremidade do SQL Analytics
Armazém Armazém
SqlDbNative Banco de dados SQL
AzureSql Base de Dados SQL do Azure

SourceObject

Nome Tipo Descrição
graphqlType Cordão Nome do tipo GraphQL a ser usado para o objeto no item de origem
sourceObject Cordão Nome do objeto no item de origem exposto pela API GraphQL
Tipo de Objeto de Origem SourceObjectType Tipo de objeto no item de origem
ações <ActionType, ActionValue> Dicionário de tipo de ação para valor de ação que indica consultas e mutações com seu status de ativação
fieldMapeamentos <String, String> Dicionário de campos no objeto de origem para campos GraphQL
Relacionamentos Relacionamento[] Lista de relações configuradas a partir do objeto de origem
IsStoredProcedureQueryNode Booleano Tipo de operação GraphQL para expor o procedimento armazenado. Verdadeiro - Consulta, Falso - Mutação.

SourceObjectType (enum)

Nome Descrição
Tabela Tabela de banco de dados
Visualizar Visualização do banco de dados
Procedimento Armazenado Procedimento armazenado do banco de dados

ActionType (enum)

Nome Descrição
Pergunta Consulta no objeto de origem
Query_by_pk Consulta por chave primária no objeto de origem
Criar Criar mutação no objeto de origem
Atualização Atualizar mutação no objeto de origem
Suprimir Excluir mutação no objeto de origem
Executar Executar consulta ou mutação no procedimento armazenado

ActionValue (enum)

Nome Descrição
Ativado(a) Ativar consulta ou mutação
Desabilitado Desativar consulta ou mutação

Relacionamento

Nome Tipo Descrição
campo Cordão Nome do campo GraphQL a ser usado para a relação no tipo GraphQL
cardinalidade RelacionamentoCardinalidade Cardinalidade para a relação
targetObject Cordão Objeto de destino para a relação
sourceFields Cadeia[] Lista de campos no objeto de origem usado para a relação
targetFields Cadeia[] Lista de campos no objeto de destino usado para a relação
linkingObject Cordão Vinculando objeto para relações muitos-para-muitos entre objetos de origem e de destino
linkingSourceFields Cadeia[] Lista de campos no objeto de vinculação para a relação do objeto de origem
vinculaçãoTargetFields Cadeia[] Lista de campos no objeto de vinculação para a relação com o objeto de destino

RelacionamentoCardinalidade (enum)

Nome Descrição
MuitosToOne Relação muitos-para-um
OneToMany Relação um-para-muitos
OneToOne Relação um-para-um
MuitosToMuitos Relação muitos-para-muitos

Exemplo de 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"
    }
  ]
}