Saltar al contenido

Detalles de la Conexión de GraphQL

Introducción

Versión del conector

Esta documentación se basa en la versión 21.0.8257 del conector.

Empezando

Compatibilidad con la versión de GraphQL

El conector aprovecha la API de GraphQL para habilitar el acceso bidireccional a GraphQL.

Establecer una Conexión

Conexión a GraphQL

Configure lo siguiente para conectarse:

  • URL: Especifique la URL del servicio GraphQL ;
  • Location: establezca esto en la ruta del archivo que contiene los esquemas personalizados definidos anteriormente.

El controlador admite los siguientes tipos de autenticación:

  • Básico: Conjunto AuthScheme a Básico. Debe especificar el User y Password del servicio GraphQL.
  • OAuth 1.0 y 2.0: consulte Uso de la autenticación OAuth para obtener instrucciones detalladas.
  • AwsCognitoSrp
  • AwsCognitoBasic
Autenticación con Credenciales de AWS Cognito

Si desea utilizar el conector con un usuario registrado en un grupo de usuarios en AWS Cognito, configure las siguientes propiedades para autenticarse:

  • AuthScheme: establezca esto en AwsCognitoSrp (recomendado). También puede utilizar AwsCognitoBasic.
  • AWSCognitoRegion: establezca esto en la región del grupo de usuarios.
  • AWSUserPoolId: Establézcalo en el Id. del grupo de usuarios.
  • AWSUserPoolClientAppId: Establézcalo en el Id. de la aplicación del cliente del grupo de usuarios.
  • AWSUserPoolClientAppSecret: establezca esto en el secreto del cliente del grupo de usuarios.
  • AWSIdentityPoolId: establezca esto en el ID del grupo de identidades del grupo de identidades que está vinculado con el grupo de usuarios.
  • User: establezca esto en el nombre de usuario del usuario registrado en el grupo de usuarios.
  • Password: establezca esto en la contraseña del usuario registrado en el grupo de usuarios.

Uso de la Autenticación OAuth

Esta sección muestra cómo usar el conector para autenticarse en cualquier origen de datos que admita OAuth.

OAuth requiere que el usuario que se autentica interactúe con GraphQL usando el navegador. El conector facilita esto de varias maneras, como se describe en las siguientes secciones.

Antes de seguir los procedimientos a continuación, debe registrar una aplicación OAuth con el servicio para obtener OAuthClientId y OAuthClientSecret. También debe establecer el AuthScheme a OAuth.

Credenciales Personalizadas

Credenciales personalizadas describe la autenticación de escritorio usando las credenciales para su aplicación OAuth personalizada.

Máquinas Sin Cabeza

En las Máquinas sin cabeza Flujo OAuth, los usuarios deben autenticarse a través de un navegador en otra máquina. Debe crear una aplicación OAuth personalizada.

Credenciales Personalizadas

Autenticarse en GraphQL

Después de configurar las siguientes propiedades de conexión, está listo para conectarse:

  • OAuthVersion: establezca esto en la versión de OAuth, ya sea 1.0 o 2.0.
  • OAuthRequestTokenURL: Requerido para OAuth 1.0. En OAuth 1.0, esta es la URL donde la aplicación solicita el token de solicitud.
  • OAuthAuthorizationURL: Requerido para OAuth 1.0 y 2.0. Esta es la URL donde el usuario inicia sesión en el servicio y otorga permisos a la aplicación. En OAuth 1.0, si se otorgan permisos, se autoriza el token de solicitud.
  • OAuthAccessTokenURL: Requerido para OAuth 1.0 y 2.0. Esta es la URL donde se realiza la solicitud del token de acceso. En OAuth 1.0, el token de solicitud autorizado se intercambia por el token de acceso.
  • OAuthRefreshTokenURL: Requerido para OAuth 2.0. En OAuth 2.0, esta es la URL donde el token de actualización se intercambia por un nuevo token de acceso cuando el anterior caduca. Tenga en cuenta que para su fuente de datos esto puede ser lo mismo que la URL del token de acceso.
  • OAuthClientId: establezca esto en la identificación del cliente en la configuración de su aplicación. Esto también se llama la clave del consumidor.
  • OAuthClientSecret: establezca esto en el secreto del cliente en la configuración de su aplicación. Esto también se llama el secreto del consumidor.
  • CallbackURL: Establézcalo en http://localhost:33333. Si especificó una URL de redireccionamiento en la configuración de su aplicación, esta debe coincidir.
  • InitiateOAuth: Establézcalo en GETANDREFRESH. Puede usar InitiateOAuth para evitar repetir el intercambio de OAuth y configurar manualmente el token de acceso en la cadena de conexión.

Cuando se conecta, el conector abre el extremo de OAuth en su navegador predeterminado. Inicie sesión y otorgue permisos a la aplicación. Luego, el conector completa el proceso de OAuth:

  1. Extrae el token de acceso de la URL de devolución de llamada y autentica las solicitudes.
  2. Actualiza el token de acceso cuando caduca.
  3. Guarda los valores de OAuth en OAuthSettingsLocation para persistir a través de las conexiones.

Máquinas Sin Cabeza

Uso de OAuth en una Máquina Sin Cabeza

Para crear fuentes de datos GraphQL en servidores sin periféricos u otras máquinas en las que el conector no puede abrir un navegador, debe autenticarse desde otra máquina. La autenticación es un proceso de dos pasos.

  1. En lugar de instalar el conector en otra máquina, puede seguir los pasos a continuación para obtener el OAuthVerifier valor. O bien, puede instalar el conector en otra máquina y transferir los valores de autenticación de OAuth, después de autenticarse a través del flujo habitual basado en el navegador.
  2. A continuación, puede configurar el conector para actualizar automáticamente el token de acceso desde la máquina sin periféricos.

Puede seguir el flujo de autenticación de OAuth sin cabeza utilizando las credenciales de OAuth para su aplicación de OAuth personalizada.

Uso de las Credenciales para una Aplicación OAuth Personalizada

Obtenga un código verificador

Establezca las siguientes propiedades en la máquina sin periféricos:

  • InitiateOAuth: Ajústelo a APAGADO.
  • OAuthClientId: establezca esto en la ID de la aplicación en la configuración de su aplicación.
  • OAuthClientSecret: establezca esto en el secreto de la aplicación en la configuración de su aplicación.

Luego puede seguir los pasos a continuación para autenticarse desde otra máquina y obtener el OAuthVerifier propiedad de conexión.

  1. Llame a GetOAuthAuthorizationURL procedimiento almacenado* con el parámetro de entrada CallbackURL establecido en el URI de redirección exacto que especificó en la configuración de su aplicación.
  2. Guarde el valor del AuthToken y AuthKey devueltos si OAuthVersion se establece en 1.0. Se utilizarán en el siguiente paso.
  3. Abra la URL devuelta en un navegador. Inicie sesión y otorgue permisos al conector. A continuación, se le redirige a la URL de devolución de llamada, que contiene el código verificador.
  4. Guarde el valor del código verificador. Establecerá esto en el OAuthVerifier propiedad de conexión.

En la máquina sin periféricos, establezca las siguientes propiedades de conexión para obtener los valores de autenticación de OAuth:

  • OAuthVersion: establezca esto en la versión de OAuth, ya sea 1.0 o 2.0.
  • OAuthRequestTokenURL: Requerido para OAuth 1.0. En OAuth 1.0, esta es la URL donde la aplicación solicita el token de solicitud.
  • OAuthAuthorizationURL: Requerido para OAuth 1.0 y 2.0. Esta es la URL donde el usuario inicia sesión en el servicio y otorga permisos a la aplicación. En OAuth 1.0, si se otorgan permisos, se autoriza el token de solicitud.
  • OAuthAccessTokenURL: Requerido para OAuth 1.0 y 2.0. Esta es la URL donde se realiza la solicitud del token de acceso. En OAuth 1.0, el token de solicitud autorizado se intercambia por el token de acceso.
  • OAuthRefreshTokenURL: Requerido para OAuth 2.0. En OAuth 2.0, esta es la URL donde el token de actualización se intercambia por un nuevo token de acceso cuando el anterior caduca. Tenga en cuenta que para su fuente de datos esto puede ser lo mismo que la URL del token de acceso.
  • OAuthClientId: establezca esto en la identificación del cliente en la configuración de su aplicación. Esto también se llama la clave del consumidor.
  • OAuthClientSecret: establezca esto en el secreto del cliente en la configuración de su aplicación. Esto también se llama el secreto del consumidor.
  • CallbackURL: Establézcalo en http://localhost:33333. Si especificó una URL de redireccionamiento en la configuración de su aplicación, esta debe coincidir.
  • InitiateOAuth: Establézcalo en GETANDREFRESH. Puede usar InitiateOAuth para evitar repetir el intercambio de OAuth y configurar manualmente el token de acceso en la cadena de conexión.

Conectarse a datos

Después de generar el archivo de configuración de OAuth, configure las siguientes propiedades para conectarse a los datos:

  • OAuthSettingsLocation: Establézcalo en el archivo que contiene los valores de autenticación de OAuth cifrados. Asegúrese de que este archivo otorgue permisos de lectura y escritura al proveedor para habilitar la actualización automática del token de acceso.
  • InitiateOAuth: Establézcalo en ACTUALIZAR.

Transferir configuración de OAuth

Siga los pasos a continuación para instalar el conector en otra máquina, autenticar y luego transferir los valores de OAuth resultantes.

En una segunda máquina, instale el conector y conéctese con el siguiente conjunto de propiedades:

  • OAuthSettingsLocation: establezca esto en un archivo de texto grabable.
  • InitiateOAuth: Establézcalo en GETANDREFRESH.
  • OAuthClientId: establezca esto en la ID del cliente en la configuración de su aplicación.
  • OAuthClientSecret: establezca esto en el secreto del cliente en la configuración de su aplicación.
  • CallbackURL: establezca esto en la URL de devolución de llamada en la configuración de su aplicación.

Pruebe la conexión para autenticarse. Los valores de autenticación resultantes se escriben, se cifran, en la ruta especificada por OAuthSettingsLocation. Una vez que haya probado con éxito la conexión, copie el archivo de configuración de OAuth en su máquina sin periféricos. En la máquina sin periféricos, configure las siguientes propiedades de conexión para conectarse a los datos:

  • InitiateOAuth: Establézcalo en ACTUALIZAR.
  • OAuthSettingsLocation: establezca esto en la ruta a su archivo de configuración de OAuth. Asegúrese de que este archivo otorgue permisos de lectura y escritura al conector para habilitar la actualización automática del token de acceso.

Notas Importantes

Procedimientos Almacenados

  • Las funciones de procedimientos almacenados descritas en esta documentación no se admiten actualmente.
  • Debido a que los procedimientos almacenados no se admiten actualmente, cualquier característica que dependa de los procedimientos almacenados tampoco se admite actualmente.

Archivos de Configuración y Sus Rutas

  • Todas las referencias a la adición de archivos de configuración y sus rutas se refieren a archivos y ubicaciones en Harmony Agente donde está instalado el conector. Estas rutas deben ajustarse según corresponda según el agente y el sistema operativo. Si se utilizan varios agentes en un grupo de agentes, se requerirán archivos idénticos en cada agente.

Modelado de Datos GraphQL

Esta sección muestra cómo controlar los diversos esquemas que ofrece el conector para cerrar la brecha entre los servicios de SQL relacional y GraphQL.

Introspección de esquemas

Los servicios de GraphQL ofrecen un servicio de consultar de introspección que el conector puede usar para obtener nombres de vistas y columnas.

Todos los campos de mutación ESCALAR se exponen directamente y todos los campos de objeto se expanden.

mutaciones

El conector buscará automáticamente Uso de mutaciones. Dado que GraphQL no proporciona ningún método para determinar qué mutaciones se pueden usar para cada tabla, cada mutación se expone como un procedimiento almacenado.

Los campos LIST se exponen como tablas temporales (tablas GraphQL de tipo TEMPORARY_TABLE). Las tablas temporales detectadas se pueden obtener consultando las tablas del sistema sys_tables y sys_tablecolumns.

Personalizar esquemas

Operaciones detalla el proceso para configurar archivos de esquema personalizados. La configuración de estos archivos de esquema personalizados es un paso necesario para establecer una conexión con los datos de GraphQL.

Tablas de sistema

Consulte Tablas del sistema para consultar los metadatos de la tabla actual.

Procedimientos almacenados

NOTE: Los procedimientos almacenados no se admiten actualmente. Consulte la nota anterior para detalles.

El conector hace uso de Procedimientos almacenados para realizar diversas funciones, como obtener y actualizar tokens de OAuth.

Descubrimiento Automático de Esquemas

De forma predeterminada, el conector leerá automáticamente los metadatos de GraphQL.

Introspección de Esquema

Los servicios de GraphQL ofrecen un servicio de consultar de introspección que el conector puede usar para obtener nombres de vistas y columnas.

Un servicio de consultar de introspección de GraphQL tiene un objeto de consultar en su raíz. Otros objetos están anidados en el objeto de consultar raíz, que a su vez puede tener sus propios objetos anidados.

El conector lee objetos de tipo LIST o Relay Connection como vistas. Si un campo es ESCALAR, se lee como una columna, y si un campo es un OBJETO simple, se expande.

Establezca la profundidad de introspección de los metadatos de la siguiente manera:

  • ExpandTablesDepth: Si se establece en 0, solo se leerá desde el objeto de consultar raíz. En escenarios donde las listas están anidadas en otras listas, configure ExpandTablesDepth al número de capas anidadas de profundidad para escanear.
  • ExpandColumnsDepth: Esto determina cuántas capas más de profundidad (a partir de ExpandTablesDepth) para expandir objetos para incluir campos de sus objetos secundarios anidados.

Usando Mutaciones

El conector buscará automáticamente las mutaciones disponibles. Dado que GraphQL no proporciona ningún método para determinar qué mutaciones se pueden usar para cada tabla, cada mutación se expone como un procedimiento almacenado.

Todos los campos de mutación ESCALAR se exponen directamente y todos los campos de objeto se expanden.

Los campos LIST se exponen como tablas temporales (tablas GraphQL de tipo TEMPORARY_TABLE). Las tablas temporales detectadas se pueden obtener consultando las tablas del sistema sys_tables y sys_tablecolumns. Estas tablas contienen un campo RowId y ParentId para indicar la fila y la tabla principal (principal) de una tabla secundaria determinada.

Un ejemplo de una mutación es productCreate. Invocar mutaciones como un procedimiento almacenado* después de cargar primero las tablas secundarias relevantes necesarias para la operación:

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'

Personalización de Esquemas

Los esquemas personalizados se definen en los archivos de configuración. Este capítulo describe la estructura de estos archivos.
Nota: la propiedad **GenerateSchemaFiles le permite conservar los metadatos de la tabla en archivos de esquema estáticos que son fáciles de personalizar (por ejemplo, para conservar sus cambios en los tipos de datos de columna). Establezca esta propiedad en "OnStart" para generar archivos de esquema para todas las tablas en su base de datos en la conexión. Como alternativa, establezca esta propiedad en "OnUse" para generar esquemas a medida que ejecuta consultas SELECT en tablas. También es posible crear un archivo de esquema específico para una tabla utilizando CreateSchema procedimiento almacenado.**

Edición de Archivos de Esquema

Las tablas y las vistas se definen mediante la creación de archivos de esquema en APIScript. APIScript es un lenguaje de configuración simple que le permite definir las columnas y el comportamiento de la tabla. También tiene Operaciones incorporadas que le permiten procesar GraphQL. Además de estas primitivas de procesamiento de datos, APIScript es un lenguaje completo con construcciones para condicionales, bucles, etc. Sin embargo, como se muestra en el esquema de ejemplo, para la mayoría de las definiciones de tablas no necesitará usar estas funciones.

Esquema de Ejemplo

A continuación se muestra un esquema de tabla totalmente funcional que modela la tabla de etiquetas y contiene todos los componentes que necesitará para ejecutar fuentes de datos de SQL a GraphQL.

Puede encontrar más información sobre cada uno de los componentes de un esquema en Definiciones de columna, SELECCIONAR Ejecución.

<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>

Definiciones de Columna

Los atributos básicos de una columna son el nombre de la columna, el tipo de datos, si la columna es una clave principal, la ruta relativa y la profundidad. El conector usa el atributo de profundidad para extraer nodos de datos jerárquicos.

Marque los atributos de columna en el bloque del archivo de esquema. También puede proporcionar una descripción de cada atributo utilizando la propiedad 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>

Las siguientes secciones brindan más detalles sobre el uso de rutas para extraer columnas y filas. Para ver las definiciones de las columnas en un esquema completo, consulte Personalizar esquemas.

Asignación de Proyección SELECT a Campos GraphQL

Controle el proceso de creación de una ruta de campo de GraphQL con las propiedades que se enumeran a continuación:

  1. El other:possiblePaths la propiedad se usa para especificar las rutas base que seleccionan el valor de la columna.

    Las rutas base comienzan con '/' y contienen la ruta completa al último objeto anidado de 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']}}">
    

    La siguiente consultar de GraphQL se basa en el ejemplo de secuencia de comandos anterior:

    { # base path=/repository/labels/edges/node
      repository {
        labels {
          edges {
            node {
              ...
            }
          }
        }
      }
    }
    
  2. El other:relativePath la propiedad debe especificarse para cada columna. Esta propiedad se usa junto con la propiedad other:possiblePaths para construir la ruta del campo GraphQL.

      <attr   name="Name"  xs:type="string"  other:relativePath="name"  desc="Identifies the label name."    />
    

    Basado en el ejemplo de secuencia de comandos anterior, el conector generará la siguiente consultar GraphQL:

    { # base path=/repository/labels/edges/node
      repository { # depth=1 
        labels { # depth=2
          edges {
            node {
              name # path=base path + relative path.
            }
          }
        }
      }
    }
    
  3. Usa el other:depth propiedad para especificar un elemento dentro de un objeto GraphQL específico. Los índices están basados en 1. Si no se especifica este atributo, el valor predeterminado será igual al último objeto GraphQL anidado.

      <attr   name="RepositoryName"   xs:type="string"  other:relativePath="name"   desc="The name of the repository."  other:depth="1" />
    

    La siguiente consultar de GraphQL se crea a partir del ejemplo de secuencia de comandos anterior:

    { # base path=/repository/labels/edges/node
      repository { # depth=1 
        name # This is mapped to the RepositoryName column
        labels { # depth=2
          edges {
            node {
              ...
            }
          }
        }
      }
    }
    
  4. Usa el other:fragment propiedad para especificar un grupo de campos. Esta propiedad se puede usar cuando el servidor GraphQL devuelve una matriz de objetos y es posible que el conector necesite enviar esta información como un agregado.

      <attr   name="ColumnValues"   xs:type="string"  other:relativePath="column_values"   desc="Column values."  other:fragment="fragment ItemColumnValues on ColumnValue {  ID \r\n value }" />
    

    Basado en el ejemplo de secuencia de comandos anterior, el conector generará la siguiente consultar GraphQL:

    query {
        items {
            column_values {
                ...ItemColumnValues
            }
        }
    }
    fragment ItemColumnValues on ColumnValue {
        id
        value
    }
    
  5. Usa el other:canbesliced la propiedad habilita el comportamiento de corte en el conector

    Por ejemplo,

    SELECT * FROM Table WHERE Col IN ('1','2','3')
    

    se convierte en

    SELECT * FROM Table WHERE Col=1
    SELECT * FROM Table WHERE Col=2
    SELECT * FROM Table WHERE Col=3
    
  6. Usa el other:mirror propiedad para reflejar el valor especificado en los criterios. Úselo en columnas que no están especificadas en la respuesta del servidor.

    Por ejemplo:

    SELECT * FROM Table WHERE Col=X (If other:mirror=true the connector will artificially set the value of Col to X for every row.)
    
  7. Usa references para hacer referencia a la columna clave de la tabla principal. Ejemplo: si hay dos tablas Orders y OrderLineItems y OrderLineItems tiene una columna OrderId, el campo de referencias para esta columna será "Orders.Id".

Notes:

  • Las rutas y los nombres de las columnas (cuando se usan para generar la ruta) distinguen entre mayúsculas y minúsculas.
  • Debe especificarse al menos una ruta posible.
  • El other:relativePath la propiedad debe especificarse para cada columna. De lo contrario, el conector no puede asignar la columna SELECCIONAR a un campo de GraphQL.

SELECCIONAR Ejecución

Cuando se emite una consultar SELECT, el conector ejecuta el método GET del esquema, que invoca las operaciones integradas del conector para procesar GraphQL. En el método GET tienes control sobre la solicitud de datos. Los siguientes procedimientos muestran varias formas de usar esto: buscar datos remotos, del lado del servidor, con SELECCIONAR DONDE o desplegar la paginación.

Procesamiento Colaborativo de Consultas

De forma predeterminada, el conector procesará la consultar del lado del cliente, en la memoria, por lo que URL la propiedad de conexión es todo lo que necesita configurar para ejecutar cualquier instrucción SELECT.

El conector también puede descargar consultas admitidas al servidor mientras procesa el resto de la consultar del lado del cliente. Por ejemplo, una búsqueda del lado del servidor filtra los datos para que el lado del cliente pueda procesar un conjunto de datos más pequeño. Consulte la documentación para SupportEnhancedSQL propiedad para obtener más información sobre la función de procesamiento colaborativo de consultar. Puede ampliar la secuencia de comandos resultante para agregar compatibilidad con el procesamiento de solicitudes del lado del servidor.

Asignación de Criterios SELECT a Argumentos de GraphQL

Las siguientes secciones muestran cómo traducir una instrucción SELECT WHERE en una consultar de GraphQL a las APIs de GraphQL. El procedimiento utiliza la siguiente declaración:

SELECT *
FROM <table> 
WHERE ModifiedAt<'2019-10-30 05:05:36.001'

Si este filtro es compatible con el servidor mediante parámetros de consultar, puede utilizar la propiedad other:filter de la definición de columna api:info para especificar la asignación deseada. Para la consultar anterior, el conector usará esta propiedad para asignar el modificadoAt < '<fecha>' filtro al parámetro de consultar que devuelve resultados que se modificaron antes de una fecha determinada, y el modifedAt > '<fecha>' filter al parámetro de consultar que filtra los resultados que se modificaron después.

  • other:filter es una lista separada por punto y coma de <nombre del parámetro>:<lista de operadores>. <nombre del parámetro> es el nombre del parámetro de consultar y <lista de operadores> es una lista separada por comas de los operadores utilizados para la asignación. Los operadores válidos son <, <=, =, > y >=.
  • other:argumentType es una información adicional requerida. Debe contener el tipo de argumento basado en el lenguaje de tipo de esquema GraphQL.

Para realizar esta asignación, el conector usaría el siguiente marcado para la definición de la columna 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 da como resultado los siguientes datos posteriores:

{
    "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 Ruta

Existen servicios de GraphQL en los que el argumento de GraphQL no es suficiente para procesar el ID del conjunto de informes del servidor de filtro (RSID) e. La ruta debe ser cambiada. Para usar correctamente un filtro de ruta, debe completar los siguientes pasos:

  1. Agregue la ruta al other:possiblePaths información adicional y mapéela con el nombre de la columna que desea filtrar.

    Ej: otro:possiblepaths="{'path':'/businesses/edges/node','id':{'path':'/business'}}"

  2. Set the otro: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

SELECCIONE Id, Nombre, Creado en DE Empresas DONDE Id = 'QnVzaW5M6ZTY4ZDA2MmQtYzkzZS00MGZkLTk4YWUtNDg2YzcxMmExNzFl'

will be converted to the postdata:

{
    "variables": {
        "Id_id": "QnVzaW5M6ZTY4ZDA2MmQtYzkzZS00MGZkLTk4YWUtNDg2YzcxMmExNzFl"
    },
    "consultar": "consultar($Id_id:ID) {\r\nnegocio(id:$Id_id) {\r\nid\r\nname\r\ncreatedAt\r\n}\r\n} \r\n"
}
Paginación

El controlador admite dos modos de paginación.

  • Cursor

    other:paginationObjects = "{
        'labels': {
            'cursorName': 'after',
            'pageSizeArgumentName': 'first',
            'paginationType': 'Cursor',
            'isConnection': 'True',
            'pageInfo': ['endCursor', 'hasNextPage', 'hasPreviousPage', 'startCursor']
        }
    }"
    

    Los siguientes datos posteriores se generarán después de procesar el other:paginationObjects información adicional de la tabla especificada anteriormente:

    {
        "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']
        }
    }"
    

    Los siguientes datos posteriores se generarán después de procesar el other:paginationObjects información adicional de la tabla especificada anteriormente:

    {
        "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"
    }
    
Procesar Otras Declaraciones SELECT del Lado del Servidor
ORDENAR POR

Puede ordenar el ID del conjunto de informes del servidor de resultados (RSID)e si el servicio GraphQL lo admite especificando las siguientes propiedades:

  • El other:orderByFormat se puede especificar en la definición de la tabla o en la definición de la columna.

    <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="{campo: {orderByArgumentValue}, dirección: {sortOrder}}" other:orderBy="orderBy:CREATED_AT" />
    
  • El other:orderBy debe especificarse solo en la definición de la columna. El formato de esta propiedad es <orderByArgumentName>:<orderByArgumentValue>

    <attr name="CreatedAt" xs:type="datetime" other:relativePath="createdAt"  other:orderBy="orderBy:CREATED_AT" />
    

Después de completar estos pasos, la siguiente consultar SQL

SELECT ID FROM Labels ORDER BY CreatedAt ASC

se convertirá a los datos posteriores:

{
    "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"

}

Operaciones

El conector tiene operaciones de alto rendimiento para procesar fuentes de datos GraphQL. Estas operaciones son independientes de la plataforma: los archivos de esquema que invocan estas operaciones se pueden usar tanto en .NET como en Java. También puede ampliar el conector con sus propias operaciones escritas en .NET o Java.

El conector tiene las siguientes operaciones:

Nombre de la operación Descripción
OAuthGetAccessToken Para OAuth 1.0, intercambie un token de solicitud por un token de acceso. Para OAuth 2.0, obtenga un token de acceso u obtenga un nuevo token de acceso con el token de actualización.
OAuthGetUserAuthorizationURL Genera la URL de autorización del usuario. OAuth 2.0 no accederá a la red en esta operación.
OAuthGetAccessTokenOAuthGetAccessToken

El OAuthGetAccessToken es una operación de APIScript que se utiliza para facilitar los flujos de autenticación y actualización de OAuth.

El conector incluye procedimientos almacenados* que invocan esta operación para completar el intercambio OAuth. El siguiente esquema de ejemplo enumera brevemente algunas de las entradas típicamente requeridas antes de que las siguientes secciones las expliquen con más detalle.

Para obtener una guía sobre el uso del conector para la autenticación, consulte Uso de la autenticación OAuth capítulo.

Creación de un Procedimiento Almacenado GetOAuthAccessToken

Invoque el OAuthGetAccessToken con el procedimiento almacenado GetOAuthAccessToken. Las siguientes entradas son necesarias para la mayoría de las fuentes de datos y proporcionarán valores predeterminados para las propiedades de conexión del mismo nombre.

<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>
Escribir el Procedimiento Almacenado RefreshOAuthAccessToken

También puede usar OAuthGetAccessToken para actualizar el token de acceso proporcionando las siguientes 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: La versión OAuth. Los valores permitidos son 1.0, 2.0. El valor predeterminado es 1,0.
  • AuthMode: El flujo de OAuth. Solo OAuth 2.0. Si elige el modo de aplicación, esta operación iniciará su navegador y le pedirá que se autentique con las credenciales de su cuenta. Establezca este parámetro en WEB para autenticar una aplicación web o si el conector no puede abrir un navegador web. El valor predeterminado es APLICACIÓN.
  • OAuthRequestTokenURL: la URL donde el conector realiza una solicitud del token de solicitud. Solo OAuth 1.0. Requerido para OAuth 1.0.
  • OAuthAuthorizationURL: La URL donde el usuario inicia sesión en el servicio y otorga permisos a la aplicación. En OAuth 1.0, si se otorgan permisos, se autoriza el token de solicitud.
  • OAuthAccessTokenURL: La URL donde se realiza la solicitud del token de acceso. En OAuth 1.0, el token de solicitud autorizado se intercambia por el token de acceso.
  • CallbackURL: la URL que se utilizará como URL de redirección de confianza, donde el usuario regresará con el token que verifica que le ha otorgado acceso a su aplicación. Este valor debe coincidir con la URL de devolución de llamada que especifica cuando registra una aplicación. Tenga en cuenta que su fuente de datos puede requerir adicionalmente el puerto.
  • OAuthClientId: El ID de cliente obtenido al registrar una aplicación. También llamada clave de consumidor.
  • OAuthClientSecret: El secreto del cliente obtenido al registrar una aplicación. También llamado secreto del consumidor.
  • OAuthAccessToken: El token de solicitud. Solo OAuth 1.0.
  • OAuthAccessTokenSecret: El secreto del token de solicitud. Solo OAuth 1.0.
  • OAuthRefreshToken: Un token que puede usarse para obtener un nuevo token de acceso.
  • GrantType: Tipo de concesión de autorización. Solo OAuth 2.0. Los valores permitidos son CÓDIGO, CONTRASEÑA, CLIENTE, ACTUALIZAR. El valor predeterminado es CÓDIGO.
  • Verifier: El código verificador obtenido cuando el usuario otorga permisos al conector. En el tipo de concesión de código OAuth 2.0, el código del verificador se encuentra en el parámetro de cadena de consultar de código de la URL de devolución de llamada. En OAuth 1.0, el verificador se encuentra en el parámetro de cadena de consultar oauth_verifier de la URL de devolución de llamada.
  • SignMethod: el método de firma utilizado para calcular la firma para OAuth 1.0. Los valores permitidos son HMAC-SHA1, PLAINTEXT. El valor predeterminado es HMAC-SHA1.
  • Cert: Ruta del archivo de certificado personal PFX. Solo OAuth 1.0.
  • CertPassword: Contraseña del certificado personal. Solo OAuth 1.0.
  • OtherOptions: Otras opciones para controlar el comportamiento de OAuth.
  • OAuthParam:\: Otros parámetros.
  • PostData: Los datos HTTP POST.
  • Timeout: El tiempo de espera, en segundos, para que se complete la operación. Cero (0) significa que no hay tiempo de espera. El valor predeterminado es 60.
  • LogFile: especifica un archivo donde se registran la solicitud y la respuesta.
  • Proxy_Auto: si el proxy debe detectarse o no desde la configuración del sistema de Windows. Esto tiene prioridad sobre otras configuraciones de proxy y no está disponible en Java. Los valores permitidos son VERDADERO, FALSO. El valor predeterminado es FALSO.
  • Proxy_Server: dirección IP o nombre de alojar del servidor proxy utilizado para la solicitud.
  • Proxy_Port: El número de puerto del servidor proxy.
  • Proxy_User: El ID de usuario utilizado para autenticarse con el servidor proxy.
  • Proxy_Password: La contraseña utilizada para autenticarse con el servidor proxy.
  • Proxy_AuthScheme: El esquema de autenticación del servidor proxy. Los valores permitidos son BASIC, DIGEST, PROPRIETARY, NONE, NTLM. El valor predeterminado es BÁSICO.
  • Proxy_AuthToken: el token de autenticación del proxy.
  • Proxy_SSLType: El tipo de SSL del servidor proxy. Los valores permitidos son AUTO, SIEMPRE, NUNCA, TÚNEL. El valor predeterminado es AUTO.
  • Firewall_Type: El tipo de firewall. Los valores permitidos son NINGUNO, TÚNEL, CALCETINES4, CALCETINES5. El valor predeterminado es NINGUNO.
  • Firewall_Server: La dirección IP o el nombre de alojar del firewall.
  • Firewall_Port: El número de puerto del firewall.
  • Firewall_User: El ID de usuario utilizado para autenticarse con el firewall.
  • Firewall_Password: La contraseña utilizada para autenticarse con el firewall.
Parámetros de Salida
  • OAuthAccessToken: El token de acceso.
  • OAuthTokenSecret: El secreto del token de acceso.
  • OAuthRefreshToken: Un token que puede usarse para obtener un nuevo token de acceso.
  • ExpiresIn: El tiempo de vida restante en el token de acceso.
  • OAuthParam:\: Otros parámetros enviados desde el servidor.
OAuthGetUserAuthorizationURL

El OAuthGetUserAuthorizationURL es una operación de APIScript que se usa para facilitar el flujo de autenticación de OAuth para aplicaciones web, para aplicaciones sin conexión y en situaciones en las que el conector no puede abrir un navegador web. Para pasar las entradas necesarias a esta operación, defina el procedimiento almacenado GetOAuthAuthorizationURL. El conector puede llamar a esto internamente.

Definir procedimientos almacenados* en archivos .rsb con el mismo nombre de archivo que el título del esquema. El esquema de ejemplo enumera brevemente algunas de las entradas normalmente requeridas antes de que las siguientes secciones las expliquen con más detalle.

Para obtener una guía sobre la autenticación en el flujo de OAuth, consulte Uso de la autenticación de OAuth capítulo.

Escribir el Procedimiento Almacenado GetOAuthAuthorizationURL

Llame a OAuthGetUserAuthorizationURL en el procedimiento almacenado 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: La versión OAuth. Los valores permitidos son 1.0, 2.0. El valor predeterminado es 1,0.
  • OAuthAuthorizationURL: La URL donde el usuario inicia sesión en el servicio y otorga permisos a la aplicación. En OAuth 1.0, si se otorgan permisos, se autoriza el token de solicitud.
  • OAuthRequestTokenURL: la URL donde el conector realiza una solicitud del token de solicitud. Solo OAuth 1.0. Requerido para OAuth 1.0.
  • CallbackURL: la URL que se utilizará como URL de redirección de confianza, donde el usuario regresará con el token que verifica que le ha otorgado acceso a su aplicación. Este valor debe coincidir con la URL de devolución de llamada que especifica cuando registra una aplicación. Tenga en cuenta que su fuente de datos puede requerir adicionalmente el puerto. El valor predeterminado es http://127.0.0.1/.
  • OAuthClientId: El ID del cliente. También llamada clave de consumidor.
  • OAuthClientSecret: El secreto del cliente. También llamado secreto del consumidor.
  • ResponseType: El tipo de concesión de autorización deseada. Solo OAuth 2.0. Los valores permitidos son CÓDIGO, IMPLÍCITO. El valor predeterminado es CÓDIGO.
  • SignMethod: el método de firma utilizado para calcular la firma para OAuth 1.0. Los valores permitidos son HMAC-SHA1, RSA-SHA1, PLAINTEXT. El valor predeterminado es HMAC-SHA1.
  • Cert: Ruta del archivo PFX del certificado personal. Solo OAuth 1.0.
  • CertPassword: Contraseña del certificado personal. Solo OAuth 1.0.
  • OtherOptions: Otras opciones para controlar el comportamiento de OAuth.
  • OAuthParam:\: Otros parámetros. Solo OAuth 1.0.
  • Timeout: El tiempo de espera, en segundos, para que se complete la operación. Cero (0) significa que no hay tiempo de espera. El valor predeterminado es 60.
  • Proxy_Auto: si el proxy debe detectarse o no desde la configuración del sistema de Windows. Esto tiene prioridad sobre otras configuraciones de proxy y no está disponible en Java. Los valores permitidos son VERDADERO, FALSO. El valor predeterminado es FALSO.
  • Proxy_Server: dirección IP o nombre de alojar del servidor proxy utilizado para la solicitud.
  • Proxy_Port: El número de puerto del servidor proxy.
  • Proxy_User: El ID de usuario utilizado para autenticarse con el servidor proxy.
  • Proxy_Password: La contraseña utilizada para autenticarse con el servidor proxy.
  • Proxy_AuthScheme: El esquema de autenticación del servidor proxy. Los valores permitidos son BASIC, DIGEST, PROPRIETARY, NONE, NTLM. El valor predeterminado es BÁSICO.
  • Proxy_AuthToken: el token de autenticación del proxy.
  • Proxy_SSLType: El tipo de SSL del servidor proxy. Los valores permitidos son AUTO, SIEMPRE, NUNCA, TÚNEL. El valor predeterminado es AUTO.
  • Firewall_Type: El tipo de firewall. Los valores permitidos son NINGUNO, TÚNEL, CALCETINES4, CALCETINES5. El valor predeterminado es NINGUNO.
  • Firewall_Server: La dirección IP o el nombre de alojar del firewall.
  • Firewall_Port: El número de puerto del firewall.
  • Firewall_User: El ID de usuario utilizado para autenticarse con el firewall.
  • Firewall_Password: La contraseña utilizada para autenticarse con el firewall.
Parámetros de Salida
  • URL: la URL en la que el usuario inicia sesión y se le solicita que conceda permisos a la aplicación. En OAuth 1.0, si se otorgan permisos, se autoriza el token de solicitud.
  • OAuthAccessToken: El token de solicitud. Solo OAuth 1.0.
  • OAuthTokenSecret: El secreto del token de solicitud. Solo OAuth 1.0.
  • OAuthParam:\: Otros parámetros enviados desde el servidor. Solo OAuth 1.0.

Tablas del Sistema

Puede consultar las tablas del sistema que se describen en esta sección para acceder a la información del esquema, la información sobre la funcionalidad del origen de datos y las estadísticas de operación lote.

Tablas de Esquema

Las siguientes tablas devuelven metadatos de la base de datos para GraphQL:

Tablas de Fuentes de Datos

Las siguientes tablas devuelven información sobre cómo conectarse y consultar la fuente de datos:

  • sys_connection_props: Devuelve información sobre las propiedades de conexión disponibles.
  • sys_sqlinfo: describe las consultas SELECT que el conector puede descargar al origen de datos.

Tablas de Información de Consulta

La siguiente tabla devuelve estadísticas de consultar para consultas de modificación de datos:

  • identidad_sys: devuelve información sobre operaciones lote o actualizaciones individuales.

Sys_catalogs

Enumera las bases de datos disponibles.

La siguiente consultar recupera todas las bases de datos determinadas por la cadena de conexión:

SELECT * FROM sys_catalogs
Columnas
Nombre Tipo Descripción
CatalogName String El nombre de la base de datos.

Sys_schemas

Enumera los esquemas disponibles.

La siguiente consultar recupera todos los esquemas disponibles:

SELECT * FROM sys_schemas
Columnas
Nombre Tipo Descripción
CatalogName String El nombre de la base de datos.
SchemaName String El nombre del esquema.

Sys_tables

Enumera las tablas disponibles.

La siguiente consultar recupera las tablas y vistas disponibles:

SELECT * FROM sys_tables
Columnas
Nombre Tipo Descripción
CatalogName String La base de datos que contiene la tabla o vista.
SchemaName String El esquema que contiene la tabla o vista.
TableName String El nombre de la tabla o vista.
TableType String El tipo de tabla (tabla o vista).
Description String Una descripción de la tabla o vista.
IsUpdateable Boolean Si la tabla se puede actualizar.

Sys_tablecolumns

Describe las columnas de las tablas y vistas disponibles.

La siguiente consultar devuelve las columnas y los tipos de datos de la tabla Usuarios:

SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='Users' 
Columnas
Nombre Tipo Descripción
CatalogName String El nombre de la base de datos que contiene la tabla o vista.
SchemaName String El esquema que contiene la tabla o vista.
TableName String El nombre de la tabla o vista que contiene la columna.
ColumnName String El nombre de la columna.
DataTypeName String El nombre del tipo de datos.
DataType Int32 Un número entero que indica el tipo de datos. Este valor se determina en tiempo de ejecución en función del ambiente.
Length Int32 El tamaño de almacenamiento de la columna.
DisplaySize Int32 El ancho máximo normal de la columna designada en caracteres.
NumericPrecision Int32 El número máximo de dígitos en datos numéricos. La longitud de la columna en caracteres para datos de carácter y fecha y hora.
NumericScale Int32 La escala de columna o número de dígitos a la derecha del punto decimal.
IsNullable Boolean Si la columna puede contener nulo.
Description String Una breve descripción de la columna.
Ordinal Int32 El número de secuencia de la columna.
IsAutoIncrement String Si el valor de la columna se asigna en incrementos fijos.
IsGeneratedColumn String Si se genera la columna.
IsHidden Boolean Si la columna está oculta.
IsArray Boolean Si la columna es una matriz.

Sys_procedimientos

Enumera los procedimientos almacenados disponibles.

La siguiente consultar recupera los procedimientos almacenados disponibles:

SELECT * FROM sys_procedures
Columnas
Nombre Tipo Descripción
CatalogName String La base de datos que contiene el procedimiento almacenado.
SchemaName String El esquema que contiene el procedimiento almacenado.
ProcedureName String El nombre del procedimiento almacenado.
Description String Una descripción del procedimiento almacenado.
ProcedureType String El tipo de procedimiento, como PROCEDIMIENTO o FUNCIÓN.

Sys_procedureparameters

Describe procedimiento almacenado* parámetros.

La siguiente consultar devuelve información sobre todos los parámetros de entrada para el procedimiento almacenado SelectEntries:

SELECT * FROM sys_procedureparameters WHERE ProcedureName='SelectEntries' AND Direction=1 OR Direction=2
Columnas
Nombre Tipo Descripción
CatalogName String El nombre de la base de datos que contiene el procedimiento almacenado.
SchemaName String El nombre del esquema que contiene el procedimiento almacenado.
ProcedureName String El nombre del procedimiento almacenado* que contiene el parámetro.
ColumnName String El nombre del procedimiento almacenado* parámetro.
Direction Int32 Un número entero correspondiente al tipo de parámetro: entrada (1), entrada/salida (2) o salida (4). Los parámetros de tipo de entrada/salida pueden ser tanto parámetros de entrada como de salida.
DataTypeName String El nombre del tipo de datos.
DataType Int32 Un número entero que indica el tipo de datos. Este valor se determina en tiempo de ejecución en función del ambiente.
Length Int32 El número de caracteres permitidos para los datos de caracteres. El número de dígitos permitidos para datos numéricos.
NumericPrecision Int32 La máxima precisión para datos numéricos. La longitud de la columna en caracteres para datos de carácter y fecha y hora.
NumericScale Int32 El número de dígitos a la derecha del punto decimal en datos numéricos.
IsNullable Boolean Si el parámetro puede contener nulo.
IsRequired Boolean Si el parámetro es necesario para la ejecución del procedimiento.
IsArray Boolean Si el parámetro es una matriz.
Description String La descripción del parámetro.
Ordinal Int32 El índice del parámetro.

Sys_keycolumns

Describe las claves primarias y foráneas. La siguiente consultar recupera la clave principal de la tabla Usuarios:

SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Users'
Columnas
Nombre Tipo Descripción
CatalogName String El nombre de la base de datos que contiene la clave.
SchemaName String El nombre del esquema que contiene la clave.
TableName String El nombre de la tabla que contiene la clave.
ColumnName String El nombre de la columna clave.
IsKey Boolean Si la columna es una clave principal en la tabla a la que se hace referencia en el campo TableName.
IsForeignKey Boolean Si la columna es una clave externa a la que se hace referencia en el campo TableName.
PrimaryKeyName String El nombre de la clave principal.
ForeignKeyName String El nombre de la clave foránea.
ReferencedCatalogName String La base de datos que contiene la clave principal.
ReferencedSchemaName String El esquema que contiene la clave principal.
ReferencedTableName String La tabla que contiene la clave principal.
ReferencedColumnName String El nombre de la columna de la clave principal.

Sys_foreignkeys

Describe las claves foráneas. La siguiente consultar recupera todas las claves foráneas que hacen referencia a otras tablas:

SELECT * FROM sys_foreignkeys WHERE ForeignKeyType = 'FOREIGNKEY_TYPE_IMPORT'
Columnas
Nombre Tipo Descripción
CatalogName String El nombre de la base de datos que contiene la clave.
SchemaName String El nombre del esquema que contiene la clave.
TableName String El nombre de la tabla que contiene la clave.
ColumnName String El nombre de la columna clave.
PrimaryKeyName String El nombre de la clave principal.
ForeignKeyName String El nombre de la clave foránea.
ReferencedCatalogName String La base de datos que contiene la clave principal.
ReferencedSchemaName String El esquema que contiene la clave principal.
ReferencedTableName String La tabla que contiene la clave principal.
ReferencedColumnName String El nombre de la columna de la clave principal.
ForeignKeyType String Designa si la clave externa es una clave de importación (apunta a otras tablas) o de exportación (hace referencia desde otras tablas).

Sys_indexes

Describe los índices disponibles. Al filtrar en los índices, puede escribir consultas más selectivas con tiempos de respuesta de consultar más rápidos.

La siguiente consultar recupera todos los índices que no son claves principales:

SELECT * FROM sys_indexes WHERE IsPrimary='false'
Columnas
Nombre Tipo Descripción
CatalogName String El nombre de la base de datos que contiene el índice.
SchemaName String El nombre del esquema que contiene el índice.
TableName String El nombre de la tabla que contiene el índice.
IndexName String El nombre del índice.
ColumnName String El nombre de la columna asociada con el índice.
IsUnique Boolean True si el índice es único. Falso en caso contrario.
IsPrimary Boolean True si el índice es una clave principal. Falso en caso contrario.
Type Int16 Un valor entero correspondiente al tipo de índice: estadística (0), agrupado (1), hash (2) u otro (3).
SortOrder String El orden de clasificación: A para ascender o D para descender.
OrdinalPosition Int16 El número de secuencia de la columna en el índice.

Sys_connection_props

Devuelve información sobre las propiedades de conexión disponibles y las establecidas en la cadena de conexión.

Al consultar esta tabla, se debe usar la cadena de conexión de configuración:

jdbc:cdata:graphql:config:

Esta cadena de conexión le permite consultar esta tabla sin una conexión válida.

La siguiente consultar recupera todas las propiedades de conexión que se han establecido en la cadena de conexión o se han establecido a través de un valor predeterminado:

SELECT * FROM sys_connection_props WHERE Value <> ''
Columnas
Nombre Tipo Descripción
Name String El nombre de la propiedad de conexión.
ShortDescription String Una breve descripción.
Type String El tipo de datos de la propiedad de conexión.
Default String El valor predeterminado si no se establece uno explícitamente.
Values String Una lista separada por comas de valores posibles. Se lanza un error de validación si se especifica otro valor.
Value String El valor que establezca o un valor predeterminado preconfigurado.
Required Boolean Si la propiedad es necesaria para conectarse.
Category String La categoría de la propiedad de conexión.
IsSessionProperty String Si la propiedad es una propiedad de sesión, utilizada para guardar información sobre la conexión actual.
Sensitivity String El nivel de sensibilidad de la propiedad. Esto informa si la propiedad está ofuscada en los formularios de registro y autenticación.
PropertyName String Una forma truncada en mayúsculas y minúsculas del nombre de la propiedad de conexión.
Ordinal Int32 El índice del parámetro.
CatOrdinal Int32 El índice de la categoría de parámetro.
Hierarchy String Muestra las propiedades dependientes asociadas que deben configurarse junto con esta.
Visible Boolean Informa si la propiedad está visible en la interfaz de usuario de la conexión.
ETC String Diversa información miscelánea sobre la propiedad.

Sys_sqlinfo

Describe el procesamiento de consultar SELECT que el conector puede descargar al origen de datos.

Procesamiento Colaborativo de Consultas

Al trabajar con fuentes de datos que no admiten SQL-92, puede consultar la vista sys_sqlinfo para determinar las capacidades de consultar de las APIs subyacentes, expresadas en sintaxis SQL. El conector descarga la mayor cantidad posible del procesamiento de sentencias SELECT al servidor y luego procesa el resto de la consultar en la memoria.

Descubrimiento de las Capacidades SELECT de la Fuente de Datos

A continuación se muestra un conjunto de datos de ejemplo de las capacidades de SQL. El siguiente conjunto de resultados indica la funcionalidad SELECT que el conector puede descargar en el origen de datos o en el lado del cliente del proceso. Su fuente de datos puede admitir sintaxis SQL adicional. Algunos aspectos de la funcionalidad SELECT se devuelven en una lista separada por comas si es compatible; de lo contrario, la columna contiene NO.

Nombre Descripción Valores posibles
AGGREGATE_FUNCTIONS Funciones de agregación admitidas. AVG, COUNT, MAX, MIN, SUM, DISTINCT
COUNT Si se admite la función COUNT. YES, NO
IDENTIFIER_QUOTE_OPEN_CHAR El carácter de apertura utilizado para escapar de un identificador. [
IDENTIFIER_QUOTE_CLOSE_CHAR El carácter de cierre utilizado para escapar de un identificador. ]
SUPPORTED_OPERATORS Una lista de operadores de SQL admitidos. =, >, <, >=, <=, <>, !=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL, AND, OR
GROUP_BY Si se admite GROUP BY y, de ser así, el grado de compatibilidad. NO, NO_RELATION, EQUALS_SELECT, SQL_GB_COLLATE
STRING_FUNCTIONS Funciones de cadena admitidas. 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 Funciones numéricas compatibles. 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 Funciones de fecha/hora admitidas. 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 tablas omitidas durante la replicación.
REPLICATION_TIMECHECK_COLUMNS Una matriz de cadenas que contiene una lista de columnas que se usarán para verificar (en el orden dado) para usar como una columna modificada durante la replicación.
IDENTIFIER_PATTERN Valor de cadena que indica qué cadena es válida para un identificador.
SUPPORT_TRANSACTION Indica si el proveedor admite transacciones como compromiso y reversión. YES, NO
DIALECT Indica el dialecto SQL a usar.
KEY_PROPERTIES Indica las propiedades que identifican la base de datos uniforme.
SUPPORTS_MULTIPLE_SCHEMAS Indica si pueden existir varios esquemas para el proveedor. YES, NO
SUPPORTS_MULTIPLE_CATALOGS Indica si pueden existir varios catálogos para el proveedor. YES, NO
DATASYNCVERSION La versión de sincronización de datos necesaria para acceder a este controlador. Standard, Starter, Professional, Enterprise
DATASYNCCATEGORY La categoría Sincronización de datos de este controlador. Source, Destination, Cloud Destination
SUPPORTSENHANCEDSQL Si se admite la funcionalidad de SQL mejorada más allá de lo que ofrece la API. TRUE, FALSE
SUPPORTS_BATCH_OPERATIONS Si se admiten las operaciones lote. YES, NO
SQL_CAP Todas las funciones de SQL admitidas para este controlador. 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 Un valor de cadena especifica las cacheOptions preferidas.
ENABLE_EF_ADVANCED_QUERY Indica si el controlador admite directamente consultas avanzadas provenientes de Entity Framework. De lo contrario, las consultas se manejarán del lado del cliente. YES, NO
PSEUDO_COLUMNS Una matriz de cadenas que indica las pseudocolumnas disponibles.
MERGE_ALWAYS Si el valor es verdadero, el modo de combinación se ejecuta a la fuerza en la sincronización de datos. TRUE, FALSE
REPLICATION_MIN_DATE_QUERY Una consultar de selección para devolver la fecha y hora de inicio de la réplica.
REPLICATION_MIN_FUNCTION Permite que un proveedor especifique el nombre de la fórmula que se usará para ejecutar un min del lado del servidor.
REPLICATION_START_DATE Permite que un proveedor especifique una fecha de inicio de réplica.
REPLICATION_MAX_DATE_QUERY Una consultar de selección para devolver la fecha y hora de finalización de la réplica.
REPLICATION_MAX_FUNCTION Permite que un proveedor especifique el nombre de la fórmula que se usará para ejecutar un máx. del lado del servidor.
IGNORE_INTERVALS_ON_INITIAL_REPLICATE Una lista de tablas que omitirán dividir la réplica en fragmentos en la réplica inicial.
CHECKCACHE_USE_PARENTID Indica si la instrucción CheckCache debe realizarse en la columna de clave principal. TRUE, FALSE
CREATE_SCHEMA_PROCEDURES Indica procedimientos almacenados* que se puede utilizar para generar archivos de esquema.

La siguiente consultar recupera los operadores que se pueden usar en la cláusula WHERE:

SELECT * FROM sys_sqlinfo WHERE Name='SUPPORTED_OPERATORS'

Tenga en cuenta que las tablas individuales pueden tener diferentes limitaciones o requisitos en la cláusula WHERE; consulte el Modelo de datos para obtener más información.

Columnas
Nombre Tipo Descripción
NAME String Un componente de la sintaxis SQL o una capacidad que se puede procesar en el servidor.
VALUE String Detalles sobre el SQL o la sintaxis de SQL admitidos.

Sys_identidad

Devuelve información sobre los intentos de modificación.

La siguiente consultar recupera los Id. de las filas modificadas en una operación lote:

SELECT * FROM sys_identity
Columnas
Nombre Tipo Descripción
Id String El ID generado por la base de datos devuelto de una operación de modificación de datos.
Batch String Un identificador para el lote. 1 para una sola operación.
Operation String El resultado de la operación en el lote: INSERTADO, ACTUALIZADO o ELIMINADO.
Message String ÉXITO o un mensaje de error si falla la actualización en el lote.

Procedimientos Almacenados

Procedimientos almacenados* están disponibles para complementar los datos disponibles del Modelo de datos. Puede ser necesario actualizar los datos disponibles desde una vista usando un procedimiento almacenado* porque los datos no proporcionan actualizaciones bidireccionales directas, similares a tablas. En estas situaciones, la recuperación de los datos se realiza utilizando la vista o tabla adecuada, mientras que la actualización se realiza llamando a un procedimiento almacenado. Procedimientos almacenados* toman una lista de parámetros y devuelven un conjunto de datos que contiene la colección de tuplas que constituyen la respuesta.

Conector Jitterbit para Procedimientos Almacenados de GraphQL

Nombre Descripción
CreateSchema Crea un archivo de esquema para la tabla o vista especificada.
GetOAuthAccessToken Obtiene el token de acceso de OAuth que se utilizará para la autenticación con orígenes de datos mediante OAuth.
GetOAuthAuthorizationURL Obtiene la URL de autorización de OAuth utilizada para la autenticación con orígenes de datos mediante OAuth.
RefreshOAuthAccessToken Intercambia un token de actualización por un nuevo token de acceso.

CrearEsquema

Crea un archivo de esquema para la tabla o vista especificada.

Aporte
Nombre Tipo Descripción
TableName String El nombre de la tabla o vista.
FileName String La ruta completa del archivo y el nombre del esquema a generar. Ej: 'C:\Users\User\Desktop\ GraphQL\Businesses.rsd'
Columnas del Conjunto de Resultados
Nombre Tipo Descripción
Result String Devuelve éxito o fracaso.

Obtener Token de Acceso de OAuth

Obtiene el token de acceso de OAuth que se utilizará para la autenticación con orígenes de datos mediante OAuth.

Aporte
Nombre Tipo Descripción
Other_Options String Otras opciones para controlar el comportamiento de OAuth.
Cert String Ruta para un archivo .pfx de certificado personal. Solo disponible para OAuth 1.0.
Cert_Password String Contraseña del certificado personal. Solo disponible para OAuth 1.0.
AuthToken String El token de solicitud devuelto por GetOAuthAuthorizationUrl. Disponible solo para OAuth 1.0.
AuthKey String La clave secreta de solicitud devuelta por GetOAuthAuthorizationUrl. Disponible solo para OAuth 1.0.
AuthSecret String El nombre heredado de AuthKey, incluido por motivos de compatibilidad.
Sign_Method String El método de firma utilizado para calcular la firma para OAuth 1.0. Los valores permitidos son HMAC-SHA1, PLAINTEXT. El valor predeterminado es HMAC-SHA1.
GrantType String Tipo de concesión de autorización. Solo disponible para OAuth 2.0. Los valores permitidos son CÓDIGO, CONTRASEÑA, CLIENTE, ACTUALIZAR.
Post_Data String Los datos de la publicación a enviar, si corresponde.
AuthMode String El tipo de modo de autenticación a utilizar. Los valores permitidos son APP, WEB. El valor predeterminado es WEB.
Verifier String El código verificador devuelto por la fuente de datos después de que se haya otorgado el permiso para que la aplicación se conecte. Modo de autenticación WEB únicamente.
Scope String El ámbito de acceso a las APIs. De forma predeterminada, se especificará el acceso a todas las APIs utilizadas por este proveedor de datos.
CallbackURL String Este campo determina dónde se envía la respuesta.
ApprovalPrompt String Este campo indica si se debe volver a solicitar el consentimiento del usuario. El valor predeterminado es AUTO, por lo que un usuario determinado solo debería ver la página de consentimiento para un conjunto determinado de ámbitos la primera vez que pasa por la secuencia. Si se establece en FORCE, entonces el usuario ve una página de consentimiento incluso si previamente ha dado su consentimiento a su aplicación para un conjunto determinado de ámbitos.
AccessType String Este campo indica si su aplicación necesita acceder a una API de Google cuando el usuario no está presente en el navegador. Este parámetro está predeterminado en LÍNEA. Si su aplicación necesita actualizar los tokens de acceso cuando el usuario no está presente en el navegador, use OFFLINE. Esto hará que su aplicación obtenga un token de actualización la primera vez que intercambie un código de autorización para un usuario.
State String Este campo indica cualquier estado que pueda ser de utilidad para su solicitud al recibir la respuesta. Su aplicación recibe el mismo valor que envió, ya que este parámetro realiza un viaje de ida y vuelta al servidor de autorización de Google y viceversa. Los usos incluyen redirigir al usuario al recurso correcto en su sitio, usar nonces y mitigar la falsificación de solicitudes entre sitios.
Columnas del Conjunto de Resultados
Nombre Tipo Descripción
OAuthAccessToken String El token de autenticación devuelto por Google. Esto se puede usar en llamadas posteriores a otras operaciones para este servicio en particular.
OAuthAccessTokenSecret String El secreto del token de acceso de OAuth.
OAuthRefreshToken String Un token que puede usarse para obtener un nuevo token de acceso.
ExpiresIn String El tiempo de vida restante en el token de acceso.
\* String Otras salidas que puede devolver la fuente de datos.

Obtener URL de Autorización de OAuth

Obtiene la URL de autorización de OAuth utilizada para la autenticación con orígenes de datos mediante OAuth.

Aporte
Nombre Tipo Descripción
Cert String Ruta para un archivo .pfx de certificado personal. Solo disponible para OAuth 1.0.
Cert_Password String Contraseña del certificado personal. Solo disponible para OAuth 1.0.
Sign_Method String El método de firma utilizado para calcular la firma para OAuth 1.0. Los valores permitidos son HMAC-SHA1, PLAINTEXT. El valor predeterminado es HMAC-SHA1.
Scope String El ámbito de acceso a las APIs. De forma predeterminada, se especificará el acceso a todas las APIs utilizadas por este proveedor de datos.
CallbackURL String La URL a la que se redirigirá al usuario después de autorizar su aplicación.
ApprovalPrompt String Este campo indica si se debe volver a solicitar el consentimiento del usuario. El valor predeterminado es AUTO, por lo que un usuario determinado solo debería ver la página de consentimiento para un conjunto determinado de ámbitos la primera vez que pasa por la secuencia. Si el valor es FORCE, entonces el usuario ve una página de consentimiento incluso si previamente ha dado su consentimiento a su aplicación para un conjunto determinado de ámbitos.
AccessType String Este campo indica si su aplicación necesita acceder a una API de Google cuando el usuario no está presente en el navegador. Este parámetro está predeterminado en LÍNEA. Si su aplicación necesita actualizar los tokens de acceso cuando el usuario no está presente en el navegador, use OFFLINE. Esto hará que su aplicación obtenga un token de actualización la primera vez que intercambie un código de autorización para un usuario.
State String Este campo indica cualquier estado que pueda ser de utilidad para su solicitud al recibir la respuesta. Su aplicación recibe el mismo valor que envió, ya que este parámetro realiza un viaje de ida y vuelta al servidor de autorización de Google y viceversa. Los usos posibles incluyen redirigir al usuario al recurso correcto en su sitio, usar nonces y mitigar la falsificación de solicitudes entre sitios.
Other_Options String Otras opciones para controlar el comportamiento de OAuth.
Columnas del Conjunto de Resultados
Nombre Tipo Descripción
AuthToken String El token de autorización, pasado al procedimiento almacenado GetOAuthAccessToken.
AuthKey String El token secreto de autorización, pasado al procedimiento almacenado GetOAuthAccessToken.
URL String La URL para completar la autenticación del usuario.

RefreshOAuthAccessToken

Intercambia un token de actualización por un nuevo token de acceso.

Aporte
Nombre Tipo Descripción
OAuthRefreshToken String El token de actualización devuelto del intercambio de código de autorización original.
Columnas del Conjunto de Resultados
Nombre Tipo Descripción
OAuthAccessToken String El token de autenticación devuelto desde la fuente de datos. Esto se puede usar en llamadas posteriores a otras operaciones para este servicio en particular.
OAuthAccessTokenSecret String El nuevo OAuthAccessTokenSecret devuelto por el servicio.
OAuthRefreshToken String El token de autenticación devuelto desde la fuente de datos. Esto se puede usar en llamadas posteriores a otras operaciones para este servicio en particular.
ExpiresIn String El tiempo de vida restante en el token de acceso.

Propiedades de Configuraciones Avanzadas

Las propiedades de configuraciones avanzadas son las diversas opciones que se pueden utilizar para establecer una conexión. Esta sección proporciona una lista completa de las opciones que puede configurar. Haga clic en los enlaces para obtener más detalles.

Autenticación

Propiedad Descripción
AuthScheme El tipo de autenticación que se utilizará al conectarse a servicios remotos.
URL La URL del servicio GraphQL.
User La cuenta de usuario de GraphQL utilizada para la autenticación.
Password La contraseña utilizada para autenticar al usuario.

Autenticación de AWS

Propiedad Descripción
AWSCognitoRegion La región de alojamiento de AWS Cognito.
AWSUserPoolId El ID del grupo de usuarios.
AWSUserPoolClientAppId El ID de la aplicación del cliente del grupo de usuarios.
AWSUserPoolClientAppSecret Opcional. El secreto de la aplicación del cliente del grupo de usuarios.

OAuth

Propiedad Descripción
InitiateOAuth Establezca esta propiedad para iniciar el proceso para obtener o actualizar el token de acceso de OAuth cuando se conecte.
OAuthVersion La versión de OAuth que se está utilizando.
OAuthClientId El ID de cliente asignado cuando registra su aplicación con un servidor de autorización de OAuth.
OAuthClientSecret El secreto del cliente asignado cuando registra su aplicación con un servidor de autorización de OAuth.
OAuthAccessToken El token de acceso para conectarse mediante OAuth.
OAuthAccessTokenSecret El secreto del token de acceso de OAuth para conectarse mediante OAuth.
CallbackURL La URL de devolución de llamada de OAuth a la que volver cuando se autentica. Este valor debe coincidir con la URL de devolución de llamada que especifica en la configuración de su aplicación.
OAuthGrantType El tipo de concesión para el flujo de OAuth.
OAuthIncludeCallbackURL Si incluir la URL de devolución de llamada en una solicitud de token de acceso.
OAuthAuthorizationURL La URL de autorización para el servicio OAuth.
OAuthAccessTokenURL La URL desde la que recuperar el token de acceso de OAuth.
OAuthRefreshTokenURL La URL desde la que actualizar el token de OAuth.
OAuthRequestTokenURL La URL que proporciona el servicio para recuperar los tokens de solicitud. Esto es obligatorio en OAuth 1.0.
OAuthVerifier El código verificador devuelto desde la URL de autorización de OAuth.
AuthToken El token de autenticación utilizado para solicitar y obtener el token de acceso de OAuth.
AuthKey El secreto de autenticación utilizado para solicitar y obtener el token de acceso de OAuth.
OAuthParams Una lista separada por comas de otros parámetros para enviar en la solicitud del token de acceso de OAuth en el formato paramname=value.
OAuthRefreshToken El token de actualización de OAuth para el token de acceso de OAuth correspondiente.
OAuthExpiresIn La vida útil en segundos del AccessToken de OAuth.
OAuthTokenTimestamp La marca de tiempo de la época de Unix en milisegundos cuando se creó el token de acceso actual.

JWT OAuth

Propiedad Descripción
OAuthJWTCert El almacén de certificados JWT.
OAuthJWTCertType El tipo de almacén de claves que contiene el certificado JWT.
OAuthJWTCertPassword La contraseña para el certificado OAuth JWT.
OAuthJWTCertSubject El asunto del certificado OAuth JWT.
OAuthJWTIssuer El emisor del token web de Java.
OAuthJWTSubject El sujeto de usuario para el que la aplicación solicita acceso delegado.

SSL

Propiedad Descripción
SSLClientCert El almacén de certificados de cliente TLS/SSL para la autenticación de cliente SSL (SSL bidireccional).
SSLClientCertType El tipo de almacén de claves que contiene el certificado de cliente TLS/SSL.
SSLClientCertPassword La contraseña para el certificado de cliente TLS/SSL.
SSLClientCertSubject El asunto del certificado de cliente TLS/SSL.
SSLServerCert El certificado que se aceptará del servidor al conectarse mediante TLS/SSL.

Esquema

Propiedad Descripción
Location Una ruta al directorio que contiene los archivos de esquema que definen tablas, vistas y procedimientos almacenados.
BrowsableSchemas Esta propiedad restringe los esquemas informados a un subconjunto de los esquemas disponibles. Por ejemplo, BrowsableSchemas=SchemaA, SchemaB, SchemaC.
Tables Esta propiedad restringe las tablas notificadas a un subconjunto de las tablas disponibles. Por ejemplo, Tablas=TablaA, TablaB, TablaC.
Views Restringe las vistas informadas a un subconjunto de las tablas disponibles. Por ejemplo, Vistas=VistaA, VistaB, VistaC.
ExpandTablesDepth Esta propiedad se utiliza para determinar la profundidad de las tablas secundarias.
ExpandTemporaryTablesDepth Esta propiedad se utiliza para determinar la profundidad de las tablas temporales secundarias. Solo funciona si ExposeDynamicProcedures se establece en verdadero.
ExpandColumnsDepth Esta propiedad se usa para determinar hasta qué punto el proveedor debe buscar columnas dentro de los objetos de GraphQL.
IncludeDeprecatedMetadata Esta propiedad se usa para determinar si el proveedor debe exponer tablas y columnas en desuso o no.
ExposeDynamicProcedures Esta propiedad se utiliza para determinar si el proveedor debe exponer las mutaciones como procedimientos dinámicos o no.

Misceláneas

Propiedad Descripción
CustomHeaders Otros encabezados según lo determine el usuario (opcional).
GenerateSchemaFiles Indica la preferencia del usuario en cuanto a cuándo deben generarse y guardarse los esquemas.
MaxRows Limita el número de filas devueltas cuando no se usa agregación o agrupación en la consultar. Esto ayuda a evitar problemas de rendimiento en el momento del diseño.
Other Estas propiedades ocultas se usan solo en casos de uso específicos.
Pagesize El número máximo de resultados a devolver por página de GraphQL.
PseudoColumns Esta propiedad indica si incluir o no pseudocolumnas como columnas en la tabla.
Timeout El valor en segundos hasta que se lanza el error de tiempo de espera, cancelando la operación.

Autenticación

Esta sección proporciona una lista completa de las propiedades de autenticación que puede configurar.

Propiedad Descripción
AuthScheme El tipo de autenticación que se utilizará al conectarse a servicios remotos.
URL La URL del servicio GraphQL.
User La cuenta de usuario de GraphQL utilizada para la autenticación.
Password La contraseña utilizada para autenticar al usuario.

AuthScheme

El tipo de autenticación que se utilizará al conectarse a servicios remotos.

Valores Posibles

None, Basic, OAuth, AwsCognitoSrp, AwsCognitoBasic

Tipo de Datos

string

Valor por Defecto

"Auto"

Observaciones
General

Las siguientes opciones están generalmente disponibles para todas las conexiones:

  • Ninguno: no utiliza autenticación.
  • Básico: utiliza la autenticación básica con Usuario y contraseña.
  • OAuth: utiliza OAuth1 u OAuth2, con el flujo específico determinado por el OAuthGrantType. Versión OAuth debe establecerse para determinar qué versión de OAuth se utiliza.
  • AwsCognitoSrp: configurado para usar la autenticación basada en Cognito. Se recomienda esto sobre AwsCognitoBasic porque esta opción NO envía la contraseña al servidor para la autenticación, sino que utiliza el protocolo SRP.
  • AwsCognitoBasic: configurado para usar la autenticación basada en Cognito.

URL

La URL del servicio GraphQL.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

La URL del servicio GraphQL.

Usuario

La cuenta de usuario de GraphQL utilizada para la autenticación.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Junto con Contraseña, este campo se usa para autenticarse en el servidor GraphQL.

Contraseña

La contraseña utilizada para autenticar al usuario.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

El usuario y Password se usan juntos para autenticarse con el servidor.

Autenticación de AWS

Esta sección proporciona una lista completa de las propiedades de autenticación de AWS que puede configurar.

Propiedad Descripción
AWSCognitoRegion La región de alojamiento de AWS Cognito.
AWSUserPoolId El ID del grupo de usuarios.
AWSUserPoolClientAppId El ID de la aplicación del cliente del grupo de usuarios.
AWSUserPoolClientAppSecret Opcional. El secreto de la aplicación del cliente del grupo de usuarios.

Región de AWSCognito

La región de alojamiento de AWS Cognito.

Valores Posibles

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 Datos

string

Valor por Defecto

"NORTHERNVIRGINIA"

Observaciones

La región de alojamiento de AWS Cognito. Los valores disponibles son OHIO, NORTHERNVIRGINIA, NORTHERNCALIFORNIA, OREGON, CAPETOWN, HONGKONG, MUMBAI, OSAKA, SEÚL, SINGAPUR, SYDNEY, TOKYO, CENTRAL, BEIJING, NINGXIA, FRANKFURT, IRLANDA, LONDRES, MILÁN, PARÍS, ESTOCOLMO, BAHREIN, SAOPAULO, GOVCLOUDEAST y GOVCLOUDWEST.

AWSUserPoolId

El ID del grupo de usuarios.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Puede encontrar esto en AWS Cognito -> Administrar grupos de usuarios -> seleccione su grupo de usuarios -> Configuración general -> Identificación del grupo.

AWSUserPoolClientAppId

El ID de la aplicación del cliente del grupo de usuarios.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Puede encontrar esto en AWS Cognito -> Administrar grupos de identidades -> seleccione su grupo de usuarios -> Configuración general -> Clientes de aplicaciones -> ID de cliente de la aplicación.

AWSUserPoolClientAppSecret

Opcional. El secreto de la aplicación del cliente del grupo de usuarios.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Puede encontrar esto en AWS Cognito -> Administrar grupos de identidades -> seleccione su grupo de usuarios -> Configuración general -> Clientes de aplicaciones -> Secreto del cliente de la aplicación.

OAuth

Esta sección proporciona una lista completa de las propiedades de OAuth que puede configurar.

Propiedad Descripción
InitiateOAuth Establezca esta propiedad para iniciar el proceso para obtener o actualizar el token de acceso de OAuth cuando se conecte.
OAuthVersion La versión de OAuth que se está utilizando.
OAuthClientId El ID de cliente asignado cuando registra su aplicación con un servidor de autorización de OAuth.
OAuthClientSecret El secreto del cliente asignado cuando registra su aplicación con un servidor de autorización de OAuth.
OAuthAccessToken El token de acceso para conectarse mediante OAuth.
OAuthAccessTokenSecret El secreto del token de acceso de OAuth para conectarse mediante OAuth.
CallbackURL La URL de devolución de llamada de OAuth a la que volver cuando se autentica. Este valor debe coincidir con la URL de devolución de llamada que especifica en la configuración de su aplicación.
OAuthGrantType El tipo de concesión para el flujo de OAuth.
OAuthIncludeCallbackURL Si incluir la URL de devolución de llamada en una solicitud de token de acceso.
OAuthAuthorizationURL La URL de autorización para el servicio OAuth.
OAuthAccessTokenURL La URL desde la que recuperar el token de acceso de OAuth.
OAuthRefreshTokenURL La URL desde la que actualizar el token de OAuth.
OAuthRequestTokenURL La URL que proporciona el servicio para recuperar los tokens de solicitud. Esto es obligatorio en OAuth 1.0.
OAuthVerifier El código verificador devuelto desde la URL de autorización de OAuth.
AuthToken El token de autenticación utilizado para solicitar y obtener el token de acceso de OAuth.
AuthKey El secreto de autenticación utilizado para solicitar y obtener el token de acceso de OAuth.
OAuthParams Una lista separada por comas de otros parámetros para enviar en la solicitud del token de acceso de OAuth en el formato paramname=value.
OAuthRefreshToken El token de actualización de OAuth para el token de acceso de OAuth correspondiente.
OAuthExpiresIn La vida útil en segundos del AccessToken de OAuth.
OAuthTokenTimestamp La marca de tiempo de la época de Unix en milisegundos cuando se creó el token de acceso actual.

Iniciar OAuth

Establezca esta propiedad para iniciar el proceso para obtener o actualizar el token de acceso de OAuth cuando se conecte.

Valores Posibles

OFF, GETANDREFRESH, REFRESH

Tipo de Datos

string

Valor por Defecto

"OFF"

Observaciones

Las siguientes opciones están disponibles:

  1. OFF: Indica que el flujo de OAuth será manejado en su totalidad por el usuario. Se requerirá un OAuthAccessToken para la autenticación.
  2. GETANDREFRESH: indica que el conector manejará todo el flujo de OAuth. Si actualmente no existe ningún token, se obtendrá solicitándolo al usuario a través del navegador. Si existe un token, se actualizará cuando corresponda.
  3. REFRESH: indica que el conector solo manejará la actualización de OAuthAccessToken. El conector nunca le pedirá al usuario que se autentique a través del navegador. El usuario debe manejar la obtención de OAuthAccessToken y OAuthRefreshToken inicialmente.

Versión OAuth

La versión de OAuth que se está utilizando.

Valores Posibles

Disabled, 1.0, 2.0

Tipo de Datos

string

Valor por Defecto

"Disabled"

Observaciones

La versión de OAuth que se está utilizando. Están disponibles las siguientes opciones: Deshabilitado, 1.0, 2.0

OAuthClientId

El ID de cliente asignado cuando registra su aplicación con un servidor de autorización de OAuth.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Como parte del registro de una aplicación OAuth, recibirá el OAuthClientId valor, a veces también llamado clave de consumidor, y un secreto de cliente, el OAuthClientSecret.

OAuthClientSecretOAuthClientSecret

El secreto del cliente asignado cuando registra su aplicación con un servidor de autorización de OAuth.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Como parte del registro de una aplicación OAuth, recibirá el OAuthClientId, también denominada clave de consumidor. También recibirá un secreto de cliente, también llamado secreto de consumidor. Establezca el secreto del cliente en OAuthClientSecret propiedad.

Token de Acceso de OAuth

El token de acceso para conectarse mediante OAuth.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

El OAuthAccessToken la propiedad se usa para conectarse usando OAuth. El OAuthAccessToken se recupera del servidor OAuth como parte del proceso de autenticación. Tiene un tiempo de espera dependiente del servidor y se puede reutilizar entre solicitudes.

El token de acceso se utiliza en lugar de su nombre de usuario y contraseña. El token de acceso protege sus credenciales manteniéndolas en el servidor.

OAuthAccessTokenSecret

El secreto del token de acceso de OAuth para conectarse mediante OAuth.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

El OAuthAccessTokenSecret la propiedad se usa para conectarse y autenticarse mediante OAuth. El OAuthAccessTokenSecret se recupera del servidor OAuth como parte del proceso de autenticación. Se usa con el OAuthAccessToken y se puede utilizar para varias solicitudes hasta que se agote el tiempo de espera.

URL de Devolución de Llamada

La URL de devolución de llamada de OAuth a la que volver cuando se autentica. Este valor debe coincidir con la URL de devolución de llamada que especifica en la configuración de su aplicación.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Durante el proceso de autenticación, el servidor de autorización de OAuth redirige al usuario a esta URL. Este valor debe coincidir con la URL de devolución de llamada que especifica en la configuración de su aplicación.

OAuthGrantType

El tipo de concesión para el flujo de OAuth.

Valores Posibles

CODE, CLIENT, PASSWORD

Tipo de Datos

string

Valor por Defecto

"CLIENT"

Observaciones

El tipo de concesión para el flujo de OAuth. Las siguientes opciones están disponibles: CÓDIGO, CLIENTE, CONTRASEÑA

OAuthIncludeCallbackURL

Si incluir la URL de devolución de llamada en una solicitud de token de acceso.

Tipo de Datos

bool

Valor por Defecto

true

Observaciones

El valor predeterminado es verdadero, ya que los servicios de OAuth que cumplen con los estándares ignorarán el parámetro redirect_uri para los tipos de concesión como CLIENTE o CONTRASEÑA que no lo requieren.

Esta opción solo debe habilitarse para los servicios OAuth que informan errores cuando se incluye redirect_uri.

URL de Autorización de OAuth

La URL de autorización para el servicio OAuth.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

La URL de autorización para el servicio OAuth. En esta URL, el usuario inicia sesión en el servidor y otorga permisos a la aplicación. En OAuth 1.0, si se otorgan permisos, se autoriza el token de solicitud.

URL del Token de Acceso de OAuth

La URL desde la que recuperar el token de acceso de OAuth.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

La URL desde la que recuperar el token de acceso de OAuth. En OAuth 1.0, el token de solicitud autorizado se intercambia por el token de acceso en esta URL.

OAuthRefreshTokenURL

La URL desde la que actualizar el token de OAuth.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

La URL desde la que actualizar el token de OAuth. En OAuth 2.0, esta URL es donde el token de actualización se intercambia por un nuevo token de acceso cuando caduca el antiguo token de acceso.

URL de Token de Solicitud de OAuth

La URL que proporciona el servicio para recuperar los tokens de solicitud. Esto es obligatorio en OAuth 1.0.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

La URL que proporciona el servicio para recuperar los tokens de solicitud. Esto es obligatorio en OAuth 1.0. En OAuth 1.0, esta es la URL donde la aplicación solicita el token de solicitud.

OAuthVerifier

El código verificador devuelto desde la URL de autorización de OAuth.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

El código verificador devuelto desde la URL de autorización de OAuth. Esto se puede usar en sistemas en los que no se puede iniciar un navegador, como los sistemas sin cabeza.

Autenticación en Máquinas Sin Cabeza

Ver para obtener el OAuthVerifier valor.

Establezca OAuthSettingsLocation junto con OAuthVerifier. Cuando se conecta, el conector intercambia el OAuthVerifier para los tokens de autenticación de OAuth y los guarda, encriptados, en el archivo especificado. Establecer Iniciar OAuth para GETANDREFRESH automatizar el intercambio.

Una vez que se haya generado el archivo de configuración de OAuth, puede eliminar OAuthVerifier desde las propiedades de conexión y conéctese con OAuthSettingsLocation colocar.

Para actualizar automáticamente los valores del token de OAuth, establezca OAuthSettingsLocation y además configure InitiateOAuth refrescar.

Token de Autenticación

El token de autenticación utilizado para solicitar y obtener el token de acceso de OAuth.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Esta propiedad solo es necesaria cuando se realiza la autenticación sin interfaz en OAuth 1.0. Se puede obtener del procedimiento almacenado GetOAuthAuthorizationUrl.

Se puede proporcionar junto con AuthKey en GetOAuthAccessToken procedimiento almacenado* para obtener el OAuthAccessToken.

Clave de Autenticación

El secreto de autenticación utilizado para solicitar y obtener el token de acceso de OAuth.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Esta propiedad solo es necesaria cuando se realiza la autenticación sin interfaz en OAuth 1.0. Se puede obtener del procedimiento almacenado GetOAuthAuthorizationUrl.

Se puede suministrar junto con AuthToken en GetOAuthAccessToken procedimiento almacenado* para obtener el OAuthAccessToken.

OAuthParams

Una lista separada por comas de otros parámetros para enviar en la solicitud del token de acceso de OAuth en el formato paramname=value.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Una lista separada por comas de otros parámetros para enviar en la solicitud del token de acceso de OAuth en el formato paramname=value.

OAuthRefreshToken

El token de actualización de OAuth para el token de acceso de OAuth correspondiente.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

El OAuthRefreshToken la propiedad se usa para actualizar el OAuthAccessToken al usar la autenticación OAuth.

OAuthExpiresIn

La vida útil en segundos del AccessToken de OAuth.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Empareje con OAuthTokenTimestamp para determinar cuándo caducará el AccessToken.

OAuthTokenTimestamp

La marca de tiempo de la época de Unix en milisegundos cuando se creó el token de acceso actual.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Emparéjese con OAuthExpiresIn para determinar cuándo expirará AccessToken.

JWT OAuth

Esta sección proporciona una lista completa de las propiedades de JWT OAuth que puede configurar.

Propiedad Descripción
OAuthJWTCert El almacén de certificados JWT.
OAuthJWTCertType El tipo de almacén de claves que contiene el certificado JWT.
OAuthJWTCertPassword La contraseña para el certificado OAuth JWT.
OAuthJWTCertSubject El asunto del certificado OAuth JWT.
OAuthJWTIssuer El emisor del token web de Java.
OAuthJWTSubject El sujeto de usuario para el que la aplicación solicita acceso delegado.

OAuthJWTCert

El almacén de certificados JWT.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

El nombre del almacén de certificados para el certificado de cliente.

El OAuthJWTCertType especifica el tipo de almacén de certificados especificado por OAuthJWTCert. Si la tienda está protegida con contraseña, especifique la contraseña en OAuthJWTCertPassword.

OAuthJWTCert se usa junto con OAuthJWTCertSubject para especificar certificados de cliente. Si OAuthJWTCert tiene un valor y OAuthJWTCertSubject, se inicia una búsqueda de un certificado. Consulte OAuthJWTCertSubject campo para más detalles.

Las designaciones de los almacenes de certificados dependen de la plataforma.

Las siguientes son designaciones de los almacenes de certificados de usuario y máquina más comunes en Windows:

Propiedad Descripción
MY Un almacén de certificados que contiene certificados personales con sus claves privadas asociadas.
CA Certificados de la autoridad certificadora.
ROOT Certificados raíz.
SPC Certificados de editor de software.

En Java, el almacén de certificados normalmente es un archivo que contiene certificados y claves privadas opcionales.

Cuando el tipo de almacén de certificados es PFXFile, esta propiedad debe establecerse en el nombre del archivo. Cuando el tipo es PFXBlob, la propiedad debe establecerse en el contenido binario de un archivo PFX (es decir, almacén de certificados PKCS12).

OAuthJWTCertType

El tipo de almacén de claves que contiene el certificado JWT.

Valores Posibles

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 Datos

string

Valor por Defecto

"USER"

Observaciones

Esta propiedad puede tomar uno de los siguientes valores:

Propiedad Descripción
USER Para Windows, esto especifica que el almacén de certificados es un almacén de certificados propiedad del usuario actual. Nota: Este tipo de tienda no está disponible en Java.
MACHINE Para Windows, esto especifica que el almacén de certificados es un almacén de máquinas. Nota: este tipo de tienda no está disponible en Java.
PFXFILE El almacén de certificados es el nombre de un archivo PFX (PKCS12) que contiene certificados.
PFXBLOB El almacén de certificados es una cadena (codificada en base 64) que representa un almacén de certificados en formato PFX (PKCS12).
JKSFILE El almacén de certificados es el nombre de un archivo de almacén de claves Java (JKS) que contiene certificados. Nota: este tipo de tienda solo está disponible en Java.
JKSBLOB El almacén de certificados es una cadena (codificada en base 64) que representa un almacén de certificados en formato de almacén de claves Java (JKS). Nota: este tipo de tienda solo está disponible en Java.
PEMKEY_FILE El almacén de certificados es el nombre de un archivo con codificación PEM que contiene una clave privada y un certificado opcional.
PEMKEY_BLOB El almacén de certificados es una cadena (codificada en base64) que contiene una clave privada y un certificado opcional.
PUBLIC_KEY_FILE El almacén de certificados es el nombre de un archivo que contiene un certificado de clave pública con codificación PEM o DER.
PUBLIC_KEY_BLOB El almacén de certificados es una cadena (codificada en base 64) que contiene un certificado de clave pública con codificación PEM o DER.
SSHPUBLIC_KEY_FILE El almacén de certificados es el nombre de un archivo que contiene una clave pública de estilo SSH.
SSHPUBLIC_KEY_BLOB El almacén de certificados es una cadena (codificada en base 64) que contiene una clave pública de estilo SSH.
P7BFILE El almacén de certificados es el nombre de un archivo PKCS7 que contiene certificados.
PPKFILE El almacén de certificados es el nombre de un archivo que contiene una PPK (clave privada PuTTY).
XMLFILE El almacén de certificados es el nombre de un archivo que contiene un certificado en formato XML.
XMLBLOB El almacén de certificados es una cadena que contiene un certificado en formato XML.

OAuthJWTCertPassword

La contraseña para el certificado OAuth JWT.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Si el almacén de certificados es de un tipo que requiere una contraseña, esta propiedad se usa para especificar esa contraseña para abrir el almacén de certificados.

OAuthJWTCertSubject

El asunto del certificado OAuth JWT.

Tipo de Datos

string

Valor por Defecto

"\*"

Observaciones

Al cargar un certificado, el asunto se utiliza para ubicar el certificado en el almacén.

Si no se encuentra una coincidencia exacta, se busca en la tienda temas que contengan el valor de la propiedad.

Si aún no se encuentra una coincidencia, la propiedad se establece en una cadena vacía y no se selecciona ningún certificado.

El valor especial "*" selecciona el primer certificado en el almacén de certificados.

El asunto del certificado es una lista separada por comas de valores y campos de nombre distinguido. Por ejemplo, "CN=www.server.com, OU=test, C=US, E=support@jitterbit.com". Los campos comunes y sus significados se muestran a continuación.

Campo Significado
CN Nombre común. Este es comúnmente un nombre de alojar como www.server.com.
O Organización
OU Unidad organizativa
L localidad
S Estado
C País
E Dirección de Correo

Si un valor de campo contiene una coma, debe estar entre comillas.

OAuthJWTIssuer

El emisor del token web de Java.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

El emisor del token web de Java. Suele ser el ID del cliente o la dirección de Correo de la aplicación OAuth.

OAuthJWTAsunto

El sujeto de usuario para el que la aplicación solicita acceso delegado.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

El sujeto de usuario para el que la aplicación solicita acceso delegado. Por lo general, el nombre de la cuenta de usuario o la dirección de correo.

SSL

Esta sección proporciona una lista completa de las propiedades SSL que puede configurar.

Propiedad Descripción
SSLClientCert El almacén de certificados de cliente TLS/SSL para la autenticación de cliente SSL (SSL bidireccional).
SSLClientCertType El tipo de almacén de claves que contiene el certificado de cliente TLS/SSL.
SSLClientCertPassword La contraseña para el certificado de cliente TLS/SSL.
SSLClientCertSubject El asunto del certificado de cliente TLS/SSL.
SSLServerCert El certificado que se aceptará del servidor al conectarse mediante TLS/SSL.

SSLClientCert

El almacén de certificados de cliente TLS/SSL para la autenticación de cliente SSL (SSL bidireccional).

Tipo de Datos

string

Valor por Defecto

""

Observaciones

El nombre del almacén de certificados para el certificado de cliente.

El SSLClientCertType especifica el tipo de almacén de certificados especificado por SSLClientCert. Si la tienda está protegida con contraseña, especifique la contraseña en SSLClientCertPassword.

SSLClientCert se usa junto con SSLClientCertSubject para especificar certificados de cliente. Si SSLClientCert tiene un valor y SSLClientCertSubject, se inicia una búsqueda de un certificado. Vea SSLClientCertSubject para más información.

Las designaciones de los almacenes de certificados dependen de la plataforma.

Las siguientes son designaciones de los almacenes de certificados de usuario y máquina más comunes en Windows:

Propiedad Descripción
MY Un almacén de certificados que contiene certificados personales con sus claves privadas asociadas.
CA Certificados de la autoridad certificadora.
ROOT Certificados raíz.
SPC Certificados de editor de software.

En Java, el almacén de certificados normalmente es un archivo que contiene certificados y claves privadas opcionales.

Cuando el tipo de almacén de certificados es PFXFile, esta propiedad debe establecerse en el nombre del archivo. Cuando el tipo es PFXBlob, la propiedad debe establecerse en el contenido binario de un archivo PFX (por ejemplo, almacén de certificados PKCS12).

SSLClientCertType

El tipo de almacén de claves que contiene el certificado de cliente TLS/SSL.

Valores Posibles

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 Datos

string

Valor por Defecto

"USER"

Observaciones

Esta propiedad puede tomar uno de los siguientes valores:

Propiedad Descripción
USER - default Para Windows, esto especifica que el almacén de certificados es un almacén de certificados propiedad del usuario actual. Tenga en cuenta que este tipo de tienda no está disponible en Java.
MACHINE Para Windows, esto especifica que el almacén de certificados es un almacén de máquinas. Tenga en cuenta que este tipo de tienda no está disponible en Java.
PFXFILE El almacén de certificados es el nombre de un archivo PFX (PKCS12) que contiene certificados.
PFXBLOB El almacén de certificados es una cadena (codificada en base 64) que representa un almacén de certificados en formato PFX (PKCS12).
JKSFILE El almacén de certificados es el nombre de un archivo de almacén de claves Java (JKS) que contiene certificados. Tenga en cuenta que este tipo de tienda solo está disponible en Java.
JKSBLOB El almacén de certificados es una cadena (codificada en base 64) que representa un almacén de certificados en formato JKS. Tenga en cuenta que este tipo de tienda solo está disponible en Java.
PEMKEY_FILE El almacén de certificados es el nombre de un archivo con codificación PEM que contiene una clave privada y un certificado opcional.
PEMKEY_BLOB El almacén de certificados es una cadena (codificada en base64) que contiene una clave privada y un certificado opcional.
PUBLIC_KEY_FILE El almacén de certificados es el nombre de un archivo que contiene un certificado de clave pública con codificación PEM o DER.
PUBLIC_KEY_BLOB El almacén de certificados es una cadena (codificada en base 64) que contiene un certificado de clave pública con codificación PEM o DER.
SSHPUBLIC_KEY_FILE El almacén de certificados es el nombre de un archivo que contiene una clave pública de estilo SSH.
SSHPUBLIC_KEY_BLOB El almacén de certificados es una cadena (codificada en base 64) que contiene una clave pública de estilo SSH.
P7BFILE El almacén de certificados es el nombre de un archivo PKCS7 que contiene certificados.
PPKFILE El almacén de certificados es el nombre de un archivo que contiene una clave privada PuTTY (PPK).
XMLFILE El almacén de certificados es el nombre de un archivo que contiene un certificado en formato XML.
XMLBLOB El almacén de certificados es una cadena que contiene un certificado en formato XML.

SSLClientCertPassword

La contraseña para el certificado de cliente TLS/SSL.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Si el almacén de certificados es de un tipo que requiere una contraseña, esta propiedad se utiliza para especificar esa contraseña para abrir el almacén de certificados.

SSLClientCertSubject

El asunto del certificado de cliente TLS/SSL.

Tipo de Datos

string

Valor por Defecto

"\*"

Observaciones

Al cargar un certificado, el asunto se utiliza para ubicar el certificado en el almacén.

Si no se encuentra una coincidencia exacta, se busca en la tienda temas que contengan el valor de la propiedad. Si aún no se encuentra una coincidencia, la propiedad se establece en una cadena vacía y no se selecciona ningún certificado.

El valor especial "*" selecciona el primer certificado en el almacén de certificados.

El asunto del certificado es una lista separada por comas de valores y campos de nombre distinguido. Por ejemplo, "CN=www.server.com, OU=test, C=US, E=support@company.com". Los campos comunes y sus significados se muestran a continuación.

Campo Significado
CN Nombre común. Este es comúnmente un nombre de alojar como www.server.com.
O Organización
OU Unidad organizativa
L localidad
S Estado
C País
E Dirección de Correo

Si un valor de campo contiene una coma, debe estar entre comillas.

SSLServerCert

El certificado que se aceptará del servidor al conectarse mediante TLS/SSL.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Si usa una conexión TLS/SSL, esta propiedad se puede usar para especificar el certificado TLS/SSL que se aceptará del servidor. Se rechaza cualquier otro certificado que no sea de confianza para la máquina.

Esta propiedad puede tomar las siguientes formas:

Descripción Ejemplo
Un certificado PEM completo (ejemplo abreviado por brevedad) -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE-----
Una ruta a un archivo local que contiene el certificado C:\cert.cer
La clave pública (ejemplo abreviado por brevedad) -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY-----
La huella digital MD5 (los valores hexadecimales también pueden estar separados por espacios o dos puntos) ecadbdda5a1529c58a1e9e09828d70e4
La huella digital SHA1 (los valores hexadecimales también pueden estar separados por espacios o dos puntos) 34a929226ae0819f2ec14b4a3d904f801cbb150d

Si no se especifica, se acepta cualquier certificado en el que confíe la máquina.

La máquina valida los certificados como confiables según el almacén de confianza del sistema. El almacén de confianza utilizado es el valor 'javax.net.ssl.trustStore' especificado para el sistema. Si no se especifica ningún valor para esta propiedad, se utiliza el almacén de confianza predeterminado de Java (por ejemplo, JAVA_HOME\lib\security\cacerts).

Use '*' para indicar que acepta todos los certificados. Tenga en cuenta que esto no se recomienda debido a problemas de seguridad.

Esquema

Esta sección proporciona una lista completa de propiedades de esquema que puede configurar.

Propiedad Descripción
Location Una ruta al directorio que contiene los archivos de esquema que definen tablas, vistas y procedimientos almacenados.
BrowsableSchemas Esta propiedad restringe los esquemas informados a un subconjunto de los esquemas disponibles. Por ejemplo, BrowsableSchemas=SchemaA, SchemaB, SchemaC.
Tables Esta propiedad restringe las tablas notificadas a un subconjunto de las tablas disponibles. Por ejemplo, Tablas=TablaA, TablaB, TablaC.
Views Restringe las vistas informadas a un subconjunto de las tablas disponibles. Por ejemplo, Vistas=VistaA, VistaB, VistaC.
ExpandTablesDepth Esta propiedad se utiliza para determinar la profundidad de las tablas secundarias.
ExpandTemporaryTablesDepth Esta propiedad se utiliza para determinar la profundidad de las tablas temporales secundarias. Solo funciona si ExposeDynamicProcedures se establece en verdadero.
ExpandColumnsDepth Esta propiedad se usa para determinar hasta qué punto el proveedor debe buscar columnas dentro de los objetos de GraphQL.
IncludeDeprecatedMetadata Esta propiedad se usa para determinar si el proveedor debe exponer tablas y columnas en desuso o no.
ExposeDynamicProcedures Esta propiedad se utiliza para determinar si el proveedor debe exponer las mutaciones como procedimientos dinámicos o no.

Ubicación

Una ruta al directorio que contiene los archivos de esquema que definen tablas, vistas y procedimientos almacenados.

Tipo de Datos

string

Valor por Defecto

"%APPDATA%\\\GraphQL Data Provider\\Schema"

Observaciones

La ruta a un directorio que contiene los archivos de esquema para el conector (archivos .rsd para tablas y vistas, archivos .rsb para procedimientos almacenados). La ubicación de la carpeta puede ser una ruta relativa desde la ubicación del ejecutable. El Location La propiedad solo es necesaria si desea personalizar las definiciones (por ejemplo, cambiar el nombre de una columna, ignorar una columna, etc.) o ampliar el modelo de datos con nuevas tablas, vistas o procedimientos almacenados.

Si no se especifica, la ubicación predeterminada es "%APPDATA%\\ GraphQL Data Provider\Schema" con %APPDATA% estando configurado en el directorio de configuración del usuario:

Plataforma %APPDATA%
Windows El valor de la variable de ambiente APPDATA
Mac ~/Biblioteca/Soporte de aplicaciones
Linux ~/.config

Esquemas Navegables

Esta propiedad restringe los esquemas informados a un subconjunto de los esquemas disponibles. Por ejemplo, BrowsableSchemas=SchemaA,SchemaB,SchemaC.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Enumerar los esquemas de las bases de datos puede resultar costoso. Proporcionar una lista de esquemas en la cadena de conexión mejora el rendimiento.

Mesas

Esta propiedad restringe las tablas notificadas a un subconjunto de las tablas disponibles. Por ejemplo, Tablas=TablaA,TablaB,TablaC.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Listar las tablas de algunas bases de datos puede resultar costoso. Proporcionar una lista de tablas en la cadena de conexión mejora el rendimiento del conector.

Esta propiedad también se puede utilizar como una alternativa a la lista automática de vistas si ya sabe con cuáles quiere trabajar y, de lo contrario, habría demasiadas para trabajar.

Especifique las tablas que desea en una lista separada por comas. Cada tabla debe ser un identificador SQL válido con cualquier carácter especial escapado usando corchetes, comillas dobles o acentos graves. Por ejemplo, Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.

Tenga en cuenta que al conectarse a una fuente de datos con varios esquemas o catálogos, deberá proporcionar el nombre completo de la tabla en esta propiedad, como en el último ejemplo aquí, para evitar la ambigüedad entre las tablas que existen en varios catálogos o esquemas.

Puntos de Vista

Restringe las vistas informadas a un subconjunto de las tablas disponibles. Por ejemplo, Vistas=VistaA,VistaB,VistaC.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Listar las vistas de algunas bases de datos puede ser costoso. Proporcionar una lista de vistas en la cadena de conexión mejora el rendimiento del conector.

Esta propiedad también se puede utilizar como una alternativa a la lista automática de vistas si ya sabe con cuáles quiere trabajar y, de lo contrario, habría demasiadas para trabajar.

Especifique las vistas que desee en una lista separada por comas. Cada vista debe ser un identificador SQL válido con cualquier carácter especial escapado usando corchetes, comillas dobles o acentos graves. Por ejemplo, Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.

Tenga en cuenta que al conectarse a una fuente de datos con varios esquemas o catálogos, deberá proporcionar el nombre completo de la tabla en esta propiedad, como en el último ejemplo aquí, para evitar la ambigüedad entre las tablas que existen en varios catálogos o esquemas.

ExpandTablesDepth

Esta propiedad se utiliza para determinar la profundidad de las tablas secundarias.

Tipo de Datos

int

Valor por Defecto

2

Observaciones

Esta propiedad se utiliza para determinar la profundidad de las tablas secundarias.

ExpandirTemporaryTablesDepth

Esta propiedad se utiliza para determinar la profundidad de las tablas temporales secundarias. Solo funciona si ExposeDynamicProcedures se establece en verdadero.

Tipo de Datos

int

Valor por Defecto

5

Observaciones

Esta propiedad se utiliza para determinar la profundidad de las tablas temporales secundarias. Solo funciona si ExposeDynamicProcedures se establece en verdadero.

ExpandirColumnasProfundidad

Esta propiedad se usa para determinar hasta qué punto el proveedor debe buscar columnas dentro de los objetos de GraphQL.

Tipo de Datos

int

Valor por Defecto

2

Observaciones

Esta propiedad se usa para determinar hasta qué punto el conector debe buscar columnas dentro de los objetos GraphQL.

Incluir Metadatos en Desuso

Esta propiedad se usa para determinar si el proveedor debe exponer tablas y columnas en desuso o no.

Tipo de Datos

bool

Valor por Defecto

false

Observaciones

Esta propiedad se usa para determinar si el conector debe exponer tablas y columnas en desuso o no.

ExposeDynamicProcedures

Esta propiedad se utiliza para determinar si el proveedor debe exponer las mutaciones como procedimientos dinámicos o no.

Tipo de Datos

bool

Valor por Defecto

true

Observaciones

Esta propiedad se utiliza para determinar si el conector debe exponer las mutaciones como procedimientos dinámicos o no.

Misceláneas

Esta sección proporciona una lista completa de propiedades misceláneas que puede configurar.

Propiedad Descripción
CustomHeaders Otros encabezados según lo determine el usuario (opcional).
GenerateSchemaFiles Indica la preferencia del usuario en cuanto a cuándo deben generarse y guardarse los esquemas.
MaxRows Limita el número de filas devueltas cuando no se usa agregación o agrupación en la consultar. Esto ayuda a evitar problemas de rendimiento en el momento del diseño.
Other Estas propiedades ocultas se usan solo en casos de uso específicos.
Pagesize El número máximo de resultados a devolver por página de GraphQL.
PseudoColumns Esta propiedad indica si incluir o no pseudocolumnas como columnas en la tabla.
Timeout El valor en segundos hasta que se lanza el error de tiempo de espera, cancelando la operación.

Encabezados Personalizados

Otros encabezados según lo determine el usuario (opcional).

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Esta propiedad se puede establecer en una cadena de encabezados que se agregarán a los encabezados de solicitud HTTP creados a partir de otras propiedades, como ContentType, From, etc.

Los encabezados deben tener el formato "encabezado: valor " como se describe en las especificaciones HTTP. Las líneas de encabezado deben estar separadas por los caracteres de retorno de carro y avance de línea (CRLF).

Utilice esta propiedad con precaución. Si esta propiedad contiene encabezados no válidos, las solicitudes HTTP pueden fallar.

Esta propiedad es útil para ajustar la funcionalidad del conector para integrarlo con APIs especializadas o no estándar.

Generar Archivos de Esquema

Indica la preferencia del usuario en cuanto a cuándo deben generarse y guardarse los esquemas.

Valores Posibles

Never, OnUse, OnStart, OnCreate

Tipo de Datos

string

Valor por Defecto

"Never"

Observaciones

Esta propiedad genera esquemas en archivos .rsd en la ruta especificada por Ubicación.

Los ajustes disponibles son los siguientes:

  • Nunca: nunca se generará un archivo de esquema.
  • OnUse: se generará un archivo de esquema la primera vez que se haga referencia a una tabla, siempre que el archivo de esquema para la tabla aún no exista.
  • OnStart: se generará un archivo de esquema en el momento de la conexión para las tablas que actualmente no tienen un archivo de esquema.
  • OnCreate: se generará un archivo de esquema al ejecutar una consultar SQL CREATE TABLE.

Tenga en cuenta que si desea volver a generar un archivo, primero deberá eliminarlo.

Generar Esquemas con SQL

Cuando configuras GenerateSchemaFiles a OnUse, el conector genera esquemas a medida que ejecuta consultas SELECT. Los esquemas se generan para cada tabla a la que se hace referencia en la consultar.

Cuando configuras GenerateSchemaFiles a OnCreate, los esquemas solo se generan cuando se ejecuta una consultar CREATE TABLE.

Generar Esquemas en la Conexión

Otra forma de usar esta propiedad es obtener esquemas para cada tabla en su base de datos cuando se conecta. Para hacerlo, establezca GenerateSchemaFiles a OnStart y conectar.

Filas Máximas

Limita el número de filas devueltas cuando no se usa agregación o agrupación en la consultar. Esto ayuda a evitar problemas de rendimiento en el momento del diseño.

Tipo de Datos

int

Valor por Defecto

-1

Observaciones

Limita el número de filas devueltas cuando no se usa agregación o agrupación en la consultar. Esto ayuda a evitar problemas de rendimiento en el momento del diseño.

Otro

Estas propiedades ocultas se usan solo en casos de uso específicos.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Las propiedades enumeradas a continuación están disponibles para casos de uso específicos. Los casos de uso y la funcionalidad normales del controlador no deberían requerir estas propiedades.

Especifique varias propiedades en una lista separada por punto y coma.

Integración y Formateo
Propiedad Descripción
DefaultColumnSize Establece la longitud predeterminada de los campos de cadena cuando la fuente de datos no proporciona la longitud de columna en los metadatos. El valor predeterminado es 2000.
ConvertDateTimeToGMT Determina si se convierten los valores de fecha y hora a GMT, en lugar de la hora local de la máquina.
RecordToFile=filename Registra la transferencia de datos del socket subyacente al archivo especificado.

Tamaño de Página

El número máximo de resultados a devolver por página de GraphQL.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

El Pagesize la propiedad afecta el número máximo de resultados que se devolverán por página desde GraphQL. Establecer un valor más alto puede resultar en un mejor rendimiento a costa de memoria adicional consumida por página consumida. El tamaño de página es proporcional al costo de consultar de GraphQL.

Pseudocolumnas

Esta propiedad indica si incluir o no pseudocolumnas como columnas en la tabla.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Esta configuración es particularmente útil en Entity Framework, que no le permite establecer un valor para una pseudocolumna a menos que sea una columna de tabla. El valor de esta configuración de conexión tiene el formato "Tabla1=Columna1, Tabla1=Columna2, Tabla2=Columna3". Puede usar el carácter "*" para incluir todas las tablas y todas las columnas; por ejemplo, "*=*".

Se Acabó el Tiempo

El valor en segundos hasta que se lanza el error de tiempo de espera, cancelando la operación.

Tipo de Datos

int

Valor por Defecto

60

Observaciones

Si Timeout = 0, las operaciones no expiran. Las operaciones se ejecutan hasta que se completan correctamente o hasta que encuentran una condición de error.

Si Timeout caduca y la operación aún no se ha completado, el conector genera una excepción.