Detalhes da Conexão do GraphQL
Introdução
Versão do conector
Esta documentação é baseada na versão 21.0.8257 do conector.
Começando
Suporte à versão GraphQL
O conector aproveita a API GraphQL para habilitar o acesso bidirecional ao GraphQL.
Estabelecendo uma Conexão
Conectando ao GraphQL
Defina o seguinte para conectar:
URL
: Especifique a URL do serviço GraphQL ;Location
: Defina isso para o caminho do arquivo que contém os esquemas personalizados definidos anteriormente.
O driver suporta os seguintes tipos de autenticação:
- Básico: Conjunto
AuthScheme
para Básico. Você deve especificar oUser
ePassword
do serviço GraphQL. - OAuth 1.0 e 2.0: consulte Usando autenticação OAuth para instruções detalhadas.
- AwsCognitoSrp
- AwsCognitoBasic
Autenticação com Credenciais do AWS Cognito
Se você deseja usar o conector com um usuário registrado em um grupo de usuários no AWS Cognito, defina as seguintes propriedades para autenticação:
AuthScheme
: Defina como AwsCognitoSrp (recomendado). Você também pode usar AwsCognitoBasic.AWSCognitoRegion
: Defina isso para a região do User Pool.AWSUserPoolId
: Defina isso para o ID do grupo de usuários.AWSUserPoolClientAppId
: Defina isso para o ID do aplicativo do cliente do grupo de usuários.AWSUserPoolClientAppSecret
: Defina isso como o Segredo do cliente do pool de usuários.AWSIdentityPoolId
: Defina isso para o ID do pool de identidades do pool de identidades que está vinculado ao pool de usuários.User
: Defina como o nome de usuário do usuário registrado no User Pool.Password
: Configure com a senha do usuário cadastrado no User Pool.
Usando Autenticação OAuth
Esta seção mostra como usar o conector para autenticar qualquer fonte de dados compatível com OAuth.
OAuth requer que o usuário autenticado interaja com o GraphQL usando o navegador. O conector facilita isso de várias maneiras, conforme descrito nas seções a seguir.
Antes de seguir os procedimentos abaixo, você precisa registrar um aplicativo OAuth no serviço para obter o OAuthClientId
e OAuthClientSecret
. Você também deve definir o AuthScheme
para OAuth.
Credenciais Personalizadas
Credenciais personalizadas descreve a autenticação de área de trabalho usando as credenciais para seu aplicativo OAuth personalizado.
Máquinas Sem Cabeça
Nas Máquinas Sem Cabeça Fluxo OAuth, os usuários precisam se autenticar por meio de um navegador em outra máquina. Você precisa criar um aplicativo OAuth personalizado.
Credenciais Personalizadas
Autenticar para GraphQL
Depois de definir as seguintes propriedades de conexão, você está pronto para se conectar:
OAuthVersion
: Defina para a versão OAuth, 1.0 ou 2.0.OAuthRequestTokenURL
: Necessário para OAuth 1.0. No OAuth 1.0, esse é o URL em que o aplicativo solicita o token de solicitação.OAuthAuthorizationURL
: Necessário para OAuth 1.0 e 2.0. Essa é a URL na qual o usuário faz login no serviço e concede permissões ao aplicativo. No OAuth 1.0, se as permissões forem concedidas, o token de solicitação será autorizado.OAuthAccessTokenURL
: Necessário para OAuth 1.0 e 2.0. Esta é a URL onde a solicitação do token de acesso é feita. No OAuth 1.0, o token de solicitação autorizado é trocado pelo token de acesso.OAuthRefreshTokenURL
: Necessário para OAuth 2.0. No OAuth 2.0, este é o URL onde o token de atualização é trocado por um novo token de acesso quando o antigo expira. Observe que, para sua fonte de dados, isso pode ser o mesmo que o URL do token de acesso.OAuthClientId
: Defina isso como o ID do cliente nas configurações do aplicativo. Isso também é chamado de chave do consumidor.OAuthClientSecret
: Defina isso como o segredo do cliente nas configurações do aplicativo. Isso também é chamado de segredo do consumidor.CallbackURL
: Defina parahttp://localhost:33333
. Se você especificou um URL de redirecionamento nas configurações do aplicativo, ele deve corresponder.InitiateOAuth
: Defina como GETANDREFRESH. Você pode usar InitiateOAuth para evitar a repetição da troca OAuth e definir manualmente o token de acesso na string de conexão.
Quando você se conecta, o conector abre o endpoint OAuth em seu navegador padrão. Faça login e conceda permissões ao aplicativo. O conector então conclui o processo OAuth:
- Extrai o token de acesso da URL de retorno de chamada e autentica as solicitações.
- Atualiza o token de acesso quando ele expira.
- Salva valores OAuth em
OAuthSettingsLocation
para ser persistido nas conexões.
Máquinas Sem Cabeça
Usando OAuth em uma Máquina Sem Cabeça
Para criar fontes de dados GraphQL em servidores headless ou outras máquinas nas quais o conector não pode abrir um navegador, você precisa autenticar de outra máquina. A autenticação é um processo de duas etapas.
- Ao invés de instalar o conector em outra máquina, você pode seguir os passos abaixo para obter o
OAuthVerifier
valor. Ou você pode instalar o conector em outra máquina e transferir os valores de autenticação OAuth, depois de autenticar por meio do fluxo normal baseado em navegador. - Em seguida, você pode configurar o conector para atualizar automaticamente o token de acesso da máquina sem periféricos.
Você pode seguir o fluxo de autenticação OAuth headless usando as credenciais OAuth para seu aplicativo OAuth personalizado.
Usando as Credenciais para um Aplicativo OAuth Personalizado
Obtenha um código verificador
Defina as seguintes propriedades na máquina sem periféricos:
InitiateOAuth
: Defina como DESLIGADO.OAuthClientId
: Defina isso como o ID do aplicativo nas configurações do aplicativo.OAuthClientSecret
: Defina isso como o Segredo do aplicativo nas configurações do aplicativo.
Você pode seguir as etapas abaixo para autenticar em outra máquina e obter o OAuthVerifier
propriedade de conexão.
- Chame o GetOAuthAuthorizationURL procedimento armazenado* com o parâmetro de entrada CallbackURL definido para o URI de redirecionamento exato que você especificou nas configurações do aplicativo.
- Salve o valor do AuthToken e AuthKey retornados se
OAuthVersion
é definido como 1,0. Eles serão usados na próxima etapa. - Abra o URL retornado em um navegador. Faça login e conceda permissões ao conector. Você será redirecionado para o URL de retorno de chamada, que contém o código do verificador.
- Salve o valor do código do verificador. Você definirá isso no
OAuthVerifier
propriedade de conexão.
Na máquina sem periféricos, defina as seguintes propriedades de conexão para obter os valores de autenticação OAuth:
OAuthVersion
: Defina para a versão OAuth, 1.0 ou 2.0.OAuthRequestTokenURL
: Necessário para OAuth 1.0. No OAuth 1.0, esse é o URL em que o aplicativo solicita o token de solicitação.OAuthAuthorizationURL
: Necessário para OAuth 1.0 e 2.0. Essa é a URL na qual o usuário faz login no serviço e concede permissões ao aplicativo. No OAuth 1.0, se as permissões forem concedidas, o token de solicitação será autorizado.OAuthAccessTokenURL
: Necessário para OAuth 1.0 e 2.0. Esta é a URL onde a solicitação do token de acesso é feita. No OAuth 1.0, o token de solicitação autorizado é trocado pelo token de acesso.OAuthRefreshTokenURL
: Necessário para OAuth 2.0. No OAuth 2.0, este é o URL onde o token de atualização é trocado por um novo token de acesso quando o antigo expira. Observe que, para sua fonte de dados, isso pode ser o mesmo que o URL do token de acesso.OAuthClientId
: Defina isso como o ID do cliente nas configurações do aplicativo. Isso também é chamado de chave do consumidor.OAuthClientSecret
: Defina isso como o segredo do cliente nas configurações do aplicativo. Isso também é chamado de segredo do consumidor.CallbackURL
: Defina parahttp://localhost:33333
. Se você especificou um URL de redirecionamento nas configurações do aplicativo, ele deve corresponder.InitiateOAuth
: Defina como GETANDREFRESH. Você pode usar InitiateOAuth para evitar a repetição da troca OAuth e definir manualmente o token de acesso na string de conexão.
Conecte-se aos dados
Depois que o arquivo de configurações OAuth for gerado, defina as seguintes propriedades para se conectar aos dados:
OAuthSettingsLocation
: Defina isso para o arquivo que contém os valores de autenticação OAuth criptografados. Certifique-se de que este arquivo forneça permissões de leitura e gravação ao provedor para ativar a atualização automática do token de acesso.InitiateOAuth
: Configure para ATUALIZAR.
Configurações de transferência OAuth
Siga as etapas abaixo para instalar o conector em outra máquina, autenticar e depois transferir os valores OAuth resultantes.
Em uma segunda máquina, instale o conector e conecte-se com o seguinte conjunto de propriedades:
OAuthSettingsLocation
: Defina isso como um arquivo de texto gravável.InitiateOAuth
: Defina como GETANDREFRESH.OAuthClientId
: Defina isso como o ID do cliente nas configurações do aplicativo.OAuthClientSecret
: Defina isso como o segredo do cliente nas configurações do aplicativo.CallbackURL
: Defina isso para o URL de retorno de chamada nas configurações do aplicativo.
Teste a conexão para autenticar. Os valores de autenticação resultantes são gravados, criptografados, no caminho especificado por OAuthSettingsLocation
. Depois de testar a conexão com sucesso, copie o arquivo de configurações OAuth para sua máquina sem periféricos. Na máquina sem periféricos, defina as seguintes propriedades de conexão para se conectar aos dados:
InitiateOAuth
: Configure para ATUALIZAR.OAuthSettingsLocation
: Defina isso como o caminho para o arquivo de configurações OAuth. Certifique-se de que este arquivo forneça permissões de leitura e gravação ao conector para habilitar a atualização automática do token de acesso.
Anotações Importantes
Procedimentos Armazenados
- Os recursos de procedimentos armazenados descritos nesta documentação não são suportados no momento.
- Como os procedimentos armazenados não são suportados atualmente, qualquer recurso dependente de procedimentos armazenados também não é suportado atualmente.
Arquivos de Configuração e Seus Caminhos
- Todas as referências para adicionar arquivos de configuração e seus caminhos referem-se a arquivos e locais no Harmony Agente onde o conector está instalado. Esses caminhos devem ser ajustados conforme apropriado, dependendo do agente e do sistema operacional. Se vários agentes forem usados em um grupo de agentes, arquivos idênticos serão necessários em cada agente.
Modelagem de Dados do GraphQL
Esta seção mostra como controlar os vários esquemas que o conector oferece para preencher a lacuna entre os serviços relacionais SQL e GraphQL.
Introspecção do esquema
Os serviços GraphQL oferecem um serviço de consultar de introspecção que o conector pode usar para obter nomes de exibição e coluna.
Todos os campos de mutação SCALAR são expostos diretamente e todos os campos de objeto são expandidos.
Mutações
O conector irá procurar automaticamente Using Mutations. Como não há nenhum método fornecido pelo GraphQL para determinar quais mutações podem ser usadas para cada tabela, cada mutação é exposta como um procedimento armazenado.
Os campos LIST são expostos como tabelas temporárias ( tabelas GraphQL do tipo TEMPORARY_TABLE). As tabelas temporárias descobertas podem ser obtidas consultando as tabelas de sistema sys_tables e sys_tablecolumns.
Esquemas de personalização
Operações detalha o processo de configuração de arquivos de esquema personalizados. A configuração desses arquivos de esquema personalizados é uma etapa necessária para estabelecer uma conexão com os dados do GraphQL.
Tabelas do sistema
Consulte Tabelas do sistema para consultar os metadados da tabela atual.
Procedimentos armazenados
NOTE:
Procedimentos armazenados não são suportados atualmente. Veja a nota para detalhes.
O conector faz uso de Procedimentos Armazenados para executar várias funções, como obter e atualizar tokens OAuth.
Descoberta Automática de Esquema
Por padrão, o conector lerá automaticamente os metadados do GraphQL.
Introspecção do Esquema
Os serviços GraphQL oferecem um serviço de consultar de introspecção que o conector pode usar para obter nomes de exibição e coluna.
Um serviço de consultar de introspecção GraphQL tem um objeto de consultar em sua raiz. Outros objetos são aninhados no objeto de consultar raiz, que por sua vez pode ter seus próprios objetos aninhados.
O conector lê objetos do tipo LIST ou Relay Connection como exibições. Se um campo for SCALAR, será lido como uma coluna e, se for um OBJECT simples, será expandido.
Defina a profundidade de introspecção de metadados da seguinte forma:
ExpandTablesDepth
: Definir como 0 lerá apenas do objeto de consultar raiz. Em cenários onde as listas estão aninhadas em outras listas, defina oExpandTablesDepth
ao número de camadas aninhadas de profundidade a serem digitalizadas.ExpandColumnsDepth
: Isso determina quantas camadas mais profundas (a partir doExpandTablesDepth
) para expandir objetos para incluir campos de seus objetos filhos aninhados.
Usando Mutações
O conector verificará automaticamente as mutações disponíveis. Como não há nenhum método fornecido pelo GraphQL para determinar quais mutações podem ser usadas para cada tabela, cada mutação é exposta como um procedimento armazenado.
Todos os campos de mutação SCALAR são expostos diretamente e todos os campos de objeto são expandidos.
Os campos LIST são expostos como tabelas temporárias ( tabelas GraphQL do tipo TEMPORARY_TABLE). As tabelas temporárias descobertas podem ser obtidas consultando as tabelas de sistema sys_tables e sys_tablecolumns. Essas tabelas contêm um campo RowId e ParentId para denotar a linha e a tabela de alojamento (pai) de uma determinada tabela filha.
Um exemplo de mutação é productCreate
. Invocar mutações como um procedimento armazenado* depois de carregar primeiro as tabelas filhas relevantes necessárias para a operação:
INSERT INTO productCreate_metafields(namespace,key,value,type) VALUES('MRproductInfo','ALU','449788022','string')
INSERT INTO productCreate_variants(RowId,price,sku,inventoryManagement,weightUnit,weight,options,metafields,inventoryQuantities) VALUES(1,'39.99','38536314-0acb-4d3f-b8ff-a0f2014d2c75','SHOPIFY','POUNDS',1,'L,XL,XXL','productCreate_variants_metafields','productCreate_variants_inventoryQuantities')
INSERT INTO productCreate_variants_metafields(ParentId,namespace,key,value,type) VALUES('1','MRproductInfo','ALU','449788022-M-','string')
INSERT INTO productCreate_variants_metafields(ParentId,namespace,key,value,type) VALUES('1','MRproductInfo','ItemNumber','400000881201','string')
INSERT INTO productCreate_variants_inventoryQuantities(ParentId,locationId,availableQuantity) VALUES('1','gid://shopify/Location/1448280087',5)
INSERT INTO productCreate_media(originalSource,alt,mediaContentType) VALUES('https://static.nike.com/a/images/t_PDP_1280_v1/f_auto,q_auto:eco/qwqfyddzikcgc4ozwigp/revolution-5-road-running-shoes-szF7CS.png','Magic Shoes','IMAGE')
EXECUTE productCreate title='NIKE - 449788022', descriptionHtml=' - MEN\'S SHOES 42-MENS L/S TEES',productType='Staging', vendor='NIKE', published='false', options='size,width',metafields='productCreate_metafields', variants='productCreate_variants', media='productCreate_media'
Esquemas de Personalização
Esquemas customizados são definidos em arquivos de configuração. Este capítulo descreve a estrutura desses arquivos.
Observação: a propriedade **GenerateSchemaFiles permite que você mantenha os metadados da tabela em arquivos de esquema estáticos fáceis de personalizar (para manter suas alterações nos tipos de dados da coluna, por exemplo). Defina esta propriedade como "OnStart" para gerar arquivos de esquema para todas as tabelas em seu banco de dados na conexão. Como alternativa, defina essa propriedade como "OnUse" para gerar esquemas enquanto executa consultas SELECT para tabelas. Também é possível criar um arquivo de esquema específico para uma tabela usando CreateSchema procedimento armazenado.**
Editando Arquivos de Esquema
Tabelas e exibições são definidas pela criação de arquivos de esquema no APIScript. APIScript é uma linguagem de configuração simples que permite definir as colunas e o comportamento da tabela. Ele também possui Operações que permitem processar GraphQL. Além dessas primitivas de processamento de dados, o APIScript é uma linguagem completa com construções para condicionais, loops, etc. No entanto, conforme mostrado pelo esquema de exemplo, para a maioria das definições de tabela, você não precisará usar esses recursos.
Exemplo de Esquema
Abaixo está um esquema de tabela totalmente funcional que modela a tabela Labels e contém todos os componentes necessários para executar fontes de dados SQL para GraphQL.
Você pode encontrar mais informações sobre cada um dos componentes de um esquema em Definições de coluna, SELECIONAR Execução.
<rsb:script xmlns:rsb="http://apiscript.com/ns?v1" xmlns:xs="http://www.cdata.com/ns/rsbscript/2" xmlns:other="http://apiscript.com/ns?v1">
<rsb:info title="Labels" desc="Lists information about the different labels you can apply on an issue." other:possiblePaths="{'path':'/repository/labels/edges/node','Name':{'path':'/repository/label'}}" other:paginationObjects="{'labels':{'cursorName':'after','pageSizeArgumentName':'first','paginationType':'Cursor','isConnection':'True','pageInfo':[' endCursor','hasNextPage','hasPreviousPage','startCursor']}}">
<attr name="Id" xs:type="string" key="true" other:relativePath="id" desc="The ID of the label." />
<attr name="RepositoryName" xs:type="string" other:relativePath="name" desc="The name of the repository." other:filter="name:=" other:argumenttype="String!" other:depth="1" references="Repositories.Name" />
<attr name="UserLogin" xs:type="string" desc="The login name of the user." other:filter="owner:=" other:argumenttype="String!" other:depth="1" references="Users.Login" other:mirror="true" other:canBeSliced="true" />
<attr name="Color" xs:type="string" other:relativePath="color" desc="Identifies the label color." />
<attr name="CreatedAt" xs:type="datetime" other:relativePath="createdAt" desc="Identifies the date and time when the label was created." other:orderby="CREATED_AT" />
<attr name="Description" xs:type="string" other:relativePath="description" desc="A brief description of this label." />
<attr name="IsDefault" xs:type="boolean" other:relativePath="isDefault" desc="Indicates whether or not this is a default label." />
<attr name="Name" xs:type="string" other:relativePath="name" desc="Identifies the label name." other:filter="name:=" other:argumenttype="String!" other:orderby="NAME" other:isPathFilter="true" />
<attr name="ResourcePath" xs:type="string" other:relativePath="resourcePath" desc="The HTTP path for this label." />
<attr name="UpdatedAt" xs:type="datetime" other:relativePath="updatedAt" desc="Identifies the date and time when the label was last updated." />
<attr name="Url" xs:type="string" other:relativePath="url" desc="The HTTP URL for this label." />
</rsb:info>
<rsb:script method="GET">
<rsb:push op="graphqladoSelect" />
</rsb:script>
</rsb:script>
Definições de Coluna
Os atributos básicos de uma coluna são o nome da coluna, o tipo de dados, se a coluna é uma chave primária, o caminho relativo e a profundidade. O conector usa o atributo de profundidade para extrair nós de dados hierárquicos.
Marque os atributos da coluna no bloco do arquivo de esquema. Você também pode fornecer uma descrição de cada atributo usando a propriedade desc.
<rsb:script xmlns:rsb="http://apiscript.com/ns?v1" xmlns:xs="http://www.cdata.com/ns/rsbscript/2" xmlns:other="http://apiscript.com/ns?v1">
<rsb:info title="Labels" desc="Lists information about the different labels you can apply on an issue." other:possiblePaths="{'path':'/repository/labels/edges/node','Name':{'path':'/repository/label'}}" other:paginationObjects="{'labels':{'cursorName':'after','pageSizeArgumentName':'first','paginationType':'Cursor','isConnection':'True','pageInfo':[' endCursor','hasNextPage','hasPreviousPage','startCursor']}}">
<attr name="Id" xs:type="string" key="true" other:relativePath="id" desc="The ID of the label." />
<attr name="RepositoryName" xs:type="string" other:relativePath="name" desc="The name of the repository." other:filter="name:=" other:argumenttype="String!" other:depth="1" references="Repositories.Name" />
<attr name="UserLogin" xs:type="string" desc="The login name of the user." other:filter="owner:=" other:argumenttype="String!" other:depth="1" references="Users.Login" other:mirror="true" other:canBeSliced="true" />
<attr name="Color" xs:type="string" other:relativePath="color" desc="Identifies the label color." />
<attr name="CreatedAt" xs:type="datetime" other:relativePath="createdAt" desc="Identifies the date and time when the label was created." other:orderby="CREATED_AT" />
<attr name="Description" xs:type="string" other:relativePath="description" desc="A brief description of this label." />
<attr name="IsDefault" xs:type="boolean" other:relativePath="isDefault" desc="Indicates whether or not this is a default label." />
<attr name="Name" xs:type="string" other:relativePath="name" desc="Identifies the label name." other:filter="name:=" other:argumenttype="String!" other:orderby="NAME" other:isPathFilter="true" />
<attr name="ResourcePath" xs:type="string" other:relativePath="resourcePath" desc="The HTTP path for this label." />
<attr name="UpdatedAt" xs:type="datetime" other:relativePath="updatedAt" desc="Identifies the date and time when the label was last updated." />
<attr name="Url" xs:type="string" other:relativePath="url" desc="The HTTP URL for this label." />
</rsb:info>
<rsb:script method="GET">
<rsb:push op="graphqladoSelect" />
</rsb:script>
</rsb:script>
As seções a seguir fornecem mais detalhes sobre como usar caminhos para extrair colunas e linhas. Para ver as definições de coluna em um esquema completo, consulte Personalizando Esquemas.
Mapeando a Projeção SELECT para Campos GraphQL
Controle o processo de construção de um caminho de campo GraphQL com as propriedades listadas abaixo:
-
O
other:possiblePaths
propriedade é usada para especificar os caminhos base que selecionam o valor da coluna.Os caminhos base começam com '/' e contêm o caminho completo para o último objeto aninhado GraphQL.
<rsb:info title="Labels" desc="Lists information about the different labels you can apply to an issue." other:possiblePaths="{'path':'/repository/labels/edges/node','Name':{'path':'/repository/label'}}" other:paginationObjects="{'labels':{'cursorName':'after','pageSizeArgumentName':'first','paginationType':'Cursor','isConnection':'True','pageInfo':[' endCursor','hasNextPage','hasPreviousPage','startCursor']}}">
A seguinte consultar GraphQL é baseada no exemplo de script acima:
{ # base path=/repository/labels/edges/node repository { labels { edges { node { ... } } } } }
-
O
other:relativePath
a propriedade deve ser especificada para cada coluna. Essa propriedade é usada em conjunto com a propriedade other:possiblePaths para construir o caminho do campo GraphQL.<attr name="Name" xs:type="string" other:relativePath="name" desc="Identifies the label name." />
Com base no exemplo de script acima, o conector criará a seguinte consultar GraphQL:
{ # base path=/repository/labels/edges/node repository { # depth=1 labels { # depth=2 edges { node { name # path=base path + relative path. } } } } }
-
Use o
other:depth
propriedade para especificar um elemento dentro de um objeto GraphQL específico. Os índices são baseados em 1. Se esse atributo não for especificado, o valor padrão será igual ao último objeto GraphQL aninhado.<attr name="RepositoryName" xs:type="string" other:relativePath="name" desc="The name of the repository." other:depth="1" />
A seguinte consultar GraphQL é criada a partir do exemplo de script acima:
{ # base path=/repository/labels/edges/node repository { # depth=1 name # This is mapped to the RepositoryName column labels { # depth=2 edges { node { ... } } } } }
-
Use o
other:fragment
propriedade para especificar um grupo de campos. Essa propriedade pode ser usada quando o servidor GraphQL retorna uma matriz de objetos e o conector pode precisar enviar essas informações como um agregado.<attr name="ColumnValues" xs:type="string" other:relativePath="column_values" desc="Column values." other:fragment="fragment ItemColumnValues on ColumnValue { ID \r\n value }" />
Com base no exemplo de script acima, o conector criará a seguinte consultar GraphQL:
query { items { column_values { ...ItemColumnValues } } } fragment ItemColumnValues on ColumnValue { id value }
-
Use o
other:canbesliced
propriedade habilita o comportamento de divisão no conectorPor exemplo,
SELECT * FROM Table WHERE Col IN ('1','2','3')
torna-se
SELECT * FROM Table WHERE Col=1 SELECT * FROM Table WHERE Col=2 SELECT * FROM Table WHERE Col=3
-
Use o
other:mirror
propriedade para refletir o valor especificado nos critérios. Use em colunas que não são especificadas na resposta do servidor.Por exemplo:
SELECT * FROM Table WHERE Col=X (If other:mirror=true the connector will artificially set the value of Col to X for every row.)
-
Use
references
para referenciar a coluna chave da tabela pai. Exemplo: Se houver duas tabelas Orders e OrderLineItems e a OrderLineItems tiver uma coluna OrderId, o campo de referência desta coluna será "Pedidos.Id".
Notes
:
- Caminhos e nomes de colunas (quando usados para gerar o caminho) diferenciam maiúsculas de minúsculas.
- Pelo menos um caminho possível deve ser especificado.
- O
other:relativePath
a propriedade deve ser especificada para cada coluna. Caso contrário, o conector não pode mapear a coluna SELECT para um campo GraphQL.
SELECIONE a Execução
Quando uma consultar SELECT é emitida, o conector executa o método GET do esquema, que invoca as operações integradas do conector para processar o GraphQL. No método GET você tem controle sobre a requisição de dados. Os procedimentos a seguir mostram várias maneiras de usar isso: pesquisar os dados remotos, do lado do servidor, com SELECT WHERE ou implementar a paginação.
Processamento de Consultas Colaborativas
Por padrão, o conector processará a consultar do lado do cliente, na memória, de modo que o URL
a propriedade da conexão é tudo o que você precisa definir para executar qualquer instrução SELECT.
O conector também pode descarregar consultas com suporte para o servidor enquanto processa o restante do lado do cliente de consultar. Por exemplo, uma pesquisa do lado do servidor filtra os dados para que um conjunto de dados menor possa ser processado do lado do cliente. Consulte a documentação do SupportEnhancedSQL
propriedade para obter mais informações sobre o recurso de processamento de consultar colaborativa. Você pode estender o script resultante para adicionar suporte ao lado do servidor de solicitações de processamento.
Mapeando Critérios SELECT para Argumentos GraphQL
As seções a seguir mostram como traduzir uma instrução SELECT WHERE em uma consultar GraphQL para APIs GraphQL. O procedimento usa a seguinte instrução:
SELECT *
FROM <table>
WHERE ModifiedAt<'2019-10-30 05:05:36.001'
Se esse filtro for suportado no servidor por meio de parâmetros de consultar, você poderá usar a propriedade other:filter da definição da coluna api:info para especificar o mapeamento desejado. Para a consultar acima, o conector usará essa propriedade para mapear a propriedade modifyAt < '<data>' filtro para o parâmetro de consultar que retorna resultados que foram modificados antes de uma determinada data, e o modifedAt > '<data>' filter para o parâmetro de consultar que filtra os resultados que foram modificados posteriormente.
other:filter
é uma lista separada por ponto e vírgula de <nome do parâmetro>:<lista de operadores>. <nome do parâmetro> é o nome do parâmetro de consultar e <lista de operadores> é uma lista separada por vírgulas de operadores usados para o mapeamento. Os operadores válidos são <, <=, =, > e >=.other:argumentType
é uma informação extra necessária. Deve conter o tipo do argumento baseado na linguagem do tipo de esquema GraphQL.
Para realizar esse mapeamento, o conector usaria a seguinte marcação para a definição da coluna modifedAt:
<attr name="ModifiedAt" xs:type="datetime" other:relativePath="modifiedAt" other:argumentType="DateTime" description="When the vendor was last modified." other:filter="modifiedAtAfter:>;modifiedAtBefore:<" />
Esta consultar resulta nos seguintes postdata:
{
"variables": {
"ModifiedAt_modifiedAtBefore": "2019-10-30T09:05:36.001Z"
},
"query": "query($ModifiedAt_modifiedAtBefore:DateTime) {\r\nbusinesses {\r\nedges {\r\nnode {\r\ncustomers(modifiedAtBefore:$ModifiedAt_modifiedAtBefore) {\r\nedges {\r\nnode {\r\nid\r\nmodifiedAt\r\n}\r\n}\r\npageInfo {\r\ntotalPages\r\ncurrentPage\r\n}\r\n}\r\nid\r\n}\r\n}\r\npageInfo {\r\ntotalPages\r\ncurrentPage\r\n}\r\n}\r\n}\r\n"
}
Filtros de Caminho
Existem serviços GraphQL em que o argumento GraphQL não é suficiente para processar o filtro servereport suite ID (RSID)e. O caminho deve ser alterado. Para usar corretamente um filtro de caminho, você precisa concluir as seguintes etapas:
-
Adicione o caminho ao
other:possiblePaths
informações extras e mapeie-as com o nome da coluna que deseja filtrar.Ex: other:possiblepaths="{'path':'/businesses/edges/node','id':{'path':'/business'}}"
-
Set the
outro:isPathFilter
to TRUE in the column defintion.<attr name="Id" xs:type="string" key="true" other:relativePath="id" other:isPathFilter="true" other:filter="id:=" />
After completing these steps the following SQL query
SELECT Id,Name,CreatedAt FROM Businesses WHERE Id='QnVzaW5M6ZTY4ZDA2MmQtYzkzZS00MGZkLTk4YWUtNDg2YzcxMmExNzFl'
will be converted to the postdata:
{
"variáveis": {
"Id_id": "QnVzaW5M6ZTY4ZDA2MmQtYzkzZS00MGZkLTk4YWUtNDg2YzcxMmExNzFl"
},
"consultar": "consultar($Id_id:ID) {\r\nbusiness(id:$Id_id) {\r\nid\r\nname\r\ncreatedAt\r\n}\r\n} \r\n"
}
Paginação
O driver suporta dois modos de paginação.
-
Cursor
other:paginationObjects = "{ 'labels': { 'cursorName': 'after', 'pageSizeArgumentName': 'first', 'paginationType': 'Cursor', 'isConnection': 'True', 'pageInfo': ['endCursor', 'hasNextPage', 'hasPreviousPage', 'startCursor'] } }"
Os seguintes pós-dados serão gerados após o processamento do
other:paginationObjects
informações extras da tabela especificadas acima:{ "variables": { "UserLogin_owner": "testaccount71", "RepositoryName_name": "test", "first": <Pagesize> }, "query": "query($UserLogin_owner:String!, $RepositoryName_name:String!, $first:Int) {\r\nrepository(owner:$UserLogin_owner, name:$RepositoryName_name) {\r\nlabels(first:$first) {\r\nedges {\r\nnode {\r\nid\r\ncolor\r\ncreatedAt\r\ndescription\r\nisDefault\r\nname\r\nresourcePath\r\nupdatedAt\r\nurl\r\n}\r\n}\r\npageInfo {\r\nendCursor\r\nhasNextPage\r\n}\r\n}\r\nname\r\n}\r\n}\r\n" }
-
Offset
other:pageInfoObjects="{ 'businesses': { 'offsetArgumentName': 'page', 'pageSizeArgumentName': 'pageSize', 'paginationType': 'Offset', 'isConnectionObject': 'True', 'pageInfo': ['currentPage', 'totalPages', 'totalCount'] } }"
Os seguintes pós-dados serão gerados após o processamento do
other:paginationObjects
informações extras da tabela especificadas acima:{ "variables": { "pageSize_1": <Pagesize> }, "query": "query($pageSize_1:Int) {\r\nbusinesses(pageSize:$pageSize_1) {\r\nedges {\r\nnode {\r\nid\r\n}\r\n}\r\npageInfo {\r\ntotalPages\r\ncurrentPage\r\n}\r\n}\r\n}\r\n" }
Processar Outras Instruções SELECT do Lado do Servidor
ORDENAR POR
Você pode classificar os resultados do ID do conjunto de relatórios do servidor (RSID) e se o serviço GraphQL for compatível, especificando as seguintes propriedades:
-
O
other:orderByFormat
pode ser especificado na definição da tabela ou na definição da coluna.<rsb:info title="Labels" desc="Lists information about the different labels you can apply on an issue." other:orderByFormat="{field: {orderByArgumentValue}, direction: {sortOrder}}"> <attr name="CreatedAt" xs:type="datetime" other:relativePath="createdAt" other:orderByFormat="{field: {orderByArgumentValue}, direção: {sortOrder}}" other:orderBy="orderBy:CREATED_AT" />
-
O
other:orderBy
deve ser especificado apenas na definição da coluna. O formato desta propriedade é <orderByArgumentName>:<orderByArgumentValue><attr name="CreatedAt" xs:type="datetime" other:relativePath="createdAt" other:orderBy="orderBy:CREATED_AT" />
Depois de concluir essas etapas, a seguinte consultar SQL
SELECT ID FROM Labels ORDER BY CreatedAt ASC
será convertido para o postdata:
{
"variables": {
"first": <Pagesize>
},
"query": "query($first:Int) {\r\nrepository {\r\nlabels(sort:{field: CREATED_AT, direction: ASC}, first:$first) {\r\nedges {\r\nnode {\r\nid\r\n}\r\n}\r\npageInfo {\r\nendCursor\r\nhasNextPage\r\n}\r\n}\r\n}\r\n}\r\n"
}
Operações
O conector possui operações de alto desempenho para processamento de fontes de dados GraphQL. Essas operações são neutras em relação à plataforma: os arquivos de esquema que invocam essas operações podem ser usados em .NET e Java. Você também pode estender o conector com suas próprias operações escritas em .NET ou Java.
O conector tem as seguintes operações:
Nome da operação | Descrição |
---|---|
OAuthGetAccessToken | Para OAuth 1.0, troque um token de solicitação por um token de acesso. Para OAuth 2.0, obtenha um token de acesso ou obtenha um novo token de acesso com o token de atualização. |
OAuthGetUserAuthorizationURL | Gera a URL de autorização do usuário. OAuth 2.0 não acessará a rede nesta operação. |
OAuthGetAccessToken
O OAuthGetAccessToken é uma operação operação usada para facilitar a autenticação OAuth e os fluxos de atualização.
O conector inclui procedimentos armazenados* que invocam esta operação para concluir a troca OAuth. O esquema de exemplo a seguir lista brevemente algumas das entradas normalmente necessárias antes que as seções a seguir as expliquem com mais detalhes.
Para obter um guia sobre como usar o conector para autenticação, consulte Using OAuth Authentication capítulo.
Criando um Procedimento Armazenado GetOAuthAccessToken
Invoque o OAuthGetAccessToken com o procedimento armazenado GetOAuthAccessToken. As entradas a seguir são necessárias para a maioria das origens de dados e fornecerão valores padrão para as propriedades de conexão com o mesmo nome.
<api:script xmlns:api="http://www.rssbus.com/ns/rsbscript/2">
<api:info title="GetOAuthAccessToken" description="Obtains the OAuth access token to be used for authentication with various APIs." >
<input name="AuthMode" desc="The OAuth flow. APP or WEB." />
<input name="CallbackURL" desc="The URL to be used as a trusted redirect URL, where the user will return with the token that verifies that they have granted your app access. " />
<input name="OAuthAccessToken" desc="The request token. OAuth 1.0 only." />
<input name="OAuthAccessTokenSecret" desc="The request token secret. OAuth 1.0 only." />
<input name="Verifier" desc="The verifier code obtained when the user grants permissions to your app." />
<output name="OAuthAccessToken" desc="The access token." />
<output name="OAuthTokenSecret" desc="The access token secret." />
<output name="OAuthRefreshToken" desc="A token that may be used to obtain a new access token." />
</api:info>
<!-- Set OAuthVersion to 1.0 or 2.0. -->
<api:set attr="OAuthVersion" value="MyOAuthVersion" />
<!-- Set RequestTokenURL to the URL where the request for the request token is made. OAuth 1.0 only.-->
<api:set attr="OAuthRequestTokenURL" value="http://MyOAuthRequestTokenURL" />
<!-- Set OAuthAuthorizationURL to the URL where the user logs into the service and grants permissions to the application. -->
<api:set attr="OAuthAuthorizationURL" value="http://MyOAuthAuthorizationURL" />
<!-- Set OAuthAccessTokenURL to the URL where the request for the access token is made. -->
<api:set attr="OAuthAccessTokenURL" value="http://MyOAuthAccessTokenURL" />
<!-- Set GrantType to the authorization grant type. OAuth 2.0 only. -->
<api:set attr="GrantType" value="CODE" />
<!-- Set SignMethod to the signature method used to calculate the signature of the request. OAuth 1.0 only.-->
<api:set attr="SignMethod" value="HMAC-SHA1" />
<api:call op="oauthGetAccessToken">
<api:push/>
</api:call>
</api:script>
Escrevendo o Procedimento Armazenado RefreshOAuthAccessToken
Você também pode usar OAuthGetAccessToken para atualizar o token de acesso fornecendo as seguintes entradas:
<api:script xmlns:api="http://www.rssbus.com/ns/rsbscript/2">
<api:info title="RefreshOAuthAccessToken" description="Refreshes the OAuth access token used for authentication." >
<input name="OAuthRefreshToken" desc="A token that may be used to obtain a new access token." />
<output name="OAuthAccessToken" desc="The authentication token returned." />
<output name="OAuthTokenSecret" desc="The authentication token secret returned. OAuth 1.0 only." />
<output name="OAuthRefreshToken" desc="A token that may be used to obtain a new access token." />
<output name="ExpiresIn" desc="The remaining lifetime on the access token." />
</api:info>
<!-- Set OAuthVersion to 1.0 or 2.0. -->
<api:set attr="OAuthVersion" value="MyOAuthVersion" />
<!-- Set GrantType to REFRESH. OAuth 2.0 only. -->
<api:set attr="GrantType" value="REFRESH" />
<!-- Set SignMethod to the signature method used to calculate the signature of the request. OAuth 1.0 only.-->
<api:set attr="SignMethod" value="HMAC-SHA1" />
<!-- Set OAuthAccessTokenURL to the URL where the request for the access token is made. -->
<api:set attr="OAuthAccessTokenURL" value="http://MyOAuthAccessTokenURL" />
<!-- Set AuthMode to 'WEB' when calling RefreshOAuthAccessToken -->
<api:set attr="AuthMode" value="WEB"/>
<api:call op="oauthGetAccessToken">
<api:push/>
</api:call>
</api:script>
Parâmetros de Entrada
OAuthVersion
: A versão OAuth. Os valores permitidos são 1,0, 2,0. O valor padrão é 1,0.AuthMode
: O fluxo OAuth. Somente OAuth 2.0. Se você escolher o modo App, esta operação iniciará seu navegador e solicitará que você se autentique com as credenciais de sua conta. Defina esse parâmetro como WEB para autenticar um aplicativo da Web ou se o conector não tiver permissão para abrir um navegador da Web. O valor padrão é APP.OAuthRequestTokenURL
: A URL onde o conector faz uma solicitação para o token de solicitação. Somente OAuth 1.0. Obrigatório para OAuth 1.0.OAuthAuthorizationURL
: A URL onde o usuário efetua login no serviço e concede permissões ao aplicativo. No OAuth 1.0, se as permissões forem concedidas, o token de solicitação será autorizado.OAuthAccessTokenURL
: A URL onde é feita a requisição do token de acesso. No OAuth 1.0, o token de solicitação autorizado é trocado pelo token de acesso.CallbackURL
: A URL a ser usada como uma URL de redirecionamento confiável, onde o usuário retornará com o token que verifica se ele concedeu acesso ao seu aplicativo. Esse valor deve corresponder à URL de retorno de chamada que você especifica ao registrar um aplicativo. Observe que sua fonte de dados também pode exigir a porta.OAuthClientId
: O ID do cliente obtido quando você registra um aplicativo. Também chamada de chave do consumidor.OAuthClientSecret
: O segredo do cliente obtido quando você registra um aplicativo. Também chamado de segredo do consumidor.OAuthAccessToken
: O token de solicitação. Somente OAuth 1.0.OAuthAccessTokenSecret
: O segredo do token de solicitação. Somente OAuth 1.0.OAuthRefreshToken
: Um token que pode ser usado para obter um novo token de acesso.GrantType
: Tipo de outorga de autorização. Somente OAuth 2.0. Os valores permitidos são CODE, PASSWORD, CLIENT, REFRESH. O valor padrão é CÓDIGO.Verifier
: O código verificador obtido quando o usuário concede permissões ao conector. No tipo de concessão de código OAuth 2.0, o código do verificador está localizado no parâmetro de string de consultar de código do URL de retorno de chamada. No OAuth 1.0, o verificador está localizado no parâmetro de string de consultar oauth_verifier do URL de retorno de chamada.SignMethod
: O método de assinatura usado para calcular a assinatura para OAuth 1.0. Os valores permitidos são HMAC-SHA1, PLAINTEXT. O valor padrão é HMAC-SHA1.Cert
: Caminho para o arquivo de certificado pessoal PFX. Somente OAuth 1.0.CertPassword
: Senha do certificado pessoal. Somente OAuth 1.0.OtherOptions
: Outras opções para controlar o comportamento do OAuth.OAuthParam:\
: Outros parâmetros.PostData
: Os dados HTTP POST.Timeout
: O tempo limite, em segundos, para a conclusão da operação. Zero (0) significa que não há tempo limite. O valor padrão é 60.LogFile
: Especifica um arquivo onde a solicitação e a resposta são registradas.Proxy_Auto
: Se o proxy deve ou não ser detectado nas configurações do sistema Windows. Isso tem precedência sobre outras configurações de proxy e não está disponível em Java. Os valores permitidos são TRUE, FALSE. O valor padrão é falso.Proxy_Server
: endereço IP ou nome do hospedar do servidor proxy utilizado para a requisição.Proxy_Port
: O número da porta do servidor proxy.Proxy_User
: O ID do usuário usado para autenticação com o servidor proxy.Proxy_Password
: A senha usada para autenticar com o servidor proxy.Proxy_AuthScheme
: O esquema de autenticação do servidor proxy. Os valores permitidos são BASIC, DIGEST, PROPRIETARY, NONE, NTLM. O valor padrão é BÁSICO.Proxy_AuthToken
: O token de autenticação do proxy.Proxy_SSLType
: O tipo de SSL do servidor proxy. Os valores permitidos são AUTO, SEMPRE, NUNCA, TUNNEL. O valor padrão é AUTO.Firewall_Type
: O tipo do firewall. Os valores permitidos são NONE, TUNNEL, SOCKS4, SOCKS5. O valor padrão é nenhum.Firewall_Server
: O endereço IP ou nome do hospedar do firewall.Firewall_Port
: O número da porta do firewall.Firewall_User
: O ID do usuário usado para autenticação com o firewall.Firewall_Password
: A senha usada para autenticar com o firewall.
Parâmetros de Saída
OAuthAccessToken
: O token de acesso.OAuthTokenSecret
: O segredo do token de acesso.OAuthRefreshToken
: Um token que pode ser usado para obter um novo token de acesso.ExpiresIn
: O tempo de vida restante no token de acesso.OAuthParam:\
: Outros parâmetros enviados do servidor.
OAuthGetUserAuthorizationURL
O OAuthGetUserAuthorizationURL é uma operação APIScript usada para facilitar o fluxo de autenticação OAuth para aplicativos da Web, para aplicativos offline e em situações em que o conector não tem permissão para abrir um navegador da Web. Para passar as entradas necessárias para esta operação, defina o procedimento armazenado GetOAuthAuthorizationURL. O conector pode chamar isso internamente.
Definir procedimentos armazenados* em arquivos .rsb com o mesmo nome de arquivo do título do esquema. O esquema de exemplo lista brevemente algumas das entradas normalmente necessárias antes que as seções a seguir as expliquem com mais detalhes.
Para obter um guia para autenticação no fluxo OAuth, consulte Using OAuth Authentication capítulo.
Escrevendo o Procedimento Armazenado GetOAuthAuthorizationURL
Chame OAuthGetUserAuthorizationURL no procedimento armazenado GetOAuthAuthorizationURL.
<api:script xmlns:api="http://www.rssbus.com/ns/rsbscript/2">
<api:info title="Get OAuth Authorization URL" description="Obtains the OAuth authorization URL used for authentication with various APIs." >
<input name="CallbackURL" desc="The URL to be used as a trusted redirect URL, where the user will return with the token that verifies that they have granted your app access. " />
<output name="URL" desc="The URL where the user logs in and is prompted to grant permissions to the app. " />
<output name="OAuthAccessToken" desc="The request token. OAuth 1.0 only." />
<output name="OAuthTokenSecret" desc="The request token secret. OAuth 1.0 only." />
</api:info>
<!-- Set OAuthVersion to 1.0 or 2.0. -->
<api:set attr="OAuthVersion" value="MyOAuthVersion" />
<!-- Set ResponseType to the desired authorization grant type. OAuth 2.0 only.-->
<api:set attr="ResponseType" value="code" />
<!-- Set SignMethod to the signature method used to calculate the signature. OAuth 1.0 only.-->
<api:set attr="SignMethod" value="HMAC-SHA1" />
<!-- Set OAuthAuthorizationURL to the URL where the user logs into the service and grants permissions to the application. -->
<api:set attr="OAuthAuthorizationURL" value="http://MyOAuthAuthorizationURL" />
<!-- Set OAuthAccessTokenURL to the URL where the request for the access token is made. -->
<api:set attr="OAuthAccessTokenURL" value="http://MyOAuthAccessTokenURL"/>
<!-- Set RequestTokenURL to the URL where the request for the request token is made. OAuth 1.0 only.-->
<api:set attr="OAuthRequestTokenURL" value="http://MyOAuthRequestTokenURL" />
<api:call op="oauthGetUserAuthorizationUrl">
<api:push/>
</api:call>
</api:script>
<p>
Parâmetros de Entrada
OAuthVersion
: A versão OAuth. Os valores permitidos são 1,0, 2,0. O valor padrão é 1,0.OAuthAuthorizationURL
: A URL onde o usuário efetua login no serviço e concede permissões ao aplicativo. No OAuth 1.0, se as permissões forem concedidas, o token de solicitação será autorizado.OAuthRequestTokenURL
: A URL onde o conector faz uma solicitação para o token de solicitação. Somente OAuth 1.0. Obrigatório para OAuth 1.0.CallbackURL
: A URL a ser usada como uma URL de redirecionamento confiável, onde o usuário retornará com o token que verifica se ele concedeu acesso ao seu aplicativo. Esse valor deve corresponder à URL de retorno de chamada que você especifica ao registrar um aplicativo. Observe que sua fonte de dados também pode exigir a porta. o valor padrão éhttp://127.0.0.1/
.OAuthClientId
: O ID do cliente. Também chamada de chave do consumidor.OAuthClientSecret
: O segredo do cliente. Também chamado de segredo do consumidor.ResponseType
: O tipo de concessão de autorização desejado. Somente OAuth 2.0. Os valores permitidos são CODE, IMPLICIT. O valor padrão é CÓDIGO.SignMethod
: O método de assinatura usado para calcular a assinatura para OAuth 1.0. Os valores permitidos são HMAC-SHA1, RSA-SHA1, PLAINTEXT. O valor padrão é HMAC-SHA1.Cert
: Caminho para o arquivo PFX do certificado pessoal. Somente OAuth 1.0.CertPassword
: Senha do certificado pessoal. Somente OAuth 1.0.OtherOptions
: Outras opções para controlar o comportamento do OAuth.OAuthParam:\
: Outros parâmetros. Somente OAuth 1.0.Timeout
: O tempo limite, em segundos, para a conclusão da operação. Zero (0) significa que não há tempo limite. O valor padrão é 60.Proxy_Auto
: Se o proxy deve ou não ser detectado nas configurações do sistema Windows. Isso tem precedência sobre outras configurações de proxy e não está disponível em Java. Os valores permitidos são TRUE, FALSE. O valor padrão é falso.Proxy_Server
: endereço IP ou nome do hospedar do servidor proxy utilizado para a requisição.Proxy_Port
: O número da porta do servidor proxy.Proxy_User
: O ID do usuário usado para autenticação com o servidor proxy.Proxy_Password
: A senha usada para autenticar com o servidor proxy.Proxy_AuthScheme
: O esquema de autenticação do servidor proxy. Os valores permitidos são BASIC, DIGEST, PROPRIETARY, NONE, NTLM. O valor padrão é BÁSICO.Proxy_AuthToken
: O token de autenticação do proxy.Proxy_SSLType
: O tipo de SSL do servidor proxy. Os valores permitidos são AUTO, SEMPRE, NUNCA, TUNNEL. O valor padrão é AUTO.Firewall_Type
: O tipo do firewall. Os valores permitidos são NONE, TUNNEL, SOCKS4, SOCKS5. O valor padrão é nenhum.Firewall_Server
: O endereço IP ou nome do hospedar do firewall.Firewall_Port
: O número da porta do firewall.Firewall_User
: O ID do usuário usado para autenticação com o firewall.Firewall_Password
: A senha usada para autenticar com o firewall.
Parâmetros de Saída
URL
: A URL onde o usuário faz login e é solicitado a conceder permissões ao aplicativo. No OAuth 1.0, se as permissões forem concedidas, o token de solicitação será autorizado.OAuthAccessToken
: O token de solicitação. Somente OAuth 1.0.OAuthTokenSecret
: O segredo do token de solicitação. Somente OAuth 1.0.OAuthParam:\
: Outros parâmetros enviados do servidor. Somente OAuth 1.0.
Tabelas do Sistema
Você pode consultar as tabelas do sistema descritas nesta seção para acessar informações de esquema, informações sobre a funcionalidade da fonte de dados e estatísticas de operação em lote.
Tabelas de Esquema
As tabelas a seguir retornam metadados do banco de dados para GraphQL:
- sys_catalogs: Lista os bancos de dados disponíveis.
- sys_schemas: Lista os esquemas disponíveis.
- sys_tables: Lista as tabelas e exibições disponíveis.
- sys_tablecolumns: Descreve as colunas das tabelas e exibições disponíveis.
- sys_procedures: Descreve os procedimentos armazenados disponíveis.
- sys_procedureparameters: Descreve procedimento armazenado* parâmetros.
- sys_keycolumns: Descreve as chaves primárias e estrangeiras.
- sys_indexes: Descreve os índices disponíveis.
Tabelas de Fonte de Dados
As tabelas a seguir retornam informações sobre como se conectar e consultar a fonte de dados:
- sys_connection_props: Retorna informações sobre as propriedades de conexão disponíveis.
- sys_sqlinfo: Descreve as consultas SELECT que o conector pode descarregar para a fonte de dados.
Consultar Tabelas de Informações
A tabela a seguir retorna estatísticas de consultar para consultas de modificação de dados:
- sys_identity: Retorna informações sobre operações em lote ou atualizações únicas.
Sys_catalogs
Lista os bancos de dados disponíveis.
A consultar a seguir recupera todos os bancos de dados determinados pela string de conexão:
SELECT * FROM sys_catalogs
Colunas
Nome | Tipo | Descrição |
---|---|---|
CatalogName | String | O nome do banco de dados. |
Sys_schemas
Lista os esquemas disponíveis.
A consultar a seguir recupera todos os esquemas disponíveis:
SELECT * FROM sys_schemas
Colunas
Nome | Tipo | Descrição |
---|---|---|
CatalogName | String | O nome do banco de dados. |
SchemaName | String | O nome do esquema. |
Sys_tables
Lista as tabelas disponíveis.
A consultar a seguir recupera as tabelas e exibições disponíveis:
SELECT * FROM sys_tables
Colunas
Nome | Tipo | Descrição |
---|---|---|
CatalogName | String | O banco de dados que contém a tabela ou exibição. |
SchemaName | String | O esquema que contém a tabela ou exibição. |
TableName | String | O nome da tabela ou exibição. |
TableType | String | O tipo de tabela (tabela ou exibição). |
Description | String | Uma descrição da tabela ou visualização. |
IsUpdateable | Boolean | Se a tabela pode ser atualizada. |
Sys_tablecolumns
Descreve as colunas das tabelas e exibições disponíveis.
A consultar a seguir retorna as colunas e os tipos de dados da tabela Users:
SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='Users'
Colunas
Nome | Tipo | Descrição |
---|---|---|
CatalogName | String | O nome do banco de dados que contém a tabela ou exibição. |
SchemaName | String | O esquema que contém a tabela ou exibição. |
TableName | String | O nome da tabela ou exibição que contém a coluna. |
ColumnName | String | O nome da coluna. |
DataTypeName | String | O nome do tipo de dados. |
DataType | Int32 | Um número inteiro indicando o tipo de dados. Esse valor é determinado no tempo de execução com base no ambiente. |
Length | Int32 | O tamanho de armazenamento da coluna. |
DisplaySize | Int32 | A largura máxima normal da coluna designada em caracteres. |
NumericPrecision | Int32 | O número máximo de dígitos em dados numéricos. O comprimento da coluna em caracteres para caracteres e dados de data e hora. |
NumericScale | Int32 | A escala da coluna ou o número de dígitos à direita do ponto decimal. |
IsNullable | Boolean | Se a coluna pode conter null. |
Description | String | Uma breve descrição da coluna. |
Ordinal | Int32 | O número de sequência da coluna. |
IsAutoIncrement | String | Se o valor da coluna é atribuído em incrementos fixos. |
IsGeneratedColumn | String | Se a coluna é gerada. |
IsHidden | Boolean | Se a coluna está oculta. |
IsArray | Boolean | Se a coluna é uma matriz. |
Sys_procedures
Lista os procedimentos armazenados disponíveis.
A consultar a seguir recupera os procedimentos armazenados disponíveis:
SELECT * FROM sys_procedures
Colunas
Nome | Tipo | Descrição |
---|---|---|
CatalogName | String | O banco de dados que contém o procedimento armazenado. |
SchemaName | String | O esquema que contém o procedimento armazenado. |
ProcedureName | String | O nome do procedimento armazenado. |
Description | String | Uma descrição do procedimento armazenado. |
ProcedureType | String | O tipo do procedimento, como PROCEDURE ou FUNCTION. |
Sys_procedureparameters
Descreve procedimento armazenado* parâmetros.
A consultar a seguir retorna informações sobre todos os parâmetros de entrada para o procedimento armazenado SelectEntries:
SELECT * FROM sys_procedureparameters WHERE ProcedureName='SelectEntries' AND Direction=1 OR Direction=2
Colunas
Nome | Tipo | Descrição |
---|---|---|
CatalogName | String | O nome do banco de dados que contém o procedimento armazenado. |
SchemaName | String | O nome do esquema que contém o procedimento armazenado. |
ProcedureName | String | O nome do procedimento armazenado* contendo o parâmetro. |
ColumnName | String | O nome do procedimento armazenado* parâmetro. |
Direction | Int32 | Um número inteiro correspondente ao tipo do parâmetro: entrada (1), entrada/saída (2) ou saída (4). parâmetros de tipo de entrada/saída podem ser parâmetros de entrada e saída. |
DataTypeName | String | O nome do tipo de dados. |
DataType | Int32 | Um número inteiro indicando o tipo de dados. Esse valor é determinado no tempo de execução com base no ambiente. |
Length | Int32 | O número de caracteres permitido para dados de caractere. O número de dígitos permitidos para dados numéricos. |
NumericPrecision | Int32 | A precisão máxima para dados numéricos. O comprimento da coluna em caracteres para caracteres e dados de data e hora. |
NumericScale | Int32 | O número de dígitos à direita do ponto decimal em dados numéricos. |
IsNullable | Boolean | Se o parâmetro pode conter null. |
IsRequired | Boolean | Se o parâmetro é necessário para a execução do procedimento. |
IsArray | Boolean | Se o parâmetro é uma matriz. |
Description | String | A descrição do parâmetro. |
Ordinal | Int32 | O índice do parâmetro. |
Sys_keycolumns
Descreve as chaves primárias e estrangeiras. A consultar a seguir recupera a chave primária da tabela Usuários:
SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Users'
Colunas
Nome | Tipo | Descrição |
---|---|---|
CatalogName | String | O nome do banco de dados que contém a chave. |
SchemaName | String | O nome do esquema que contém a chave. |
TableName | String | O nome da tabela que contém a chave. |
ColumnName | String | O nome da coluna chave. |
IsKey | Boolean | Se a coluna é uma chave primária na tabela referenciada no campo TableName. |
IsForeignKey | Boolean | Se a coluna é uma chave estrangeira referenciada no campo TableName. |
PrimaryKeyName | String | O nome da chave primária. |
ForeignKeyName | String | O nome da chave estrangeira. |
ReferencedCatalogName | String | O banco de dados que contém a chave primária. |
ReferencedSchemaName | String | O esquema que contém a chave primária. |
ReferencedTableName | String | A tabela que contém a chave primária. |
ReferencedColumnName | String | O nome da coluna da chave primária. |
Sys_foreignkeys
Descreve as chaves estrangeiras. A consultar a seguir recupera todas as chaves estrangeiras que se referem a outras tabelas:
SELECT * FROM sys_foreignkeys WHERE ForeignKeyType = 'FOREIGNKEY_TYPE_IMPORT'
Colunas
Nome | Tipo | Descrição |
---|---|---|
CatalogName | String | O nome do banco de dados que contém a chave. |
SchemaName | String | O nome do esquema que contém a chave. |
TableName | String | O nome da tabela que contém a chave. |
ColumnName | String | O nome da coluna chave. |
PrimaryKeyName | String | O nome da chave primária. |
ForeignKeyName | String | O nome da chave estrangeira. |
ReferencedCatalogName | String | O banco de dados que contém a chave primária. |
ReferencedSchemaName | String | O esquema que contém a chave primária. |
ReferencedTableName | String | A tabela que contém a chave primária. |
ReferencedColumnName | String | O nome da coluna da chave primária. |
ForeignKeyType | String | Designa se a chave estrangeira é uma chave de importação (aponta para outras tabelas) ou de exportação (referenciada de outras tabelas). |
Sys_indexes
Descreve os índices disponíveis. Ao filtrar por índices, você pode escrever consultas mais seletivas com tempos de resposta de consultar mais rápidos.
A consultar a seguir recupera todos os índices que não são chaves primárias:
SELECT * FROM sys_indexes WHERE IsPrimary='false'
Colunas
Nome | Tipo | Descrição |
---|---|---|
CatalogName | String | O nome do banco de dados que contém o índice. |
SchemaName | String | O nome do esquema que contém o índice. |
TableName | String | O nome da tabela que contém o índice. |
IndexName | String | O nome do índice. |
ColumnName | String | O nome da coluna associada ao índice. |
IsUnique | Boolean | True se o índice for exclusivo. Falso caso contrário. |
IsPrimary | Boolean | Verdadeiro se o índice for uma chave primária. Falso caso contrário. |
Type | Int16 | Um valor inteiro correspondente ao tipo de índice: estatística (0), clusterizado (1), hash (2) ou outro (3). |
SortOrder | String | A ordem de classificação: A para crescente ou D para decrescente. |
OrdinalPosition | Int16 | O número de sequência da coluna no índice. |
Sys_connection_props
Retorna informações sobre as propriedades de conexão disponíveis e as definidas na string de conexão.
Ao consultar esta tabela, a string de conexão de configuração deve ser usada:
jdbc:cdata:graphql:config:
Esta string de conexão permite que você consultar esta tabela sem uma conexão válida.
A consultar a seguir recupera todas as propriedades de conexão que foram definidas na string de conexão ou definidas por meio de um valor padrão:
SELECT * FROM sys_connection_props WHERE Value <> ''
Colunas
Nome | Tipo | Descrição |
---|---|---|
Name | String | O nome da propriedade de conexão. |
ShortDescription | String | Uma breve descrição. |
Type | String | O tipo de dados da propriedade de conexão. |
Default | String | O valor padrão, se não houver um definido explicitamente. |
Values | String | Uma lista separada por vírgulas de valores possíveis. Um erro de validação é lançado se outro valor for especificado. |
Value | String | O valor que você definiu ou um padrão pré-configurado. |
Required | Boolean | Se a propriedade é necessária para se conectar. |
Category | String | A categoria da propriedade de conexão. |
IsSessionProperty | String | Se a propriedade é uma propriedade de sessão, usada para salvar informações sobre a conexão atual. |
Sensitivity | String | O nível de sensibilidade da propriedade. Isso informa se a propriedade está ofuscada nos formulários de registro e autenticação. |
PropertyName | String | Uma forma truncada em camel case do nome da propriedade de conexão. |
Ordinal | Int32 | O índice do parâmetro. |
CatOrdinal | Int32 | O índice da categoria do parâmetro. |
Hierarchy | String | Mostra as propriedades dependentes associadas que precisam ser definidas juntamente com esta. |
Visible | Boolean | Informa se a propriedade está visível na UI da conexão. |
ETC | String | Diversas informações diversas sobre o imóvel. |
Sys_sqlinfo
Descreve o processamento da consultar SELECT que o conector pode transferir para a fonte de dados.
Processamento de Consultas Colaborativas
Ao trabalhar com fontes de dados que não suportam SQL-92, você pode consultar a exibição sys_sqlinfo para determinar os recursos de consultar das APIs subjacentes, expressas na sintaxe SQL. O conector transfere o máximo possível do processamento da instrução SELECT para o servidor e, em seguida, processa o restante da consultar na memória.
Descobrindo os Recursos SELECT da Fonte de Dados
Abaixo está um exemplo de conjunto de dados de recursos SQL. O conjunto de resultados a seguir indica a funcionalidade SELECT que o conector pode descarregar para a fonte de dados ou processar o lado do cliente. Sua fonte de dados pode suportar sintaxe SQL adicional. Alguns aspectos da funcionalidade SELECT são retornados em uma lista separada por vírgulas, se suportados; caso contrário, a coluna contém NO.
Nome | Descrição | Valores Possíveis |
---|---|---|
AGGREGATE_FUNCTIONS | Funções de agregação suportadas. | AVG , COUNT , MAX , MIN , SUM , DISTINCT |
COUNT | Se a função COUNT é suportada. | YES , NO |
IDENTIFIER_QUOTE_OPEN_CHAR | O caractere de abertura usado para escapar de um identificador. | [ |
IDENTIFIER_QUOTE_CLOSE_CHAR | O caractere de fechamento usado para escapar de um identificador. | ] |
SUPPORTED_OPERATORS | Uma lista de operadores SQL com suporte. | = , > , < , >= , <= , <> , != , LIKE , NOT LIKE , IN , NOT IN , IS NULL , IS NOT NULL , AND , OR |
GROUP_BY | Se GROUP BY é compatível e, em caso afirmativo, o grau de suporte. | NO , NO_RELATION , EQUALS_SELECT , SQL_GB_COLLATE |
STRING_FUNCTIONS | Funções de string suportadas. | LENGTH , CHAR , LOCATE , REPLACE , SUBSTRING , RTRIM , LTRIM , RIGHT , LEFT , UCASE , SPACE , SOUNDEX , LCASE , CONCAT , ASCII , REPEAT , OCTET , BIT , POSITION , INSERT , TRIM , UPPER , REGEXP , LOWER , DIFFERENCE , CHARACTER , SUBSTR , STR , REVERSE , PLAN , UUIDTOSTR , TRANSLATE , TRAILING , TO , STUFF , STRTOUUID , STRING , SPLIT , SORTKEY , SIMILAR , REPLICATE , PATINDEX , LPAD , LEN , LEADING , KEY , INSTR , INSERTSTR , HTML , GRAPHICAL , CONVERT , COLLATION , CHARINDEX , BYTE |
NUMERIC_FUNCTIONS | Funções numéricas suportadas. | ABS , ACOS , ASIN , ATAN , ATAN2 , CEILING , COS , COT , EXP , FLOOR , LOG , MOD , SIGN , SIN , SQRT , TAN , PI , RAND , DEGREES , LOG10 , POWER , RADIANS , ROUND , TRUNCATE |
TIMEDATE_FUNCTIONS | Funções de data/hora suportadas. | NOW , CURDATE , DAYOFMONTH , DAYOFWEEK , DAYOFYEAR , MONTH , QUARTER , WEEK , YEAR , CURTIME , HOUR , MINUTE , SECOND , TIMESTAMPADD , TIMESTAMPDIFF , DAYNAME , MONTHNAME , CURRENT_DATE , CURRENT_TIME , CURRENT_TIMESTAMP , EXTRACT |
REPLICATION_SKIP_TABLES | Indica tabelas ignoradas durante a replicação. | |
REPLICATION_TIMECHECK_COLUMNS | Uma matriz de string contendo uma lista de colunas que serão usadas para verificar (na ordem especificada) para usar como uma coluna modificada durante a replicação. | |
IDENTIFIER_PATTERN | Valor de string que indica qual string é válida para um identificador. | |
SUPPORT_TRANSACTION | Indica se o provedor oferece suporte a transações como confirmação e reversão. | YES , NO |
DIALECT | Indica o dialeto SQL a ser usado. | |
KEY_PROPERTIES | Indica as propriedades que identificam o banco de dados uniforme. | |
SUPPORTS_MULTIPLE_SCHEMAS | Indica se vários esquemas podem existir para o provedor. | YES , NO |
SUPPORTS_MULTIPLE_CATALOGS | Indica se vários catálogos podem existir para o provedor. | YES , NO |
DATASYNCVERSION | A versão do Data Sync necessária para acessar este driver. | Standard , Starter , Professional , Enterprise |
DATASYNCCATEGORY | A categoria Data Sync deste driver. | Source , Destination , Cloud Destination |
SUPPORTSENHANCEDSQL | Se a funcionalidade SQL aprimorada além do que é oferecido pela API é suportada. | TRUE , FALSE |
SUPPORTS_BATCH_OPERATIONS | Se as operações em lote são suportadas. | YES , NO |
SQL_CAP | Todos os recursos SQL suportados para este driver. | SELECT , INSERT , DELETE , UPDATE , TRANSACTIONS , ORDERBY , OAUTH , ASSIGNEDID , LIMIT , LIKE , BULKINSERT , COUNT , BULKDELETE , BULKUPDATE , GROUPBY , HAVING , AGGS , OFFSET , REPLICATE , COUNTDISTINCT , JOINS , DROP , CREATE , DISTINCT , INNERJOINS , SUBQUERIES , ALTER , MULTIPLESCHEMAS , GROUPBYNORELATION , OUTERJOINS , UNIONALL , UNION , UPSERT , GETDELETED , CROSSJOINS , GROUPBYCOLLATE , MULTIPLECATS , FULLOUTERJOIN , MERGE , JSONEXTRACT , BULKUPSERT , SUM , SUBQUERIESFULL , MIN , MAX , JOINSFULL , XMLEXTRACT , AVG , MULTISTATEMENTS , FOREIGNKEYS , CASE , LEFTJOINS , COMMAJOINS , WITH , LITERALS , RENAME , NESTEDTABLES , EXECUTE , BATCH , BASIC , INDEX |
PREFERRED_CACHE_OPTIONS | Um valor de string especifica o cacheOptions preferencial. | |
ENABLE_EF_ADVANCED_QUERY | Indica se o driver oferece suporte direto a consultas avançadas provenientes do Entity Framework. Caso contrário, as consultas serão tratadas no lado do cliente. | YES , NO |
PSEUDO_COLUMNS | Uma matriz de cadeia de caracteres que indica as pseudocolunas disponíveis. | |
MERGE_ALWAYS | Se o valor for verdadeiro, o modo de mesclagem será executado à força no Data Sync. | TRUE , FALSE |
REPLICATION_MIN_DATE_QUERY | Uma consultar de seleção para retornar a data e hora de início da replicação. | |
REPLICATION_MIN_FUNCTION | Permite que um provedor especifique o nome da fórmula a ser usado para executar um min do lado do servidor. | |
REPLICATION_START_DATE | Permite que um provedor especifique uma data de início de replicação. | |
REPLICATION_MAX_DATE_QUERY | Uma consultar de seleção para retornar a data e hora de término da replicação. | |
REPLICATION_MAX_FUNCTION | Permite que um provedor especifique o nome da fórmula a ser usado para executar um máximo do lado do servidor. | |
IGNORE_INTERVALS_ON_INITIAL_REPLICATE | Uma lista de tabelas que ignorará a divisão da replicação em blocos na replicação inicial. | |
CHECKCACHE_USE_PARENTID | Indica se a instrução CheckCache deve ser executada na coluna de chave pai. | TRUE , FALSE |
CREATE_SCHEMA_PROCEDURES | Indica procedimentos armazenados* que pode ser usado para gerar arquivos de esquema. |
A consultar a seguir recupera os operadores que podem ser usados na cláusula WHERE:
SELECT * FROM sys_sqlinfo WHERE Name='SUPPORTED_OPERATORS'
Observe que tabelas individuais podem ter diferentes limitações ou requisitos na cláusula WHERE; consulte o Modelo de Dados para obter mais informações.
Colunas
Nome | Tipo | Descrição |
---|---|---|
NAME | String | Um componente da sintaxe SQL ou um recurso que pode ser processado no servidor. |
VALUE | String | Detalhes sobre a sintaxe SQL ou SQL suportada. |
Sys_identity
Retorna informações sobre tentativas de modificação.
A consultar a seguir recupera os IDs das linhas modificadas em uma operação em lote:
SELECT * FROM sys_identity
Colunas
Nome | Tipo | Descrição |
---|---|---|
Id | String | O ID gerado pelo banco de dados retornado de uma operação de modificação de dados. |
Batch | String | Um identificador para o lote. 1 para uma única operação. |
Operation | String | O resultado da operação no lote: INSERTED, UPDATED ou DELETED. |
Message | String | SUCCESS ou uma mensagem de erro se a atualização no lote falhou. |
Procedimentos Armazenados
Procedimentos armazenados* estão disponíveis para complementar os dados disponíveis no Modelo de Dados. Pode ser necessário atualizar os dados disponíveis em uma exibição usando um procedimento armazenado* porque os dados não fornecem atualizações bidirecionais diretas, semelhantes a tabelas. Nessas situações, a recuperação dos dados é feita usando a visualização ou tabela apropriada, enquanto a atualização é feita chamando um procedimento armazenado. Procedimentos armazenados* pega uma lista de parâmetros e retorna um conjunto de dados que contém a coleção de tuplas que constituem a resposta.
Conector Jitterbit para Procedimentos Armazenados GraphQL
Nome | Descrição |
---|---|
CreateSchema | Cria um arquivo de esquema para a tabela ou exibição especificada. |
GetOAuthAccessToken | Obtém o token de acesso OAuth a ser usado para autenticação com fontes de dados usando OAuth. |
GetOAuthAuthorizationURL | Obtém a URL de autorização OAuth usada para autenticação com fontes de dados usando OAuth. |
RefreshOAuthAccessToken | Troca um token de atualização por um novo token de acesso. |
Criar Esquema
Cria um arquivo de esquema para a tabela ou exibição especificada.
Entrada
Nome | Tipo | Descrição |
---|---|---|
TableName | String | O nome da tabela ou exibição. |
FileName | String | O caminho completo do arquivo e o nome do esquema a ser gerado. Ex: 'C:\Users\User\Desktop\ GraphQL\Businesses.rsd' |
Colunas do Conjunto de Resultados
Nome | Tipo | Descrição |
---|---|---|
Result | String | Retorna Sucesso ou Falha. |
GetOAuthAccessToken
Obtém o token de acesso OAuth a ser usado para autenticação com fontes de dados usando OAuth.
Entrada
Nome | Tipo | Descrição |
---|---|---|
Other_Options | String | Outras opções para controlar o comportamento do OAuth. |
Cert | String | Caminho para um arquivo .pfx de certificado pessoal. Disponível apenas para OAuth 1.0. |
Cert_Password | String | Senha do certificado pessoal. Disponível apenas para OAuth 1.0. |
AuthToken | String | O token de solicitação retornado por GetOAuthAuthorizationUrl. Disponível apenas para OAuth 1.0. |
AuthKey | String | A chave secreta da solicitação retornada por GetOAuthAuthorizationUrl. Disponível apenas para OAuth 1.0. |
AuthSecret | String | O nome herdado para AuthKey, incluído para compatibilidade. |
Sign_Method | String | O método de assinatura usado para calcular a assinatura para OAuth 1.0. Os valores permitidos são HMAC-SHA1, PLAINTEXT. O valor padrão é HMAC-SHA1. |
GrantType | String | Tipo de concessão de autorização. Disponível apenas para OAuth 2.0. Os valores permitidos são CODE, PASSWORD, CLIENT, REFRESH. |
Post_Data | String | Os dados da postagem a serem enviados, se houver. |
AuthMode | String | O tipo de modo de autenticação a ser usado. Os valores permitidos são APP, WEB. O valor padrão é WEB. |
Verifier | String | O código do verificador retornado pela fonte de dados depois que a permissão para o aplicativo se conectar foi concedida. WEB AuthMode apenas. |
Scope | String | O escopo de acesso às APIs. Por padrão, o acesso a todas as APIs usadas por esse provedor de dados será especificado. |
CallbackURL | String | Este campo determina para onde a resposta é enviada. |
ApprovalPrompt | String | Este campo indica se o usuário deve ser solicitado novamente para consentimento. O padrão é AUTO, portanto, um determinado usuário só deve ver a página de consentimento para um determinado conjunto de escopos na primeira vez na sequência. Se for definido como FORCE, o usuário verá uma página de consentimento, mesmo que já tenha dado consentimento ao seu aplicativo para um determinado conjunto de escopos. |
AccessType | String | Este campo indica se seu aplicativo precisa acessar uma API do Google quando o usuário não está presente no navegador. O padrão deste parâmetro é ONLINE. Se seu aplicativo precisar atualizar os tokens de acesso quando o usuário não estiver presente no navegador, use OFFLINE. Isso fará com que seu aplicativo obtenha um token de atualização na primeira vez que seu aplicativo trocar um código de autorização para um usuário. |
State | String | Este campo indica qualquer estado que pode ser útil para sua aplicação após o recebimento da resposta. Seu aplicativo recebe o mesmo valor que enviou, pois esse parâmetro faz uma viagem de ida e volta ao servidor de autorização do Google. Os usos incluem redirecionar o usuário para o recurso correto em seu site, usar nonces e atenuar a falsificação de solicitação entre sites. |
Colunas do Conjunto de Resultados
Nome | Tipo | Descrição |
---|---|---|
OAuthAccessToken | String | O token de autenticação retornado do Google. Isso pode ser usado em chamadas subseqüentes para outras operações para este serviço específico. |
OAuthAccessTokenSecret | String | O segredo do token de acesso OAuth. |
OAuthRefreshToken | String | Um token que pode ser usado para obter um novo token de acesso. |
ExpiresIn | String | O tempo de vida restante no token de acesso. |
\* | String | Outras saídas que podem ser retornadas pela fonte de dados. |
GetOAuthAuthorizationURL
Obtém a URL de autorização OAuth usada para autenticação com fontes de dados usando OAuth.
Entrada
Nome | Tipo | Descrição |
---|---|---|
Cert | String | Caminho para um arquivo .pfx de certificado pessoal. Disponível apenas para OAuth 1.0. |
Cert_Password | String | Senha do certificado pessoal. Disponível apenas para OAuth 1.0. |
Sign_Method | String | O método de assinatura usado para calcular a assinatura para OAuth 1.0. Os valores permitidos são HMAC-SHA1, PLAINTEXT. O valor padrão é HMAC-SHA1. |
Scope | String | O escopo de acesso às APIs. Por padrão, o acesso a todas as APIs usadas por esse provedor de dados será especificado. |
CallbackURL | String | A URL para a qual o usuário será redirecionado após autorizar seu aplicativo. |
ApprovalPrompt | String | Este campo indica se o usuário deve ser solicitado novamente para consentimento. O padrão é AUTO, portanto, um determinado usuário só deve ver a página de consentimento para um determinado conjunto de escopos na primeira vez na sequência. Se o valor for FORCE, o usuário verá uma página de consentimento mesmo que já tenha dado consentimento ao seu aplicativo para um determinado conjunto de escopos. |
AccessType | String | Este campo indica se seu aplicativo precisa acessar uma API do Google quando o usuário não está presente no navegador. O padrão deste parâmetro é ONLINE. Se seu aplicativo precisar atualizar os tokens de acesso quando o usuário não estiver presente no navegador, use OFFLINE. Isso fará com que seu aplicativo obtenha um token de atualização na primeira vez que seu aplicativo trocar um código de autorização para um usuário. |
State | String | Este campo indica qualquer estado que pode ser útil para sua aplicação após o recebimento da resposta. Seu aplicativo recebe o mesmo valor que enviou, pois esse parâmetro faz uma viagem de ida e volta ao servidor de autorização do Google. Os usos possíveis incluem redirecionar o usuário para o recurso correto em seu site, usar nonces e atenuar a falsificação de solicitação entre sites. |
Other_Options | String | Outras opções para controlar o comportamento do OAuth. |
Colunas do Conjunto de Resultados
Nome | Tipo | Descrição |
---|---|---|
AuthToken | String | O token de autorização, passado para o procedimento armazenado GetOAuthAccessToken. |
AuthKey | String | O token secreto de autorização, passado para o procedimento armazenado GetOAuthAccessToken. |
URL | String | A URL para concluir a autenticação do usuário. |
RefreshOAuthAccessToken
Troca um token de atualização por um novo token de acesso.
Entrada
Nome | Tipo | Descrição |
---|---|---|
OAuthRefreshToken | String | O token de atualização retornado da troca do código de autorização original. |
Colunas do Conjunto de Resultados
Nome | Tipo | Descrição |
---|---|---|
OAuthAccessToken | String | O token de autenticação retornado da fonte de dados. Isso pode ser usado em chamadas subseqüentes para outras operações para este serviço específico. |
OAuthAccessTokenSecret | String | O novo OAuthAccessTokenSecret retornado do serviço. |
OAuthRefreshToken | String | O token de autenticação retornado da fonte de dados. Isso pode ser usado em chamadas subseqüentes para outras operações para este serviço específico. |
ExpiresIn | String | O tempo de vida restante no token de acesso. |
Propriedades de Configurações Avançadas
As propriedades de configurações avançadas são as várias opções que podem ser usadas para estabelecer uma conexão. Esta seção fornece uma lista completa das opções que você pode configurar. Clique nos links para mais detalhes.
Propriedade | Descrição |
---|---|
AuthScheme | O tipo de autenticação a ser usado ao conectar-se a serviços remotos. |
URL | A URL do serviço GraphQL. |
User | A conta de usuário do GraphQL usada para autenticação. |
Password | A senha usada para autenticar o usuário. |
Propriedade | Descrição |
---|---|
AWSCognitoRegion | A região de hospedagem do AWS Cognito. |
AWSUserPoolId | A ID do grupo de usuários. |
AWSUserPoolClientAppId | A ID do aplicativo do cliente do grupo de usuários. |
AWSUserPoolClientAppSecret | Opcional. O segredo do aplicativo do cliente do grupo de usuários. |
Propriedade | Descrição |
---|---|
InitiateOAuth | Configure esta propriedade para iniciar o processo para obter ou atualizar o token de acesso OAuth ao se conectar. |
OAuthVersion | A versão do OAuth que está sendo usada. |
OAuthClientId | O ID do cliente atribuído quando você registra seu aplicativo com um servidor de autorização OAuth. |
OAuthClientSecret | O segredo do cliente atribuído quando você registra seu aplicativo com um servidor de autorização OAuth. |
OAuthAccessToken | O token de acesso para conexão usando OAuth. |
OAuthAccessTokenSecret | O segredo do token de acesso OAuth para conexão usando OAuth. |
CallbackURL | O URL de retorno de chamada OAuth ao qual retornar durante a autenticação. Esse valor deve corresponder ao URL de retorno especificado nas configurações do aplicativo. |
OAuthGrantType | O tipo de concessão para o fluxo OAuth. |
OAuthIncludeCallbackURL | Se o URL de retorno de chamada deve ser incluído em uma solicitação de token de acesso. |
OAuthAuthorizationURL | A URL de autorização para o serviço OAuth. |
OAuthAccessTokenURL | A URL da qual recuperar o token de acesso OAuth. |
OAuthRefreshTokenURL | A URL a partir da qual atualizar o token OAuth. |
OAuthRequestTokenURL | A URL que o serviço fornece para recuperar tokens de solicitação. Isso é necessário no OAuth 1.0. |
OAuthVerifier | O código do verificador retornado da URL de autorização OAuth. |
AuthToken | O token de autenticação usado para solicitar e obter o token de acesso OAuth. |
AuthKey | O segredo de autenticação usado para solicitar e obter o token de acesso OAuth. |
OAuthParams | Uma lista separada por vírgulas de outros parâmetros a serem enviados na solicitação para o token de acesso OAuth no formato paramname=value. |
OAuthRefreshToken | O token de atualização OAuth para o token de acesso OAuth correspondente. |
OAuthExpiresIn | O tempo de vida em segundos do OAuth AccessToken. |
OAuthTokenTimestamp | O registro de data e hora da época do Unix em milissegundos quando o token de acesso atual foi criado. |
Propriedade | Descrição |
---|---|
OAuthJWTCert | A loja de certificados JWT. |
OAuthJWTCertType | O tipo de armazenamento de chaves que contém o certificado JWT. |
OAuthJWTCertPassword | A senha para o certificado OAuth JWT. |
OAuthJWTCertSubject | O assunto do certificado OAuth JWT. |
OAuthJWTIssuer | O emissor do Java Web Token. |
OAuthJWTSubject | O assunto do usuário para o qual o aplicativo está solicitando acesso delegado. |
Propriedade | Descrição |
---|---|
SSLClientCert | O armazenamento de certificados de cliente TLS/SSL para autenticação de cliente SSL (SSL bidirecional). |
SSLClientCertType | O tipo de armazenamento de chaves que contém o certificado do cliente TLS/SSL. |
SSLClientCertPassword | A senha para o certificado de cliente TLS/SSL. |
SSLClientCertSubject | O assunto do certificado de cliente TLS/SSL. |
SSLServerCert | O certificado a ser aceito do servidor ao conectar usando TLS/SSL. |
Propriedade | Descrição |
---|---|
Location | Um caminho para o diretório que contém os arquivos de esquema que definem tabelas, exibições e procedimentos armazenados. |
BrowsableSchemas | Essa propriedade restringe os esquemas relatados a um subconjunto dos esquemas disponíveis. Por exemplo, BrowsableSchemas=SchemaA, SchemaB, SchemaC. |
Tables | Esta propriedade restringe as tabelas reportadas a um subconjunto das tabelas disponíveis. Por exemplo, Tables=TableA, TableB, TableC. |
Views | Restringe as visualizações relatadas a um subconjunto das tabelas disponíveis. Por exemplo, Views=ViewA, ViewB, ViewC. |
ExpandTablesDepth | Essa propriedade é usada para determinar a profundidade das tabelas filhas. |
ExpandTemporaryTablesDepth | Esta propriedade é usada para determinar a profundidade das tabelas temporárias filhas. Só funciona se ExposeDynamicProcedures estiver definido como verdadeiro. |
ExpandColumnsDepth | Essa propriedade é usada para determinar até que ponto o provedor deve pesquisar colunas dentro dos objetos GraphQL. |
IncludeDeprecatedMetadata | Essa propriedade é usada para determinar se o provedor deve expor tabelas e colunas obsoletas ou não. |
ExposeDynamicProcedures | Essa propriedade é usada para determinar se o provedor deve expor as mutações como procedimentos dinâmicos ou não. |
Propriedade | Descrição |
---|---|
CustomHeaders | Outros cabeçalhos conforme determinado pelo usuário (opcional). |
GenerateSchemaFiles | Indica a preferência do usuário quanto a quando os esquemas devem ser gerados e salvos. |
MaxRows | Limita o número de linhas retornadas quando nenhuma agregação ou agrupamento é usado na consultar. Isso ajuda a evitar problemas de desempenho em tempo de design. |
Other | Essas propriedades ocultas são usadas apenas em casos de uso específicos. |
Pagesize | O número máximo de resultados a serem retornados por página do GraphQL. |
PseudoColumns | Esta propriedade indica se deve ou não incluir pseudocolunas como colunas na tabela. |
Timeout | O valor em segundos até que o erro de timeout seja lançado, cancelando a operação. |
Autenticação
Esta seção fornece uma lista completa de propriedades de autenticação que você pode configurar.
Propriedade | Descrição |
---|---|
AuthScheme | O tipo de autenticação a ser usado ao conectar-se a serviços remotos. |
URL | A URL do serviço GraphQL. |
User | A conta de usuário do GraphQL usada para autenticação. |
Password | A senha usada para autenticar o usuário. |
AuthScheme
O tipo de autenticação a ser usado ao conectar-se a serviços remotos.
Valores Possíveis
None
, Basic
, OAuth
, AwsCognitoSrp
, AwsCognitoBasic
Tipo de Dados
string
Valor Padrão
"Auto"
Observações
Em Geral
As seguintes opções estão geralmente disponíveis para todas as conexões:
- Nenhum: Não usa autenticação.
- Básico: Usa autenticação básica com Usuário e senha.
- OAuth: Usa OAuth1 ou OAuth2, com o fluxo específico sendo determinado pelo OAuthGrantType. OAuthVersion deve ser definido para determinar qual versão do OAuth é usada.
- AwsCognitoSrp: definido para usar autenticação baseada em Cognito. Isso é recomendado sobre AwsCognitoBasic porque essa opção NÃO envia a senha ao servidor para autenticação, em vez disso, usa o protocolo SRP.
- AwsCognitoBasic: definido para usar a autenticação baseada em Cognito.
URL
A URL do serviço GraphQL.
Tipo de Dados
string
Valor Padrão
""
Observações
A URL do serviço GraphQL.
Do Utilizador
A conta de usuário do GraphQL usada para autenticação.
Tipo de Dados
string
Valor Padrão
""
Observações
Juntamente com Senha, esse campo é usado para autenticação no servidor GraphQL.
Senha
A senha usada para autenticar o usuário.
Tipo de Dados
string
Valor Padrão
""
Observações
O usuário e Password
são usados juntos para autenticar com o servidor.
Autenticação da AWS
Esta seção fornece uma lista completa das propriedades de autenticação da AWS que você pode configurar.
Propriedade | Descrição |
---|---|
AWSCognitoRegion | A região de hospedagem do AWS Cognito. |
AWSUserPoolId | A ID do grupo de usuários. |
AWSUserPoolClientAppId | A ID do aplicativo do cliente do grupo de usuários. |
AWSUserPoolClientAppSecret | Opcional. O segredo do aplicativo do cliente do grupo de usuários. |
AWSCognitoRegion
A região de hospedagem do AWS Cognito.
Valores Possíveis
OHIO
, NORTHERNVIRGINIA
, NORTHERNCALIFORNIA
, OREGON
, CAPETOWN
, HONGKONG
, MUMBAI
, OSAKA
, SEOUL
, SINGAPORE
, SYDNEY
, TOKYO
, CENTRAL
, BEIJING
, NINGXIA
, FRANKFURT
, IRELAND
, LONDON
, MILAN
, PARIS
, STOCKHOLM
, BAHRAIN
, SAOPAULO
, GOVCLOUDEAST
, GOVCLOUDWEST
Tipo de Dados
string
Valor Padrão
"NORTHERNVIRGINIA"
Observações
A região de hospedagem do AWS Cognito. Os valores disponíveis são Ohio, NorthernVirginia, NorthernCalifornia, Oregon, Capetown, Hong Kong, Mumbai, Osaka, Seul, Cingapura, Sydney, Tóquio, Central, Pequim, Ningxia, Frankfurt, Ireland, Londres, Milan, Paris, Stockholm, Bahrain, SAUL, SALFURT, SALAND, SALAN, MILAN, GOLAN, PARIS, BAHRAIN, e GOVCLOUDWEST.
AWSUserPoolId
A ID do grupo de usuários.
Tipo de Dados
string
Valor Padrão
""
Observações
Você pode encontrar isso em AWS Cognito -> Gerenciar grupos de usuários -> selecione seu grupo de usuários -> Configurações gerais -> Identificação do pool.
AWSUserPoolClientAppId
A ID do aplicativo do cliente do grupo de usuários.
Tipo de Dados
string
Valor Padrão
""
Observações
Você pode encontrar isso em AWS Cognito -> Gerenciar pools de identidades -> selecione seu grupo de usuários -> Configurações gerais -> Clientes de aplicativos -> ID do cliente do aplicativo.
AWSUserPoolClientAppSecret
Opcional. O segredo do aplicativo do cliente do grupo de usuários.
Tipo de Dados
string
Valor Padrão
""
Observações
Você pode encontrar isso em AWS Cognito -> Gerenciar pools de identidades -> selecione seu grupo de usuários -> Configurações gerais -> Clientes de aplicativos -> Segredo do cliente do aplicativo.
OAuth
Esta seção fornece uma lista completa de propriedades OAuth que você pode configurar.
Propriedade | Descrição |
---|---|
InitiateOAuth | Configure esta propriedade para iniciar o processo para obter ou atualizar o token de acesso OAuth ao se conectar. |
OAuthVersion | A versão do OAuth que está sendo usada. |
OAuthClientId | O ID do cliente atribuído quando você registra seu aplicativo com um servidor de autorização OAuth. |
OAuthClientSecret | O segredo do cliente atribuído quando você registra seu aplicativo com um servidor de autorização OAuth. |
OAuthAccessToken | O token de acesso para conexão usando OAuth. |
OAuthAccessTokenSecret | O segredo do token de acesso OAuth para conexão usando OAuth. |
CallbackURL | O URL de retorno de chamada OAuth ao qual retornar durante a autenticação. Esse valor deve corresponder ao URL de retorno especificado nas configurações do aplicativo. |
OAuthGrantType | O tipo de concessão para o fluxo OAuth. |
OAuthIncludeCallbackURL | Se o URL de retorno de chamada deve ser incluído em uma solicitação de token de acesso. |
OAuthAuthorizationURL | A URL de autorização para o serviço OAuth. |
OAuthAccessTokenURL | A URL da qual recuperar o token de acesso OAuth. |
OAuthRefreshTokenURL | A URL a partir da qual atualizar o token OAuth. |
OAuthRequestTokenURL | A URL que o serviço fornece para recuperar tokens de solicitação. Isso é necessário no OAuth 1.0. |
OAuthVerifier | O código do verificador retornado da URL de autorização OAuth. |
AuthToken | O token de autenticação usado para solicitar e obter o token de acesso OAuth. |
AuthKey | O segredo de autenticação usado para solicitar e obter o token de acesso OAuth. |
OAuthParams | Uma lista separada por vírgulas de outros parâmetros a serem enviados na solicitação para o token de acesso OAuth no formato paramname=value. |
OAuthRefreshToken | O token de atualização OAuth para o token de acesso OAuth correspondente. |
OAuthExpiresIn | O tempo de vida em segundos do OAuth AccessToken. |
OAuthTokenTimestamp | O registro de data e hora da época do Unix em milissegundos quando o token de acesso atual foi criado. |
InitiateOAuth
Configure esta propriedade para iniciar o processo para obter ou atualizar o token de acesso OAuth ao se conectar.
Valores Possíveis
OFF
, GETANDREFRESH
, REFRESH
Tipo de Dados
string
Valor Padrão
"OFF"
Observações
As seguintes opções estão disponíveis:
OFF
: Indica que o fluxo OAuth será tratado inteiramente pelo usuário. Um OAuthAccessToken será necessário para autenticação.GETANDREFRESH
: Indica que todo o fluxo OAuth será tratado pelo conector. Se nenhum token existir atualmente, ele será obtido solicitando ao usuário por meio do navegador. Se existir um token, ele será atualizado quando aplicável.REFRESH
: Indica que o conector tratará apenas da atualização do OAuthAccessToken. O usuário nunca será solicitado pelo conector a autenticar por meio do navegador. O usuário deve manipular a obtenção do OAuthAccessToken e OAuthRefreshToken inicialmente.
OAuthVersion
A versão do OAuth que está sendo usada.
Valores Possíveis
Disabled
, 1.0
, 2.0
Tipo de Dados
string
Valor Padrão
"Disabled"
Observações
A versão do OAuth que está sendo usada. As seguintes opções estão disponíveis: Desativado,1.0,2.0
OAuthClientId
O ID do cliente atribuído quando você registra seu aplicativo com um servidor de autorização OAuth.
Tipo de Dados
string
Valor Padrão
""
Observações
Como parte do registro de um aplicativo OAuth, você receberá o OAuthClientId
valor, às vezes também chamado de chave do consumidor, e um segredo do cliente, o OAuthClientSecret.
OAuthClientSecret
O segredo do cliente atribuído quando você registra seu aplicativo com um servidor de autorização OAuth.
Tipo de Dados
string
Valor Padrão
""
Observações
Como parte do registro de um aplicativo OAuth, você receberá o OAuthClientId, também chamada de chave do consumidor. Você também receberá um segredo do cliente, também chamado de segredo do consumidor. Defina o segredo do cliente no OAuthClientSecret
propriedade.
OAuthAccessToken
O token de acesso para conexão usando OAuth.
Tipo de Dados
string
Valor Padrão
""
Observações
O OAuthAccessToken
propriedade é usada para conectar usando OAuth. O OAuthAccessToken
é recuperado do servidor OAuth como parte do processo de autenticação. Ele tem um tempo limite dependente do servidor e pode ser reutilizado entre as solicitações.
O token de acesso é usado no lugar do seu nome de usuário e senha. O token de acesso protege suas credenciais, mantendo-as no servidor.
OAuthAccessTokenSecret
O segredo do token de acesso OAuth para conexão usando OAuth.
Tipo de Dados
string
Valor Padrão
""
Observações
O OAuthAccessTokenSecret
propriedade é usada para conectar e autenticar usando OAuth. O OAuthAccessTokenSecret
é recuperado do servidor OAuth como parte do processo de autenticação. É usado com o OAuthAccessToken e pode ser usado para várias solicitações até atingir o tempo limite.
URL de Retorno
O URL de retorno de chamada OAuth ao qual retornar durante a autenticação. Esse valor deve corresponder ao URL de retorno especificado nas configurações do aplicativo.
Tipo de Dados
string
Valor Padrão
""
Observações
Durante o processo de autenticação, o servidor de autorização OAuth redireciona o usuário para esta URL. Esse valor deve corresponder ao URL de retorno de chamada especificado nas configurações do aplicativo.
OAuthGrantType
O tipo de concessão para o fluxo OAuth.
Valores Possíveis
CODE
, CLIENT
, PASSWORD
Tipo de Dados
string
Valor Padrão
"CLIENT"
Observações
O tipo de concessão para o fluxo OAuth. As seguintes opções estão disponíveis: CÓDIGO, CLIENTE, SENHA
OAuthIncludeCallbackURL
Se o URL de retorno de chamada deve ser incluído em uma solicitação de token de acesso.
Tipo de Dados
bool
Valor Padrão
true
Observações
O padrão é verdadeiro, pois os serviços OAuth em conformidade com os padrões ignorarão o parâmetro redirect_uri para tipos de concessão como CLIENT ou PASSWORD que não o exigem.
Essa opção só deve ser habilitada para serviços OAuth que relatam erros quando o redirect_uri é incluído.
OAuthAuthorizationURL
A URL de autorização para o serviço OAuth.
Tipo de Dados
string
Valor Padrão
""
Observações
A URL de autorização para o serviço OAuth. Nessa URL, o usuário efetua login no servidor e concede permissões ao aplicativo. No OAuth 1.0, se as permissões forem concedidas, o token de solicitação será autorizado.
OAuthAccessTokenURL
A URL da qual recuperar o token de acesso OAuth.
Tipo de Dados
string
Valor Padrão
""
Observações
A URL da qual recuperar o token de acesso OAuth. No OAuth 1.0, o token de solicitação autorizado é trocado pelo token de acesso nessa URL.
OAuthRefreshTokenURL
A URL a partir da qual atualizar o token OAuth.
Tipo de Dados
string
Valor Padrão
""
Observações
A URL a partir da qual atualizar o token OAuth. No OAuth 2.0, esta URL é onde o token de atualização é trocado por um novo token de acesso quando o antigo token de acesso expira.
OAuthRequestTokenURL
A URL que o serviço fornece para recuperar tokens de solicitação. Isso é necessário no OAuth 1.0.
Tipo de Dados
string
Valor Padrão
""
Observações
A URL que o serviço fornece para recuperar tokens de solicitação. Isso é necessário no OAuth 1.0. No OAuth 1.0, este é o URL onde o aplicativo solicita o token de solicitação.
OAuthVerifier
O código do verificador retornado da URL de autorização OAuth.
Tipo de Dados
string
Valor Padrão
""
Observações
O código do verificador retornado da URL de autorização OAuth. Isso pode ser usado em sistemas onde um navegador não pode ser iniciado, como sistemas headless.
Autenticação em Máquinas Sem Cabeça
Consulte para obter o OAuthVerifier
valor.
Defina OAuthSettingsLocation juntamente com OAuthVerifier
. Quando você conecta, o conector troca o OAuthVerifier
para os tokens de autenticação OAuth e os salva, criptografados, no arquivo especificado. Definir InitiateOAuth para GETANDREFRESH automatizar a troca.
Depois que o arquivo de configurações OAuth for gerado, você poderá remover OAuthVerifier
nas propriedades de conexão e conecte-se com OAuthSettingsLocation definir.
Para atualizar automaticamente os valores do token OAuth, defina OAuthSettingsLocation e adicionalmente defina InitiateOAuth para ATUALIZAR.
AuthToken
O token de autenticação usado para solicitar e obter o token de acesso OAuth.
Tipo de Dados
string
Valor Padrão
""
Observações
Essa propriedade é necessária apenas ao executar a autenticação headless no OAuth 1.0. Ele pode ser obtido do procedimento armazenado GetOAuthAuthorizationUrl.
Ele pode ser fornecido juntamente com a AuthKey no GetOAuthAccessToken procedimento armazenado* para obter o OAuthAccessToken.
Chave de Autenticação
O segredo de autenticação usado para solicitar e obter o token de acesso OAuth.
Tipo de Dados
string
Valor Padrão
""
Observações
Essa propriedade é necessária apenas ao executar a autenticação headless no OAuth 1.0. Ele pode ser obtido do procedimento armazenado GetOAuthAuthorizationUrl.
Ele pode ser fornecido juntamente com o AuthToken no GetOAuthAccessToken procedimento armazenado* para obter o OAuthAccessToken.
OAuthParams
Uma lista separada por vírgulas de outros parâmetros a serem enviados na solicitação para o token de acesso OAuth no formato paramname=value.
Tipo de Dados
string
Valor Padrão
""
Observações
Uma lista separada por vírgulas de outros parâmetros a serem enviados na solicitação para o token de acesso OAuth no formato paramname=value.
OAuthRefreshToken
O token de atualização OAuth para o token de acesso OAuth correspondente.
Tipo de Dados
string
Valor Padrão
""
Observações
O OAuthRefreshToken
a propriedade é usada para atualizar o OAuthAccessToken ao usar a autenticação OAuth.
OAuthExpiresIn
O tempo de vida em segundos do OAuth AccessToken.
Tipo de Dados
string
Valor Padrão
""
Observações
Emparelhe com OAuthTokenTimestamp para determinar quando o AccessToken expirará.
OAuthTokenTimestamp
O registro de data e hora da época do Unix em milissegundos quando o token de acesso atual foi criado.
Tipo de Dados
string
Valor Padrão
""
Observações
Emparelhe com OAuthExpiresIn para determinar quando o AccessToken expirará.
JWT OAuth
Esta seção fornece uma lista completa das propriedades JWT OAuth que você pode configurar.
Propriedade | Descrição |
---|---|
OAuthJWTCert | A loja de certificados JWT. |
OAuthJWTCertType | O tipo de armazenamento de chaves que contém o certificado JWT. |
OAuthJWTCertPassword | A senha para o certificado OAuth JWT. |
OAuthJWTCertSubject | O assunto do certificado OAuth JWT. |
OAuthJWTIssuer | O emissor do Java Web Token. |
OAuthJWTSubject | O assunto do usuário para o qual o aplicativo está solicitando acesso delegado. |
OAuthJWTCert
A loja de certificados JWT.
Tipo de Dados
string
Valor Padrão
""
Observações
O nome do armazenamento de certificados para o certificado do cliente.
O OAuthJWTCertType campo especifica o tipo de armazenamento de certificado especificado por OAuthJWTCert
. Se o armazenamento estiver protegido por senha, especifique a senha em OAuthJWTCertPassword.
OAuthJWTCert
é usado em conjunto com o OAuthJWTCertSubject para especificar os certificados do cliente. Se OAuthJWTCert
tem um valor e OAuthJWTCertSubject for definido, uma pesquisa por um certificado será iniciada. Consulte OAuthJWTCertSubject para obter detalhes.
As designações de armazenamentos de certificados dependem da plataforma.
A seguir estão as designações dos armazenamentos de certificados de Usuário e Máquina mais comuns no Windows:
Propriedade | Descrição |
---|---|
MY | Um armazenamento de certificados que contém certificados pessoais com suas chaves privadas associadas. |
CA | Certificados de autoridade certificadora. |
ROOT | Certificados raiz. |
SPC | Certificados de editor de software. |
Em Java, o armazenamento de certificados normalmente é um arquivo contendo certificados e chaves privadas opcionais.
Quando o tipo de armazenamento de certificado for PFXFile, essa propriedade deverá ser configurada para o nome do arquivo. Quando o tipo é PFXBlob, a propriedade deve ser configurada para o conteúdo binário de um arquivo PFX (ou seja, armazenamento de certificados PKCS12).
OAuthJWTCertType
O tipo de armazenamento de chaves que contém o certificado JWT.
Valores Possíveis
USER
, MACHINE
, PFXFILE
, PFXBLOB
, JKSFILE
, JKSBLOB
, PEMKEY_FILE
, PEMKEY_BLOB
, PUBLIC_KEY_FILE
, PUBLIC_KEY_BLOB
, SSHPUBLIC_KEY_FILE
, SSHPUBLIC_KEY_BLOB
, P7BFILE
, PPKFILE
, XMLFILE
, XMLBLOB
Tipo de Dados
string
Valor Padrão
"USER"
Observações
Esta propriedade pode assumir um dos seguintes valores:
Propriedade | Descrição |
---|---|
USER | Para Windows, isso especifica que o armazenamento de certificados é um armazenamento de certificados pertencente ao usuário atual. Nota: Este tipo de loja não está disponível em Java. |
MACHINE | Para Windows, isso especifica que o armazenamento de certificados é um armazenamento de máquina. Nota: este tipo de loja não está disponível em Java. |
PFXFILE | O armazenamento de certificados é o nome de um arquivo PFX (PKCS12) que contém certificados. |
PFXBLOB | O armazenamento de certificados é uma string (codificada em base 64) que representa um armazenamento de certificados no formato PFX (PKCS12). |
JKSFILE | O armazenamento de certificados é o nome de um arquivo de armazenamento de chaves Java (JKS) que contém certificados. Nota: este tipo de loja só está disponível em Java. |
JKSBLOB | O armazenamento de certificados é uma sequência (codificada em base 64) que representa um armazenamento de certificados no formato Java key store (JKS). Nota: este tipo de loja só está disponível em Java. |
PEMKEY_FILE | O armazenamento de certificados é o nome de um arquivo codificado por PEM que contém uma chave privada e um certificado opcional. |
PEMKEY_BLOB | O armazenamento de certificados é uma string (codificada em base64) que contém uma chave privada e um certificado opcional. |
PUBLIC_KEY_FILE | O armazenamento de certificados é o nome de um arquivo que contém um certificado de chave pública codificado por PEM ou DER. |
PUBLIC_KEY_BLOB | O armazenamento de certificados é uma string (codificada em base 64) que contém um certificado de chave pública codificado em PEM ou DER. |
SSHPUBLIC_KEY_FILE | O armazenamento de certificados é o nome de um arquivo que contém uma chave pública de estilo SSH. |
SSHPUBLIC_KEY_BLOB | O armazenamento de certificados é uma string (codificada em base 64) que contém uma chave pública de estilo SSH. |
P7BFILE | O armazenamento de certificados é o nome de um arquivo PKCS7 que contém certificados. |
PPKFILE | O armazenamento de certificados é o nome de um arquivo que contém um PPK (PuTTY Private Key). |
XMLFILE | O armazenamento de certificados é o nome de um arquivo que contém um certificado no formato XML. |
XMLBLOB | O armazenamento de certificados é uma string que contém um certificado no formato XML. |
OAuthJWTCertPassword
A senha para o certificado OAuth JWT.
Tipo de Dados
string
Valor Padrão
""
Observações
Se o armazenamento de certificados for de um tipo que requer uma senha, essa propriedade será usada para especificar essa senha para abrir o armazenamento de certificados.
OAuthJWTCertSubject
O assunto do certificado OAuth JWT.
Tipo de Dados
string
Valor Padrão
"\*"
Observações
Ao carregar um certificado, o assunto é usado para localizar o certificado na loja.
Se uma correspondência exata não for encontrada, a loja é pesquisada em busca de assuntos que contenham o valor da propriedade.
Se uma correspondência ainda não for encontrada, a propriedade será definida como uma string vazia e nenhum certificado será selecionado.
O valor especial "*" seleciona o primeiro certificado no armazenamento de certificados.
O assunto do certificado é uma lista separada por vírgulas de campos e valores de nomes distintos. Por exemplo, "CN=www.server.com, OU=test, C=US, E=support@jitterbit.com". Os campos comuns e seus significados são exibidos abaixo.
Campo | Significado |
---|---|
CN | Nome comum. Geralmente, é um nome de hospedar como www.server.com. |
O | Organização |
OU | Unidade Organizacional |
L | Localidade |
S | Estado |
C | País |
E | Endereço E-mail |
Se um valor de campo contiver uma vírgula, ela deverá ser colocada entre aspas.
OAuthJWTIssuer
O emissor do Java Web Token.
Tipo de Dados
string
Valor Padrão
""
Observações
O emissor do Java Web Token. Normalmente, é o ID do cliente ou o endereço E-mail do aplicativo OAuth.
OAuthJWTSubject
O assunto do usuário para o qual o aplicativo está solicitando acesso delegado.
Tipo de Dados
string
Valor Padrão
""
Observações
O assunto do usuário para o qual o aplicativo está solicitando acesso delegado. Normalmente, o nome da conta do usuário ou endereço de e-mail.
SSL
Esta seção fornece uma lista completa de propriedades SSL que você pode configurar.
Propriedade | Descrição |
---|---|
SSLClientCert | O armazenamento de certificados de cliente TLS/SSL para autenticação de cliente SSL (SSL bidirecional). |
SSLClientCertType | O tipo de armazenamento de chaves que contém o certificado do cliente TLS/SSL. |
SSLClientCertPassword | A senha para o certificado de cliente TLS/SSL. |
SSLClientCertSubject | O assunto do certificado de cliente TLS/SSL. |
SSLServerCert | O certificado a ser aceito do servidor ao conectar usando TLS/SSL. |
SSLClientCert
O armazenamento de certificados de cliente TLS/SSL para autenticação de cliente SSL (SSL bidirecional).
Tipo de Dados
string
Valor Padrão
""
Observações
O nome do armazenamento de certificados para o certificado do cliente.
O SSLClientCertType campo especifica o tipo de armazenamento de certificado especificado por SSLClientCert
. Se o armazenamento estiver protegido por senha, especifique a senha em SSLClientCertPassword.
SSLClientCert
é usado em conjunto com o SSLClientCertSubject para especificar os certificados do cliente. Se SSLClientCert
tem um valor e SSLClientCertSubject for definido, uma pesquisa por um certificado será iniciada. Consulte SSLClientCertSubject Para maiores informações.
As designações de armazenamentos de certificados dependem da plataforma.
A seguir estão as designações dos armazenamentos de certificados de Usuário e Máquina mais comuns no Windows:
Propriedade | Descrição |
---|---|
MY | Um armazenamento de certificados que contém certificados pessoais com suas chaves privadas associadas. |
CA | Certificados de autoridade certificadora. |
ROOT | Certificados raiz. |
SPC | Certificados de editor de software. |
Em Java, o armazenamento de certificados normalmente é um arquivo contendo certificados e chaves privadas opcionais.
Quando o tipo de armazenamento de certificado for PFXFile, essa propriedade deverá ser configurada para o nome do arquivo. Quando o tipo é PFXBlob, a propriedade deve ser configurada para o conteúdo binário de um arquivo PFX (por exemplo, armazenamento de certificados PKCS12).
SSLClientCertType
O tipo de armazenamento de chaves que contém o certificado do cliente TLS/SSL.
Valores Possíveis
USER
, MACHINE
, PFXFILE
, PFXBLOB
, JKSFILE
, JKSBLOB
, PEMKEY_FILE
, PEMKEY_BLOB
, PUBLIC_KEY_FILE
, PUBLIC_KEY_BLOB
, SSHPUBLIC_KEY_FILE
, SSHPUBLIC_KEY_BLOB
, P7BFILE
, PPKFILE
, XMLFILE
, XMLBLOB
Tipo de Dados
string
Valor Padrão
"USER"
Observações
Esta propriedade pode assumir um dos seguintes valores:
Propriedade | Descrição |
---|---|
USER - default | Para Windows, isso especifica que o armazenamento de certificados é um armazenamento de certificados pertencente ao usuário atual. Observe que esse tipo de armazenamento não está disponível em Java. |
MACHINE | Para Windows, isso especifica que o armazenamento de certificados é um armazenamento de máquina. Observe que esse tipo de armazenamento não está disponível em Java. |
PFXFILE | O armazenamento de certificados é o nome de um arquivo PFX (PKCS12) que contém certificados. |
PFXBLOB | O armazenamento de certificados é uma string (codificada em base 64) que representa um armazenamento de certificados no formato PFX (PKCS12). |
JKSFILE | O armazenamento de certificados é o nome de um arquivo de armazenamento de chaves Java (JKS) que contém certificados. Observe que esse tipo de armazenamento está disponível apenas em Java. |
JKSBLOB | O armazenamento de certificados é uma string (codificada em base 64) que representa um armazenamento de certificados no formato JKS. Observe que esse tipo de armazenamento está disponível apenas em Java. |
PEMKEY_FILE | O armazenamento de certificados é o nome de um arquivo codificado por PEM que contém uma chave privada e um certificado opcional. |
PEMKEY_BLOB | O armazenamento de certificados é uma string (codificada em base64) que contém uma chave privada e um certificado opcional. |
PUBLIC_KEY_FILE | O armazenamento de certificados é o nome de um arquivo que contém um certificado de chave pública codificado por PEM ou DER. |
PUBLIC_KEY_BLOB | O armazenamento de certificados é uma string (codificada em base 64) que contém um certificado de chave pública codificado em PEM ou DER. |
SSHPUBLIC_KEY_FILE | O armazenamento de certificados é o nome de um arquivo que contém uma chave pública de estilo SSH. |
SSHPUBLIC_KEY_BLOB | O armazenamento de certificados é uma string (codificada em base 64) que contém uma chave pública de estilo SSH. |
P7BFILE | O armazenamento de certificados é o nome de um arquivo PKCS7 contendo certificados. |
PPKFILE | O armazenamento de certificados é o nome de um arquivo que contém uma chave privada PuTTY (PPK). |
XMLFILE | O armazenamento de certificados é o nome de um arquivo que contém um certificado no formato XML. |
XMLBLOB | O armazenamento de certificados é uma string que contém um certificado no formato XML. |
SSLClientCertPassword
A senha para o certificado de cliente TLS/SSL.
Tipo de Dados
string
Valor Padrão
""
Observações
Se o armazenamento de certificados for de um tipo que requer uma senha, essa propriedade será usada para especificar essa senha para abrir o armazenamento de certificados.
SSLClientCertSubject
O assunto do certificado de cliente TLS/SSL.
Tipo de Dados
string
Valor Padrão
"\*"
Observações
Ao carregar um certificado, o assunto é usado para localizar o certificado na loja.
Se uma correspondência exata não for encontrada, a loja é pesquisada em busca de assuntos que contenham o valor da propriedade. Se uma correspondência ainda não for encontrada, a propriedade será definida como uma string vazia e nenhum certificado será selecionado.
O valor especial "*" seleciona o primeiro certificado no armazenamento de certificados.
O assunto do certificado é uma lista separada por vírgulas de campos e valores de nomes distintos. Por exemplo, "CN=www.server.com, OU=test, C=US, E=support@company.com". Os campos comuns e seus significados são mostrados abaixo.
Campo | Significado |
---|---|
CN | Nome comum. Geralmente, é um nome de hospedar como www.server.com. |
O | Organização |
OU | Unidade Organizacional |
L | Localidade |
S | Estado |
C | País |
E | Endereço E-mail |
Se um valor de campo contiver uma vírgula, ela deverá ser colocada entre aspas.
SSLServerCert
O certificado a ser aceito do servidor ao conectar usando TLS/SSL.
Tipo de Dados
string
Valor Padrão
""
Observações
Se estiver usando uma conexão TLS/SSL, esta propriedade pode ser usada para especificar o certificado TLS/SSL a ser aceito do servidor. Qualquer outro certificado que não seja confiável para a máquina é rejeitado.
Esta propriedade pode assumir as seguintes formas:
Descrição | Exemplo |
---|---|
Um certificado PEM completo (exemplo abreviado para concisão) | -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE----- |
Um caminho para um arquivo local contendo o certificado | C:\cert.cer |
A chave pública (exemplo abreviado para concisão) | -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY----- |
O Thumbprint MD5 (os valores hexadecimais também podem ser separados por espaço ou dois-pontos) | ecadbdda5a1529c58a1e9e09828d70e4 |
A impressão digital SHA1 (os valores hexadecimais também podem ser separados por espaço ou dois-pontos) | 34a929226ae0819f2ec14b4a3d904f801cbb150d |
Se não for especificado, qualquer certificado confiável pela máquina será aceito.
Os certificados são validados como confiáveis pela máquina com base no armazenamento confiável do sistema. O armazenamento confiável usado é o valor 'javax.net.ssl.trustStore' especificado para o sistema. Se nenhum valor for especificado para esta propriedade, o armazenamento confiável padrão do Java será usado (por exemplo, JAVA_HOME\lib\security\cacerts).
Use '*' para indicar a aceitação de todos os certificados. Observe que isso não é recomendado devido a questões de segurança.
Esquema
Esta seção fornece uma lista completa de propriedades de esquema que você pode configurar.
Propriedade | Descrição |
---|---|
Location | Um caminho para o diretório que contém os arquivos de esquema que definem tabelas, exibições e procedimentos armazenados. |
BrowsableSchemas | Essa propriedade restringe os esquemas relatados a um subconjunto dos esquemas disponíveis. Por exemplo, BrowsableSchemas=SchemaA, SchemaB, SchemaC. |
Tables | Esta propriedade restringe as tabelas reportadas a um subconjunto das tabelas disponíveis. Por exemplo, Tables=TableA, TableB, TableC. |
Views | Restringe as visualizações relatadas a um subconjunto das tabelas disponíveis. Por exemplo, Views=ViewA, ViewB, ViewC. |
ExpandTablesDepth | Essa propriedade é usada para determinar a profundidade das tabelas filhas. |
ExpandTemporaryTablesDepth | Esta propriedade é usada para determinar a profundidade das tabelas temporárias filhas. Só funciona se ExposeDynamicProcedures estiver definido como verdadeiro. |
ExpandColumnsDepth | Essa propriedade é usada para determinar até que ponto o provedor deve pesquisar colunas dentro dos objetos GraphQL. |
IncludeDeprecatedMetadata | Essa propriedade é usada para determinar se o provedor deve expor tabelas e colunas obsoletas ou não. |
ExposeDynamicProcedures | Essa propriedade é usada para determinar se o provedor deve expor as mutações como procedimentos dinâmicos ou não. |
Localização
Um caminho para o diretório que contém os arquivos de esquema que definem tabelas, exibições e procedimentos armazenados.
Tipo de Dados
string
Valor Padrão
"%APPDATA%\\\GraphQL Data Provider\\Schema"
Observações
O caminho para um diretório que contém os arquivos de esquema para o conector (arquivos .rsd para tabelas e exibições, arquivos .rsb para procedimentos armazenados). A localização da pasta pode ser um caminho relativo a partir da localização do executável. O Location
a propriedade só é necessária se você quiser personalizar definições (por exemplo, alterar um nome de coluna, ignorar uma coluna e assim por diante) ou estender o modelo de dados com novas tabelas, exibições ou procedimentos armazenados.
Se não for especificado, o local padrão é "%APPDATA%\\ GraphQL Data Provider\Schema" com %APPDATA%
sendo definido para o diretório de configuração do usuário:
Plataforma | %APPDATA% |
---|---|
Windows | O valor da variável de ambiente APPDATA |
Mac | ~/Biblioteca/Suporte de aplicativos |
Linux | ~/.config |
Esquemas Navegáveis
Essa propriedade restringe os esquemas relatados a um subconjunto dos esquemas disponíveis. Por exemplo, BrowsableSchemas=SchemaA,SchemaB,SchemaC.
Tipo de Dados
string
Valor Padrão
""
Observações
Listar os esquemas de bancos de dados pode ser caro. Fornecer uma lista de esquemas na string de conexão melhora o desempenho.
Tabelas
Esta propriedade restringe as tabelas reportadas a um subconjunto das tabelas disponíveis. Por exemplo, Tabelas=TabelaA,TabelaB,TabelaC.
Tipo de Dados
string
Valor Padrão
""
Observações
Listar as tabelas de alguns bancos de dados pode ser caro. Fornecer uma lista de tabelas na string de conexão melhora o desempenho do conector.
Essa propriedade também pode ser usada como uma alternativa para listar automaticamente as exibições se você já souber com quais deseja trabalhar e, caso contrário, haveria muitos para trabalhar.
Especifique as tabelas que deseja em uma lista separada por vírgulas. Cada tabela deve ser um identificador SQL válido com quaisquer caracteres especiais escapados usando colchetes, aspas duplas ou acentos graves. Por exemplo, Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.
Observe que, ao conectar-se a uma fonte de dados com vários esquemas ou catálogos, você precisará fornecer o nome totalmente qualificado da tabela nesta propriedade, como no último exemplo aqui, para evitar ambigüidade entre tabelas que existem em vários catálogos ou esquemas.
Visualizações
Restringe as visualizações relatadas a um subconjunto das tabelas disponíveis. Por exemplo, Views=ViewA,ViewB,ViewC.
Tipo de Dados
string
Valor Padrão
""
Observações
Listar as exibições de alguns bancos de dados pode ser caro. Fornecer uma lista de exibições na string de conexão melhora o desempenho do conector.
Essa propriedade também pode ser usada como uma alternativa para listar automaticamente as exibições se você já souber com quais deseja trabalhar e, caso contrário, haveria muitos para trabalhar.
Especifique as exibições desejadas em uma lista separada por vírgulas. Cada exibição deve ser um identificador SQL válido com quaisquer caracteres especiais escapados usando colchetes, aspas duplas ou acentos graves. Por exemplo, Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.
Observe que, ao conectar-se a uma fonte de dados com vários esquemas ou catálogos, você precisará fornecer o nome totalmente qualificado da tabela nesta propriedade, como no último exemplo aqui, para evitar ambigüidade entre tabelas que existem em vários catálogos ou esquemas.
ExpandTablesDepth
Essa propriedade é usada para determinar a profundidade das tabelas filhas.
Tipo de Dados
int
Valor Padrão
2
Observações
Essa propriedade é usada para determinar a profundidade das tabelas filhas.
ExpandTemporaryTablesDepth
Esta propriedade é usada para determinar a profundidade das tabelas temporárias filhas. Só funciona se ExposeDynamicProcedures estiver definido como verdadeiro.
Tipo de Dados
int
Valor Padrão
5
Observações
Esta propriedade é usada para determinar a profundidade das tabelas temporárias filhas. Só funciona se ExposeDynamicProcedures é definido como verdadeiro.
ExpandColumnsDepth
Essa propriedade é usada para determinar até que ponto o provedor deve pesquisar colunas dentro dos objetos GraphQL.
Tipo de Dados
int
Valor Padrão
2
Observações
Essa propriedade é usada para determinar até que ponto o conector deve pesquisar colunas dentro dos objetos GraphQL.
IncludeDeprecatedMetadata
Essa propriedade é usada para determinar se o provedor deve expor tabelas e colunas obsoletas ou não.
Tipo de Dados
bool
Valor Padrão
false
Observações
Essa propriedade é usada para determinar se o conector deve expor tabelas e colunas obsoletas ou não.
ExposeDynamicProcedures
Essa propriedade é usada para determinar se o provedor deve expor as mutações como procedimentos dinâmicos ou não.
Tipo de Dados
bool
Valor Padrão
true
Observações
Essa propriedade é usada para determinar se o conector deve expor mutações como procedimentos dinâmicos ou não.
Diversos
Esta seção fornece uma lista completa de diversas propriedades que você pode configurar.
Propriedade | Descrição |
---|---|
CustomHeaders | Outros cabeçalhos conforme determinado pelo usuário (opcional). |
GenerateSchemaFiles | Indica a preferência do usuário quanto a quando os esquemas devem ser gerados e salvos. |
MaxRows | Limita o número de linhas retornadas quando nenhuma agregação ou agrupamento é usado na consultar. Isso ajuda a evitar problemas de desempenho em tempo de design. |
Other | Essas propriedades ocultas são usadas apenas em casos de uso específicos. |
Pagesize | O número máximo de resultados a serem retornados por página do GraphQL. |
PseudoColumns | Esta propriedade indica se deve ou não incluir pseudocolunas como colunas na tabela. |
Timeout | O valor em segundos até que o erro de timeout seja lançado, cancelando a operação. |
CustomHeaders
Outros cabeçalhos conforme determinado pelo usuário (opcional).
Tipo de Dados
string
Valor Padrão
""
Observações
Essa propriedade pode ser definida como uma sequência de cabeçalhos a serem anexados aos cabeçalhos de solicitação HTTP criados a partir de outras propriedades, como ContentType, From e assim por diante.
Os cabeçalhos devem estar no formato "cabeçalho: valor" conforme descrito nas especificações do HTTP. As linhas de cabeçalho devem ser separadas pelos caracteres de retorno de carro e alimentação de linha (CRLF).
Use esta propriedade com cuidado. Se esta propriedade contiver cabeçalhos inválidos, as solicitações HTTP poderão falhar.
Essa propriedade é útil para ajustar a funcionalidade do conector para integração com APIs especializadas ou fora do padrão.
GenerateSchemaFiles
Indica a preferência do usuário quanto a quando os esquemas devem ser gerados e salvos.
Valores Possíveis
Never
, OnUse
, OnStart
, OnCreate
Tipo de Dados
string
Valor Padrão
"Never"
Observações
Esta propriedade gera esquemas para arquivos .rsd no caminho especificado por Location.
As configurações disponíveis são as seguintes:
- Nunca: Um arquivo de esquema nunca será gerado.
- OnUse: Um arquivo de esquema será gerado na primeira vez que uma tabela for referenciada, desde que o arquivo de esquema para a tabela ainda não exista.
- OnStart: Um arquivo de esquema será gerado no momento da conexão para todas as tabelas que atualmente não possuem um arquivo de esquema.
- OnCreate: Um arquivo de esquema será gerado ao executar uma consultar SQL CREATE TABLE.
Observe que, se você deseja gerar novamente um arquivo, primeiro precisará excluí-lo.
Gerar Esquemas com SQL
Ao definir GenerateSchemaFiles
para OnUse
, o conector gera esquemas conforme você executa consultas SELECT. Os esquemas são gerados para cada tabela referenciada na consultar.
Ao definir GenerateSchemaFiles
para OnCreate
, os esquemas são gerados apenas quando uma consultar CREATE TABLE é executada.
Gerar Esquemas na Conexão
Outra maneira de usar essa propriedade é obter esquemas para cada tabela em seu banco de dados quando você se conectar. Para isso, defina GenerateSchemaFiles
para OnStart
e conecte-se.
MaxRows
Limita o número de linhas retornadas quando nenhuma agregação ou agrupamento é usado na consultar. Isso ajuda a evitar problemas de desempenho em tempo de design.
Tipo de Dados
int
Valor Padrão
-1
Observações
Limita o número de linhas retornadas quando nenhuma agregação ou agrupamento é usado na consultar. Isso ajuda a evitar problemas de desempenho em tempo de design.
Outro
Essas propriedades ocultas são usadas apenas em casos de uso específicos.
Tipo de Dados
string
Valor Padrão
""
Observações
As propriedades listadas abaixo estão disponíveis para casos de uso específicos. Os casos de uso e a funcionalidade normais do driver não devem exigir essas propriedades.
Especifique várias propriedades em uma lista separada por ponto e vírgula.
Integração e Formatação
Propriedade | Descrição |
---|---|
DefaultColumnSize | Define o comprimento padrão dos campos de string quando a fonte de dados não fornece o comprimento da coluna nos metadados. O valor padrão é 2000. Voltar para o início |
ConvertDateTimeToGMT | Determina se os valores de data e hora devem ser convertidos em GMT, em vez da hora local da máquina. |
RecordToFile=filename | Registra a transferência de dados do soquete subjacente para o arquivo especificado. |
Tamanho da Página
O número máximo de resultados a serem retornados por página do GraphQL.
Tipo de Dados
string
Valor Padrão
""
Observações
O Pagesize
propriedade afeta o número máximo de resultados a serem retornados por página do GraphQL. Definir um valor mais alto pode resultar em melhor desempenho ao custo de memória adicional consumida por página consumida. O pageSize é proporcional ao custo da consultar GraphQL.
Pseudocolunas
Esta propriedade indica se deve ou não incluir pseudocolunas como colunas na tabela.
Tipo de Dados
string
Valor Padrão
""
Observações
Essa configuração é particularmente útil no Entity Framework, que não permite definir um valor para uma pseudocoluna, a menos que seja uma coluna de tabela. O valor dessa configuração de conexão está no formato "Table1=Column1, Table1=Column2, Table2=Column3". Você pode usar o caractere "*" para incluir todas as tabelas e todas as colunas; por exemplo, "*=*".
Tempo Esgotado
O valor em segundos até que o erro de timeout seja lançado, cancelando a operação.
Tipo de Dados
int
Valor Padrão
60
Observações
Se Timeout
= 0, as operações não expiram. As operações são executadas até serem concluídas com êxito ou até encontrarem uma condição de erro.
Se Timeout
expira e a operação ainda não está concluída, o conector lança uma exceção.