Saltar al contenido

Detalles de Conexión de la Amazon Dynamo DB

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

El conector utiliza la versión actual de la API REST de Amazon DynamoDB, versión 2012-08-10, para permitir el acceso de lectura/escritura a las instancias de DynamoDB.

Establecer una Conexión

Conexión a DynamoDB

Especifique lo siguiente para conectarse a los datos:

  • Domain: configure esto si desea utilizar un nombre de dominio que haya asociado con AWS.
  • AWSRegion: establezca esto en la región donde se alojan sus datos de Amazon DynamoDB.

Autenticación en DynamoDB

Obtención de la Clave de Acceso

Para obtener las credenciales de un usuario de IAM, siga los pasos a continuación:

  1. Inicie sesión en la consola de IAM.
  2. En el panel de navegación, seleccione Usuarios.
  3. Para crear o administrar las claves de acceso para un usuario, seleccione el usuario y luego seleccione la pestaña Credenciales de seguridad.

Para obtener las credenciales de su cuenta raíz de AWS, siga los pasos a continuación:

  1. Inicie sesión en la consola de administración de AWS con las credenciales de su cuenta raíz.
  2. Seleccione su nombre o número de cuenta y seleccione Mis credenciales de seguridad en el menú que se muestra.
  3. Haga clic en Continuar con Credenciales de seguridad y expanda la sección Claves de acceso para administrar o crear claves de acceso a la cuenta raíz.
Autenticación con Credenciales Raíz

Para autenticarse usando las credenciales de la cuenta raíz, configure lo siguiente:

  • AuthScheme: Establézcalo en AwsRootKeys.
  • AWSAccessKey: La clave de acceso asociada con la cuenta raíz de AWS.
  • AWSSecretKey: La clave secreta asociada con la cuenta raíz de AWS.

Nota: Amazon desaconseja el uso de este esquema de autenticación para cualquier cosa que no sea pruebas simples. Las credenciales de la cuenta raíz tienen todos los permisos del usuario, lo que hace que este sea el método de autenticación menos seguro.

Autenticación con Credenciales Temporales

Para autenticarse usando credenciales temporales, especifique lo siguiente:

  • AuthScheme: Establézcalo en TemporaryCredentials.
  • AWSAccessKey: La clave de acceso del usuario de IAM para el que asumirá el rol.
  • AWSSecretKey: La clave secreta del usuario de IAM para el que asumirá el rol.
  • AWSSessionToken: Su token de sesión de AWS. Esto se habrá proporcionado junto con sus credenciales temporales. Vea este enlace para más información.

El conector ahora puede solicitar recursos con los mismos permisos proporcionados por las credenciales a largo plazo (como las credenciales de usuario de IAM) durante la vida útil de las credenciales temporales.

Si también utiliza un rol de IAM para autenticarse, debe especificar además lo siguiente:

  • AWSRoleARN: Especifique el ARN de función para la rol con la que desea autenticarse. Esto hará que el conector intente recuperar las credenciales para el rol especificado.
  • AWSExternalId: Solo si se requiere cuando asume un rol en otra cuenta.
Autenticación Desde una Instancia EC2

Si está utilizando el conector de una instancia EC2 y tiene un rol de IAM asignado a la instancia, puede usar el rol de IAM para autenticarse. Para hacerlo, establezca las siguientes propiedades para autenticarse:

  • AuthScheme: Establézcalo en AwsEC2Roles.

No especificar AWSAccessKey y AWSSecretKey porque el conector obtendrá automáticamente sus credenciales de rol de IAM y se autenticará con ellas.

Si también utiliza un rol de IAM para autenticarse, debe especificar además lo siguiente:

  • AWSRoleARN: Especifique el ARN de función para la rol con la que desea autenticarse. Esto hará que el conector intente recuperar las credenciales para el rol especificado.
  • AWSExternalId: Solo si se requiere cuando asume un rol en otra cuenta.

Soporte IMDSv2

El conector de Amazon DynamoDB ahora es compatible con IMDSv2. A diferencia de IMDSv1, la nueva versión requiere un token de autenticación. Los Extremos y la respuesta son los mismos en ambas versiones. En IMDSv2, el conector de Amazon DynamoDB primero intenta recuperar el token de metadatos de IMDSv2 y luego lo usa para llamar a los extremos de metadatos de AWS. Si no puede recuperar el token, el conector vuelve a IMDSv1.

Autenticación Como un Rol de AWS

En muchas situaciones, puede ser preferible utilizar un rol de IAM para la autenticación en lugar de las credenciales de seguridad directas de un usuario raíz de AWS.

Para autenticarse como un rol de AWS, establezca lo siguiente:

  • AuthScheme: Establézcalo en AwsIAMRoles.
  • AWSRoleARN: Especifique el ARN de función para la rol con la que desea autenticarse. Esto hará que el conector intente recuperar las credenciales para el rol especificado.
  • AWSExternalId: Solo si se requiere cuando asume un rol en otra cuenta.
  • AWSAccessKey: La clave de acceso del usuario de IAM para el que asumirá el rol.
  • AWSSecretKey: La clave secreta del usuario de IAM para el que asumirá el rol.

Nota: Es posible que no se utilicen roles al especificar AWSAccessKey y AWSSecretKey de un usuario raíz de AWS.

Autenticación con ADFS

Selecciona el AuthScheme a ADFS. Es necesario establecer las siguientes propiedades de conexión:

  • User: Configure esto para el usuario de ADFS.
  • Password: Establézcalo en la contraseña de ADFS para el usuario.
  • SSOLoginURL: establezca esto en la URL de inicio de sesión utilizada por el proveedor de SSO.

A continuación se muestra una cadena de conexión de ejemplo:

AuthScheme=ADFS; AWSRegion=Ireland; User=user@cdata.com; Password=CH8WerW121235647iCa6; SSOLoginURL='https://adfs.domain.com'; AWSRoleArn=arn:aws:iam:1234:role/ADFS_SSO; AWSPrincipalArn=arn:aws:iam:1234:saml-provider/ADFSProvider; S3StagingDirectory=s3://athena/staging;
ADFS Integrado

El flujo integrado de ADFS indica que se está conectando con currently logged in Windows user credentials. Para usar el flujo integrado de ADFS, simplemente no especifique el User y Password, pero por lo demás siga los mismos pasos en la guía ADFS anterior.

Autenticación con Okta

Selecciona el AuthScheme a Okta. Las siguientes propiedades de conexión se utilizan para conectarse a Okta:

  • User: Configure esto para el usuario de Okta.
  • Password: establezca esto en la contraseña de Okta para el usuario.
  • SSOLoginURL: establezca esto en la URL de inicio de sesión utilizada por el proveedor de SSO.

La siguiente SSOProperties son necesarios para autenticarse en Okta:

  • APIToken (opcional): establezca esto en el token de API que el cliente creó a partir de la organización de Okta. Debe usarse al autenticar a un usuario a través de una aplicación confiable o un proxy que anula el contexto de solicitud del cliente de OKTA.
  • MFAType (opcional): configure esto solo en caso de que haya configurado el flujo MFA. Actualmente solo admitimos los siguientes tipos: OktaVerify, Correo y SMS.
  • MFAPassCode (opcional): configure esto solo en caso de que haya configurado el flujo MFA. Si está configurado como vacío/no válido, el controlador emitirá inicialmente un desafío de MFA que activará la plataforma para enviarle una contraseña de un solo uso a su dispositivo o correo, según el tipo de MFA configurado. Debe volver a emitir otra conexión en la que el valor de la contraseña de un solo uso recuperado se pase a la propiedad de conexión MFAPassCode.

La siguiente es una cadena de conexión de ejemplo:

AuthScheme=Okta; AWSRegion=Ireland; User=user@cdata.com; Password=CH8WerW121235647iCa6; SSOLoginURL='https://cdata-us.okta.com/home/amazon_aws/0oa35m8arsAL5f5NrE6NdA356/272'; SSOProperties='ApiToken=01230GGG2ceAnm_tPAf4MhiMELXZ0L0N1pAYrO1VR-hGQSf;'; AWSRoleArn=arn:aws:iam:1234:role/Okta_SSO; AWSPrincipalARN=arn:aws:iam:1234:saml-provider/OktaProvider; S3StagingDirectory=s3://athena/staging;
Autenticación con PingFederate

Selecciona el AuthScheme a PingFederate. Es necesario establecer las siguientes propiedades de conexión:

  • User: Configure esto para el usuario de PingFederate.
  • Password: establezca esto en la contraseña de PingFederate para el usuario.
  • SSOLoginURL: establezca esto en la URL de inicio de sesión utilizada por el proveedor de SSO.
  • SSOExchangeUrl: El URI 'Identificador de servicio de socio' configurado en su instancia de servidor PingFederate en: SP Connections > SP Connection > WS-Trust > Protocol Settings. Esto debería identificar de forma única una conexión PingFederate SP, por lo que es una buena idea configurarlo en su 'AWS SSO ACS URL'. Puede encontrarlo en AWS SSO > Ajustes > Haga clic en 'Ver detalles' junto al campo Autenticación.

La siguiente SSOProperties son necesarios para autenticarse en PingFederate:

  • AuthScheme (opcional): el esquema de autorización que se usará para el extremo IdP. Los valores permitidos para este IdP son Ninguno o Básico.

Además, puede utilizar los siguientes SSOProperties para configurar la autenticación SSL mutua para SSOLoginURL, el extremo de STS de WS-Trust:

  • SSLClientCert
  • SSLClientCertType
  • SSLClientCertSubject
  • SSLClientCertPassword

A continuación se muestra una cadena de conexión de ejemplo:

authScheme=pingfederate;SSOLoginURL=https://mycustomserver.com:9033/idp/sts.wst;SSOExchangeUrl=https://us-east-1.signin.aws.amazon.com/platform/saml/acs/764ef411-xxxxxx;user=admin;password=PassValue;AWSPrincipalARN=arn:aws:iam:215338515180:saml-provider/pingFederate;AWSRoleArn=arn:aws:iam:215338515180:role/SSOTest2;
Autenticación con MFA

Para los usuarios y roles que requieren autenticación multifactor, especifique lo siguiente para autenticarse:

  • AuthScheme: Establézcalo en AwsMFA.
  • CredentialsLocation: La ubicación del archivo de configuración donde se guardan las credenciales de MFA. Consulte la página Ubicación del archivo de credenciales en Propiedades de configuraciones avanzadas para obtener más información.
  • MFASerialNumber: el número de serie del dispositivo MFA, si se está utilizando uno.
  • MFAToken: El token temporal disponible desde su dispositivo MFA.

Si se está conectando a AWS (en lugar de estar ya conectado, como en una instancia EC2), debe especificar además lo siguiente:

  • AWSAccessKey: La clave de acceso del usuario de IAM para el que se emitirá MFA.
  • AWSSecretKey: La clave secreta del usuario de IAM a quien se emitirá MFA.

Si también utiliza un rol de IAM para autenticarse, debe especificar además lo siguiente:

  • AWSRoleARN: Especifique el ARN de función para la rol con la que desea autenticarse. Esto hará que el conector intente recuperar las credenciales para el rol especificado mediante MFA.
  • AWSExternalId: Solo si se requiere cuando asume un rol en otra cuenta.

Esto hará que el conector envíe las credenciales de MFA en una solicitud para recuperar las credenciales de autenticación temporales.

Tenga en cuenta que la duración de las credenciales temporales se puede controlar a través de TemporaryTokenDuration propiedad (por defecto 3600 segundos).

Autenticación con un Archivo de Credenciales

Puede usar un archivo de credenciales para autenticarse. Se utilizará cualquier configuración relacionada con la autenticación AccessKey/SecretKey, las credenciales temporales, la autenticación de rol o MFA. Para hacerlo, establezca las siguientes propiedades para autenticarse:

  • AuthScheme: Establézcalo en AwsCredentialsFile.
  • AWSCredentialsFile: establezca esto en la ubicación de su archivo de credenciales.
  • AWSCredentialsFileProfile: Opcionalmente, establezca esto en el nombre del perfil que le gustaría usar del archivo de credenciales especificado. Si no se especifica, se utilizará el perfil con el nombre predeterminado.

Ver este enlace para más información.

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.

Ajuste Fino del Acceso a los Datos

Inferir el Tipo de Datos

Puede utilizar las siguientes propiedades para configurar la detección automática de tipos de datos, que está habilitada de forma predeterminada.

  • TypeDetectionScheme: puede usar esta propiedad para habilitar o deshabilitar la detección automática de tipos según el valor especificado en RowScanDepth.
  • RowScanDepth: esta propiedad determina la cantidad de filas que se escanearán para determinar los tipos de datos de columna.
  • IgnoreTypes: los tipos de datos que deben ignorarse y resolverse en tipos de datos varchar. De forma predeterminada, se ignoran los tipos de fecha, hora y fecha y hora. Esto se debe a que Amazon DynamoDB no los admite como tipos. Cualquier filtrado de estas columnas se puede realizar solo como su tipo de datos varchar original.

Ajuste Fino del Acceso a Datos

Puede utilizar las siguientes propiedades para obtener un mayor control sobre las características de la API de Amazon DynamoDB y las estrategias que utiliza el conector para mostrarlas:

  • GenerateSchemaFiles: esta propiedad le permite conservar los metadatos de la tabla en archivos de esquema estáticos que son fáciles de personalizar, por ejemplo, para cambiar los tipos de datos de columna. Puede establecer esta propiedad en "OnStart" para generar archivos de esquema para todas las tablas en su base de datos en la conexión. O bien, puede generar esquemas a medida que ejecuta consultas SELECT en tablas. Los esquemas resultantes se basan en las propiedades de conexión que utiliza para configurar Detección automática de esquemas.

  • UseSimpleNames: Amazon DynamoDB admite nombres de atributos con caracteres especiales que muchas herramientas orientadas a bases de datos no admiten.

    Además, los nombres de las tablas de Amazon DynamoDB pueden incluir puntos y guiones: el conector interpreta los puntos dentro de los nombres de las tablas como separadores de jerarquía que le permiten profundizar en los campos anidados, de forma similar a XPath.

    Puede usar esta propiedad para reemplazar cualquier carácter no alfanumérico con un guión bajo.

  • SeparatorCharacter: Puede usar esta propiedad para acceder más fácilmente a los campos anidados cuando Consulta de documentos y listas; especifique el separador de jerarquía con esta propiedad. De forma predeterminada, este carácter es el '.' (punto) carácter.

Actuación

Establecer un Intervalo de Reintento

Puede configurar las siguientes propiedades para volver a intentar consultas en lugar de generar un error temporal como "rendimiento máximo excedido":

  • RetryWaitTime: el número mínimo de milisegundos que esperará el conector para volver a intentar una solicitud.
  • MaximumRequestRetries: El número máximo de veces para reintentar una solicitud.

El Jitterbit Connector para Amazon DynamoDB también tiene dos APIs separadas que se pueden usar según la consultar, PartiQL y Scan. La API que se utiliza depende de la consultar que se ejecuta.

PartiQL

PartiQL se utiliza en cualquier consultar de solicitud de inserción/actualización/eliminación, así como en cualquier selección que contenga un filtro. Esto se debe a que la API de PartiQL contiene capacidades de filtrado más avanzadas que el extremo de Scan más antiguo. En general, se puede esperar que las consultas en las que se filtra una parte significativa del resultado se ejecuten más rápido que una consultar con muy poco filtrado.

Uso Efectivo de la Paginación

Puedes usar el Pagesize propiedad para optimizar el uso de su rendimiento aprovisionado, según el tamaño de sus elementos y el tamaño de página de 1 MB de Amazon DynamoDB. Establezca esta propiedad en el número de elementos a devolver.

Por lo general, un tamaño de página más pequeño reduce los picos en el rendimiento que provocan la limitación. Un tamaño de página más pequeño también inserta pausas entre solicitudes. Este intervalo iguala la distribución de solicitudes y permite que más solicitudes tengan éxito al evitar la limitación.

Escaneos

Se producirá un escaneo durante una consultar SELECT que no contenga ningún filtro. En este caso, se deben recuperar todos los resultados, por lo que no hay ninguna ventaja en usar la API de PartiQL. Ejecutar un escaneo recuperará todos los resultados, pero la API contiene una función clave que le brinda un mejor rendimiento que una consultar PartiQL sin filtrar: varios subprocesos.

El ThreadCount La propiedad de conexión se puede configurar para influir en la cantidad de subprocesos que se utilizarán al ejecutar una solicitud de exploración. El uso de más subprocesos hará que se ocupe más memoria, pero dará como resultado resultados más rápidos por subproceso. El valor predeterminado es 4. Esto funciona mejor en tablas donde se aprovisiona un rendimiento alto o variable.

En los casos en los que se exceda el rendimiento máximo de una tabla en un solo subproceso, no hay ningún beneficio en usar un escaneo sobre la API de PartiQL de un solo subproceso. Amazon DynamoDB simplemente acelerará todos los subprocesos hasta que ya no se supere el rendimiento máximo.

Requisitos Mínimos de Gestión de Identidades y Accesos

Recomendamos utilizar funciones predefinidas para los servicios en lugar de crear políticas de IAM personalizadas. Los roles predefinidos para Amazon DynamoDB son

  • AmazonDynamoDBReadOnlyAccess: otorga acceso de solo lectura a los recursos de DynamoDB a través de la Management Console de AWS.
  • AmazonDynamoDBFullAccess: otorga acceso completo a los recursos de DynamoDB a través de la Management Console de AWS.

Si desea crear políticas personalizadas, utilice las funciones que se describen en la siguiente tabla. Tenga en cuenta que las políticas específicas requeridas por el controlador de Amazon DynamoDB están sujetas a cambios en versiones futuras. Amazon DynamoDB requiere como mínimo los siguientes permisos:

Rol de IAM Descripción
dynamodb:ListTables En otras palabras, la acción dynamodb:ListTables necesita un recurso , y las otras acciones pueden tener permiso para todas las tablas arn:aws:dynamodb:us-east-1:987654321098:table/ oa una lista de tablas específicas:
dynamodb:DescribeTabla Requerido para obtener metadatos sobre la tabla seleccionada. Se utiliza durante la recuperación de metadatos de la tabla para determinar dinámicamente la lista de columnas. Esta acción admite permisos a nivel de recursos, por lo que puede especificar las tablas de las que desea obtener los metadatos. Por ejemplo, para la tabla Clientes y Pedidos en la región Virginia del Norte us-east-1, para la cuenta 987654321098:
dynamodb:Escanear Necesario para obtener uno o más elementos accediendo a todos los elementos de la tabla. Se utiliza para la mayoría de las consultas SELECT, por ejemplo, SELECT * FROM [Customers]. Esta acción admite permisos a nivel de recursos, por lo que puede especificar las tablas de las que desea obtener datos, de forma similar a dynamodb:DescribeTable.
dynamodb:PartiQLSelect Obligatorio para obtener elementos específicos de una tabla al usar consultas SELECT y filtrar por la columna de clave principal, por ejemplo, SELECT * FROM [Customers] DONDE id=1234. Esta acción admite permisos a nivel de recursos, por lo que puede especificar las tablas de las que desea obtener datos, de forma similar a dynamodb:DescribeTable.
dynamodb:PartiQLInsert Necesario para insertar datos en una tabla. Esta acción admite permisos de nivel de recursos, por lo que puede especificar las tablas en las que desea insertar datos, de forma similar a dynamodb:DescribeTable.
dynamodb:PartiQLUupdate Necesario para modificar datos en una tabla. Esta acción admite permisos a nivel de recursos, por lo que puede especificar las tablas en las que desea modificar los datos, de forma similar a dynamodb:DescribeTable.
dynamodb:PartiQLDelete Necesario para eliminar datos de una tabla. Esta acción admite permisos a nivel de recursos, por lo que puede especificar las tablas de las que desea eliminar datos, de forma similar a dynamodb:DescribeTable.
dynamodb:CrearTabla Necesario para crear una tabla. Esta acción admite permisos a nivel de recursos, por lo que puede especificar los nombres de las tablas que puede crear.

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.

Base de Datos NoSQL

Amazon DynamoDB es una base de datos sin esquema que proporciona alto rendimiento, disponibilidad y escalabilidad. Estas características no son necesariamente incompatibles con un lenguaje de consultar compatible con estándares como SQL-92. En esta sección, mostraremos varios esquemas que ofrece el conector para cerrar la brecha con SQL relacional y una base de datos de documentos.

El conector modela las tablas de Amazon DynamoDB sin esquema en tablas relacionales y traduce las consultas SQL en consultas de Amazon DynamoDB para obtener los datos solicitados. El conector ofrece dos formas, Descubrimiento automático de esquemas y Definiciones de esquema personalizado, para modelar las tablas de Amazon DynamoDB como tablas relacionales.

El Descubrimiento automático de esquemas encuentra automáticamente los tipos de datos en una tabla de Amazon DynamoDB al escanear un número configurado de filas de la tabla. Puedes usar RowScanDepth, FlattenArrays, y FlattenObjects para controlar la representación relacional de las tablas en Amazon DynamoDB.

Opcionalmente, puede usar Definiciones de esquema personalizadas para proyectar la estructura relacional elegida sobre una tabla de Amazon DynamoDB. Esto le permite definir los nombres de las columnas elegidas, sus tipos de datos y la ubicación de sus valores en la tabla de Amazon DynamoDB.

Descubrimiento Automático de Esquemas

El conector infiere automáticamente un esquema relacional al inspeccionar una serie de documentos de Amazon DynamoDB en una colección. Puedes usar el RowScanDepth propiedad para definir el número de documentos que escaneará el conector para hacerlo. Las columnas identificadas durante el proceso de descubrimiento dependen de FlattenArrays y FlattenObjects propiedades.

Aplanar Objetos

Si FlattenObjects está configurado, todos los objetos anidados se aplanarán en una serie de columnas. Por ejemplo, considere el siguiente documento:

{
  id: 12,
  name: "Lohia Manufacturers Inc.",
  address: {street: "Main Street", city: "Chapel Hill", state: "NC"},
  offices: ["Chapel Hill", "London", "New York"],
  annual_revenue: 35,600,000
}

Este documento estará representado por las siguientes columnas:

Nombre de columna Tipo de datos Valor de ejemplo
identificación Entero 12
nombre Cadena Lohia Fabricantes Inc.
dirección.calle Cadena Calle principal
dirección.ciudad Cadena Colina de la capilla
dirección.estado Cadena Carolina del Norte
oficinas Cadena ["Chapel Hill", "Londres", "Nueva York"]
ingresos_anuales Doble 35, 600, 000

Si FlattenObjects no está configurado, las columnas dirección.calle, dirección.ciudad y dirección.estado no se dividirán. En cambio, la columna de dirección de tipo cadena representará el objeto completo. su valor seria {street: "Main Street", city: "Chapel Hill", state: "NC"}. Vea Funciones JSON para obtener más detalles sobre cómo trabajar con agregados JSON. Puede cambiar el carácter separador en el nombre de la columna de un punto configurando SeparatorCharacter.

Aplanamiento de Matrices

El FlattenArrays La propiedad se puede usar para aplanar valores de matriz en columnas propias. Esto solo se recomienda para matrices que se espera que sean cortas, por ejemplo, las siguientes coordenadas:

"coord": [-73.856077, 40.848447 ]

El FlattenArrays la propiedad se puede establecer en 2 para representar la matriz anterior de la siguiente manera:

Nombre de columna Tipo de datos Valor de ejemplo
coord.0 Flotador -73.856077
coord.1 Flotador 40.848447

Es mejor dejar otras matrices ilimitadas como están y dividir los datos según sea necesario usando Funciones JSON.

Aplanamiento Vertical

Es posible recuperar una matriz de objetos como si fuera una tabla separada. Tome la siguiente estructura JSON de la tabla de restaurantes, por ejemplo:

{
  "restaurantid" : "30075445",
  "address" : {
    "building" : "1007",
    "coord" : [-73.856077, 40.848447],
    "street" : "Morris Park Ave",
    "zipcode" : "10462"
  },
  "borough" : "Bronx",
  "cuisine" : "Bakery",
  "grades" : [{
      "date" : 1393804800000,
      "grade" : "B",
      "score" : 2
    }, {
      "date" : 1378857600000,
      "grade" : "A",
      "score" : 6
    }, {
      "date" : 1358985600000,
      "grade" : "A",
      "score" : 10
    }],
  "name" : "Morris Park Bake Shop"
}

El aplanamiento vertical le permitirá recuperar la matriz de calificaciones como una tabla separada usando la siguiente sintaxis:

SELECT * FROM [restaurants.grades]

Esta consultar devuelve el siguiente conjunto de datos:

fecha grado puntuación _índice
1393804800000 B 2 1
1378857600000 un 6 2
1358985600000 un 10 3

La matriz de grados también se podría anidar algunos niveles más profundos. En ese caso, se debe utilizar la misma sintaxis:

SELECT * FROM [restaurants.cuisine.bakery.grades]

También hay casos en los que la estructura anidada incluye otra matriz en un nivel superior. Tome el siguiente JSON como ejemplo:

{
  "restaurantid" : "30075445",
  "reviews": [
   {
    "grades": [
     {
      "date": 1393804800000,
      "score": 2,
      "grade": "B"
     },
     {
      "date": 1378857600000,
      "score": 6,
      "grade": "A"
     },
     {
      "date": 1358985600000,
      "score": 10,
      "grade": "A"
     }]
    }],
  "name" : "Morris Park Bake Shop"
}

Para esta estructura, el índice de la matriz de reseñas deberá envolverse entre corchetes. Si ya se están utilizando como caracteres de escape en la consultar SQL, los corchetes deberán escaparse como se muestra en la consultar a continuación:

SELECT * FROM [restaurants.reviews.\[0\].grades]

Esta consultar devolverá el mismo conjunto de datos que la estructura JSON en la parte superior. Tenga en cuenta que esta sintaxis distingue entre mayúsculas y minúsculas, así que asegúrese de escribir los nombres de los campos de la misma forma en que se guardan en DynamoDB.

Funciones JSON

El conector puede devolver estructuras JSON como valores de columna. El conector le permite utilizar funciones SQL estándar para trabajar con estas estructuras JSON. Los ejemplos de esta sección utilizan la siguiente matriz:

[
     { "grade": "A", "score": 2 },
     { "grade": "A", "score": 6 },
     { "grade": "A", "score": 10 },
     { "grade": "A", "score": 9 },
     { "grade": "B", "score": 14 }
]

JSON_EXTRACT

La función JSON_EXTRACT puede extraer valores individuales de un objeto JSON. La siguiente consultar devuelve los valores que se muestran a continuación en función de la ruta JSON pasada como segundo argumento de la función:

SELECT Name, JSON_EXTRACT(grades,'[0].grade') AS Grade, JSON_EXTRACT(grades,'[0].score') AS Score FROM Students;
Nombre de columna Valor de ejemplo
Grade un
Score 2

JSON_COUNT

La función JSON_COUNT devuelve la cantidad de elementos en una matriz JSON dentro de un objeto JSON. La siguiente consultar devuelve la cantidad de elementos especificados por la ruta JSON pasada como segundo argumento a la función:

SELECT Name, JSON_COUNT(grades,'[x]') AS NumberOfGrades FROM Students;
Nombre de columna Valor de ejemplo
NumberOfGrades 5

JSON_SUM

La función JSON_SUM devuelve la suma de los valores numéricos de una matriz JSON dentro de un objeto JSON. La siguiente consultar devuelve el total de los valores especificados por la ruta JSON pasada como segundo argumento a la función:

SELECT Name, JSON_SUM(score,'[x].score') AS TotalScore FROM Students;
Nombre de columna Valor de ejemplo
TotalScore 41

JSON_MIN

La función JSON_MIN devuelve el valor numérico más bajo de una matriz JSON dentro de un objeto JSON. La siguiente consultar devuelve el valor mínimo especificado por la ruta JSON pasada como segundo argumento a la función:

SELECT Name, JSON_MIN(score,'[x].score') AS LowestScore FROM Students;
Nombre de columna Valor de ejemplo
LowestScore 2

JSON_MAX

La función JSON_MAX devuelve el valor numérico más alto de una matriz JSON dentro de un objeto JSON. La siguiente consultar devuelve el valor máximo especificado por la ruta JSON pasada como segundo argumento a la función:

SELECT Name, JSON_MAX(score,'[x].score') AS HighestScore FROM Students;
Nombre de columna Valor de ejemplo
HighestScore 14

Consultas de DynamoDB

Debido a que Amazon DynamoDB es una fuente de datos NoSQL, las consultas deben manejarse de manera un poco diferente a las bases de datos relacionales estándar.

Consultas Sensibles al Valor

La falta de un tipo de datos requerido para una columna determinada significa que puede almacenar diferentes tipos de datos en una sola columna. Por ejemplo, una fila podría tener una cadena llamada EmailAddresses y otra podría tener un StringSet también llamado EmailAddresses. Para estos y otros tipos de casos, el conector determina en gran medida qué tipo de datos usar en función de los valores de la consultar.

Por ejemplo, supongamos que tiene una tabla de elementos donde PartNumber podría almacenar una cadena o un número. Para recuperar una pieza con el Número de pieza del valor numérico 12345, debería emitir la siguiente consultar:

SELECT Name, Location, Quantity, PartNumber FROM Items WHERE PartNumber = 12345

Alternativamente, el PartNumber podría haberse almacenado como la cadena "12345". Para recuperar una parte con PartNumber de la cadena literal 12345, emita la siguiente consultar:

SELECT Name, Location, Quantity, PartNumber FROM Items WHERE PartNumber = '12345'

Si el tipo de datos del valor especificado no es ambiguo, siempre se usa antes del tipo de datos detectado automáticamente. En ambos casos, si se usó un parámetro en lugar de un valor codificado, el tipo de datos del parámetro se usaría para determinar qué tipo enviar a Amazon DynamoDB.

Tipo de Datos de la Columna Detectada

Si un valor no es obvio basándose únicamente en el tipo de datos detectado, el conector lo compara con la columna detectada automáticamente. Por ejemplo, si desea insertar una columna llamada Coordenadas en la tabla Ubicación, su inserción se vería así:

INSERT INTO Locations (Address, Coordinates) VALUES ('123 Fake Street', '[40.7127, 74.0059]')

Basado solo en el valor de entrada, el tipo de datos detectado es una cadena. Sin embargo, debido a que previamente se detectó automáticamente una columna de coordenadas, el conector inserta un conjunto de números y no una cadena simple.

Si una columna de coordenadas no se detectó automáticamente al escanear la tabla de ubicaciones, se utiliza el tipo de datos del valor insertado.

En este caso, aún podríamos resolver que la inserción es un NumberSet, pero costará un poco más de gastos generales hacerlo.

Contar

Amazon DynamoDB admite 2 métodos diferentes de uso de la función de agregado COUNT. Para simplemente devolver la cantidad de elementos en su tabla, emita la siguiente consultar:

SELECT COUNT(*) FROM MyTable

El conector Jitterbit para Amazon DynamoDB leerá ItemCount de la acción DescribeTable. Esto evita usar demasiadas unidades de lectura para escanear la tabla completa. Sin embargo, DynamoDB actualiza este valor aproximadamente cada seis horas y es posible que los cambios recientes no se reflejen en este valor.

Emitir las siguientes consultas de ejemplo escaneará la tabla completa para el conteo:

SELECT COUNT(*) FROM MyTable WHERE MyInt > 10
SELECT COUNT(MyInt) FROM MyTable

Consulta de Documentos y Listas

Los documentos y las listas de Amazon DynamoDB son compatibles con Jitterbit Connector para Amazon DynamoDB. Puede acceder a documentos y listas directamente en el nivel raíz o usar el '.' carácter como un divisor de jerarquía para desglosar documentos y listas.

Informes de Valores en Documentos y Listas

Cuando los tipos de datos se detectan automáticamente, se informan hasta el nivel más bajo que se puede detectar de forma fiable. Por ejemplo, un documento llamado Cliente con un hijo llamado Dirección y un hijo en Dirección llamado Calle se representaría mediante la columna Cliente.Dirección.Calle.

Sin embargo, este proceso no se aplica a las listas, ya que una lista puede tener cualquier número de entradas. Una vez que se detecta una lista o un conjunto, los valores adicionales no se notifican como disponibles en el esquema de la tabla.

Recuperar Valores No Declarados

Si hay atributos que con frecuencia no tienen un valor y, por lo tanto, no se detectan automáticamente, aún se pueden recuperar especificando la ruta correcta a ellos. Por ejemplo, para obtener el atributo Especial del documento del Cliente:

SELECT [Customer.Address.Street], [Cliente.Especial] FROM MyTable

Una vez que se ha detectado una Lista, no se notifican valores adicionales. Pero se puede hacer referencia a los valores individuales de la lista especificando '.' y un numero Por ejemplo:

SELECT [MiLista.0], [MyList.1.Email], [MiLista.1.Edad] FROM MyTable

Esto recuperará el primer valor de la lista y los atributos Correo y Edad del segundo valor.

Inserción de Documentos y Listas

Las inserciones en Amazon DynamoDB requieren que se especifique el objeto completo durante la inserción. Inserta un documento o lista en la raíz. Pase el agregado JSON completo. Por ejemplo:

INSERT INTO MyTable (PrimaryKey, EmailAddresses, Address, MyList) VALUES ('uniquekey', '["user@email.com", "user2@email2.com"]', '{"Street":"123 Fake Street", "City":"Chapel Hill", "Zip":"27713"}', '[{"S":"somestr"},{"NS":[1,2]},{"N":4}]')

En este caso, EmailAddress se inserta como StringSet, Address se inserta como documento y MyList se inserta como lista.

Actualización de Documentos y Listas

Las actualizaciones se admiten utilizando la misma sintaxis que está disponible durante las selecciones. Los Documentos y las Listas se pueden especificar usando el '.' carácter para especificar la jerarquía. Por ejemplo:

UPDATE MyTable SET [EmailAddress.0]='user@email.com', [EmailAddress.1]='user2@email2.com', [Address.Street]='123 Fake Street', [Address.City]='Chapel Hill', [Address.Zip]='27713', [MyList.0]='somestr', [MyList.1]='[1,2]', [MyList.2]=4 WHERE PrimaryKey='uniquekey'

Tenga en cuenta que EmailAddress y MyList deben detectarse automáticamente para resolver cómo manejar EmailAddress de manera diferente a MyList. Si tiene dudas sobre si algo se detectará automáticamente o no, especificar el JSON completo para actualizar siempre funcionará.

Asignación de Tipos de Datos

Asignaciones de Tipos de Datos

El conector asigna tipos del origen de datos al tipo de datos correspondiente disponible en el esquema. Además, intentaremos escanear los datos disponibles que regresan en función de IgnoreTypes propiedad de conexión. La siguiente tabla documenta estas asignaciones.

Amazon DynamoDB Esquema
String cadena, fecha, fecha y hora, hora
Binary cadena
Number bigint, int, float (dependiendo de los datos que se detecten)
StringSet cadena
NumberSet cadena
BinarySet cadena
Map cadena
List cadena
Boolean bool
Null cadena

Tenga en cuenta que dependiendo de la configuración de IgnoreTypes, es posible que algunos de estos tipos no se detecten de forma predeterminada. La fecha, la fecha y la hora, por ejemplo, se ignoran de forma predeterminada, ya que no se pueden filtrar del lado del servidor y se pueden insertar/actualizar en un formato diferente al de las entradas existentes si están habilitadas. Tenga cuidado al habilitarlos.

FlattenArrays y FlattenObjects también se puede usar para aplanar StringSets, NumberSets, BinarySets, Maps y Lists en columnas individuales.

Definiciones de Esquemas Personalizados

Además de Descubrimiento automático de esquemas el conector también le permite definir de forma estática el esquema para su tabla de Amazon DynamoDB. Consideremos un esquema para el conjunto de datos de restaurantes.

A continuación se muestra un elemento de ejemplo de la tabla:

{
   "address":{
      "building":"461",
      "coord":[
         -74.138492,
         40.631136
      ],
      "street":"Port Richmond Ave",
      "zipcode":"10302"
   },
   "borough":"Staten Island",
   "cuisine":"Other",
   "grades":[

   ],
   "name":"Indian Oven",
   "restaurant_id":"50018994"
}

Definición de un Esquema Personalizado

Puede definir un esquema personalizado para extraer propiedades anidadas como sus propias columnas. Selecciona el Location propiedad al directorio de archivos que contendrá el archivo de esquema.

El siguiente esquema usa la propiedad other:path para definir de dónde se deben recuperar los datos de una columna en particular. Usando este modelo, puede aplanar niveles arbitrarios de jerarquía.

El atributo 'other:tableapiname' especifica la tabla a analizar. Este atributo le brinda la flexibilidad de usar varios esquemas para la misma tabla.

En Ejemplo de esquema personalizado, encontrará el esquema completo que contiene el ejemplo anterior.

<api:info title="StaticRestaurants" other:catalog="" other:schema="AmazonDynamoDB" description="StaticRestaurants" other:tableapiname="StaticRestaurants"  other:version="20">
  <attr   name="id"      xs:type="decimal"   key="true"   columnsize="17"     precision="38"   scale="6"   readonly="false"   description="Dynamic Column."   other:dynamodatatype="N"   other:relativepath="restaurant_id"   other:filterable="true"   other:fullpath="restaurant_id"      other:apiname="&amp;quot;restaurant_id&amp;quot;"                          />
  <attr   name="borough"            xs:type="string"                 columnsize="2000"                                readonly="false"   description="Dynamic Column."   other:dynamodatatype="S"   other:relativepath="borough"         other:filterable="true"   other:fullpath="borough"            other:apiname="&amp;quot;borough&amp;quot;"                                />
  <attr   name="address_zipcode"    xs:type="int"                    columnsize="4"      precision="10"               readonly="false"   description="Dynamic Column."   other:dynamodatatype="S"   other:relativepath="zipcode"         other:filterable="true"   other:fullpath="address.zipcode"    other:apiname="&amp;quot;address&amp;quot;.&amp;quot;zipcode&amp;quot;"    />
  <attr   name="address_coord_0"    xs:type="double"                 columnsize="8"      precision="15"               readonly="false"   description="Dynamic Column."   other:dynamodatatype="N"   other:relativepath="coord"           other:filterable="true"   other:fullpath="address.coord[0]"   other:apiname="&amp;quot;address&amp;quot;.&amp;quot;coord&amp;quot;[0]"   />
  <attr   name="address_coord_1"    xs:type="double"                 columnsize="8"      precision="15"               readonly="false"   description="Dynamic Column."   other:dynamodatatype="N"   other:relativepath="coord[1]"        other:filterable="true"   other:fullpath="address.coord[1]"   other:apiname="&amp;quot;address&amp;quot;.&amp;quot;coord&amp;quot;[1]"   />
  <attr   name="address_building"   xs:type="int"                    columnsize="4"      precision="10"               readonly="false"   description="Dynamic Column."   other:dynamodatatype="S"   other:relativepath="building"        other:filterable="true"   other:fullpath="address.building"   other:apiname="&amp;quot;address&amp;quot;.&amp;quot;building&amp;quot;"   />
  <attr   name="address_street"     xs:type="string"                 columnsize="2000"                                readonly="false"   description="Dynamic Column."   other:dynamodatatype="S"   other:relativepath="street"          other:filterable="true"   other:fullpath="address.street"     other:apiname="&amp;quot;address&amp;quot;.&amp;quot;street&amp;quot;"     />
  <attr   name="name"               xs:type="string"                 columnsize="2000"                                readonly="false"   description="Dynamic Column."   other:dynamodatatype="S"   other:relativepath="name"            other:filterable="true"   other:fullpath="name"               other:apiname="&amp;quot;name&amp;quot;"                                   />
  <attr   name="cuisine"            xs:type="string"                 columnsize="2000"                                readonly="false"   description="Dynamic Column."   other:dynamodatatype="S"   other:relativepath="cuisine"         other:filterable="true"   other:fullpath="cuisine"            other:apiname="&amp;quot;cuisine&amp;quot;"                                />
</api:info>

Ejemplo de Esquema Personalizado

Esta sección contiene un esquema completo. La sección de información habilita una vista relacional de una tabla de Amazon DynamoDB. Para obtener más detalles, consulte Definiciones de esquemas personalizados. La siguiente tabla permite los comandos SELECT, INSERT, UPDATE y DELETE implementados en las secciones GET, POST, MERGE y DELETE del siguiente esquema. Selecciona el Location propiedad al directorio de archivos que contendrá el archivo de esquema.

Utilice el atributo 'other:tableapiname' para especificar el nombre de la tabla de Amazon DynamoDB que desea analizar. Puede usar el atributo 'otro: tableapiname' para definir múltiples esquemas para la misma tabla. Nota: Amazon DynamoDB distingue entre mayúsculas y minúsculas. El nombre de su tabla y las rutas especificadas deben coincidir con las mayúsculas y minúsculas de cómo aparecen sus campos en Amazon DynamoDB.

Las operaciones, como dynamodbadoProviderOperationCaller, son implementaciones internas y también se pueden copiar tal cual.

<api:script xmlns:api="http://apiscript.com/ns?v1" xmlns:xs="http://www.cdata.com/ns/rsbscript/2" xmlns:other="http://apiscript.com/ns?v1">
  <api:info title="StaticRestaurants" other:catalog="" other:schema="AmazonDynamoDB" description="StaticRestaurants" other:tableapiname="StaticRestaurants"  other:version="20">
    <attr   name="id"      xs:type="decimal"   key="true"   columnsize="17"     precision="38"   scale="6"   readonly="false"   description="Dynamic Column."   other:dynamodatatype="N"   other:relativepath="restaurant_id"   other:filterable="true"   other:fullpath="restaurant_id"      other:apiname="&amp;quot;restaurant_id&amp;quot;"                          />
    <attr   name="borough"            xs:type="string"                 columnsize="2000"                                readonly="false"   description="Dynamic Column."   other:dynamodatatype="S"   other:relativepath="borough"         other:filterable="true"   other:fullpath="borough"            other:apiname="&amp;quot;borough&amp;quot;"                                />
    <attr   name="address_zipcode"    xs:type="int"                    columnsize="4"      precision="10"               readonly="false"   description="Dynamic Column."   other:dynamodatatype="S"   other:relativepath="zipcode"         other:filterable="true"   other:fullpath="address.zipcode"    other:apiname="&amp;quot;address&amp;quot;.&amp;quot;zipcode&amp;quot;"    />
    <attr   name="address_coord_0"    xs:type="double"                 columnsize="8"      precision="15"               readonly="false"   description="Dynamic Column."   other:dynamodatatype="N"   other:relativepath="coord"           other:filterable="true"   other:fullpath="address.coord[0]"   other:apiname="&amp;quot;address&amp;quot;.&amp;quot;coord&amp;quot;[0]"   />
    <attr   name="address_coord_1"    xs:type="double"                 columnsize="8"      precision="15"               readonly="false"   description="Dynamic Column."   other:dynamodatatype="N"   other:relativepath="coord[1]"        other:filterable="true"   other:fullpath="address.coord[1]"   other:apiname="&amp;quot;address&amp;quot;.&amp;quot;coord&amp;quot;[1]"   />
    <attr   name="address_building"   xs:type="int"                    columnsize="4"      precision="10"               readonly="false"   description="Dynamic Column."   other:dynamodatatype="S"   other:relativepath="building"        other:filterable="true"   other:fullpath="address.building"   other:apiname="&amp;quot;address&amp;quot;.&amp;quot;building&amp;quot;"   />
    <attr   name="address_street"     xs:type="string"                 columnsize="2000"                                readonly="false"   description="Dynamic Column."   other:dynamodatatype="S"   other:relativepath="street"          other:filterable="true"   other:fullpath="address.street"     other:apiname="&amp;quot;address&amp;quot;.&amp;quot;street&amp;quot;"     />
    <attr   name="name"               xs:type="string"                 columnsize="2000"                                readonly="false"   description="Dynamic Column."   other:dynamodatatype="S"   other:relativepath="name"            other:filterable="true"   other:fullpath="name"               other:apiname="&amp;quot;name&amp;quot;"                                   />
    <attr   name="cuisine"            xs:type="string"                 columnsize="2000"                                readonly="false"   description="Dynamic Column."   other:dynamodatatype="S"   other:relativepath="cuisine"         other:filterable="true"   other:fullpath="cuisine"            other:apiname="&amp;quot;cuisine&amp;quot;"                                />
  </api:info>


  <api:script method="GET">
    <api:call op="dynamodbadoProviderOperationCaller">
      <api:push/>
    </api:call>
  </api:script>

  <api:script method="POST">
    <api:call op="dynamodbadoProviderOperationCaller">
      <api:push/>
    </api:call>
  </api:script>

  <api:script method="MERGE">
    <api:call op="dynamodbadoProviderOperationCaller">
      <api:push/>
    </api:call>
  </api:script>

  <api:script method="DELETE">
    <api:call op="dynamodbadoProviderOperationCaller">
      <api:push/>
    </api:call>
  </api:script>
</api:script>

Características Avanzadas

Esta sección detalla una selección de funciones avanzadas del conector de Amazon DynamoDB.

Detección automática de índices

El AutoDetectIndex La propiedad proporciona un acceso rápido a los elementos de una tabla al detectar un índice alternativo que se puede consultar en lugar de la tabla misma. Este índice secundario es una estructura de datos que contiene un subconjunto de atributos de una tabla y una clave alternativa. La ventaja de consultar un índice en lugar de la tabla principal es omitir un análisis completo de la tabla principal. Esto hace que la operación sea mucho más rápida.

Vistas definidas por el usuario

El conector le permite definir tablas virtuales, llamadas vistas definidas por el usuario, cuyo contenido se decide mediante una consultar preconfigurada. Estas vistas son útiles cuando no puede controlar directamente las consultas que se envían a los controladores. Consulte Vistas definidas por el usuario para obtener una descripción general de la creación y configuración de vistas personalizadas.

Configuración SSL

Usar Configuración SSL para ajustar cómo el conector maneja las negociaciones de certificados TLS/SSL. Puede elegir entre varios formatos de certificado; ver el SSLServerCert propiedad en "Opciones de cadena de conexión" para obtener más información.

Apoderado

Para configurar el conector mediante Configuración de proxy de Agente Privado, Selecciona el Use Proxy Settings casilla de verificación en la pantalla de configuración de la conexión.

Vistas Definidas por el Usuario

El conector Jitterbit para Amazon DynamoDB le permite definir una tabla virtual cuyo contenido se decide mediante una consultar preconfigurada. Estas se denominan Vistas definidas por el usuario, que son útiles en situaciones en las que no puede controlar directamente la consultar que se envía al controlador, por ejemplo, cuando se utiliza el controlador de Jitterbit. Las vistas definidas por el usuario se pueden utilizar para definir predicados que siempre se aplican. Si especifica predicados adicionales en la consultar a la vista, se combinan con la consultar ya definida como parte de la vista.

Hay dos formas de crear vistas definidas por el usuario:

  • Cree un archivo de configuración con formato JSON que defina las vistas que desea.
  • Declaraciones DDL.

Definición de Vistas Usando un Archivo de Configuración

Las vistas definidas por el usuario se definen en un archivo de configuración con formato JSON llamado UserDefinedViews.json. El conector detecta automáticamente las vistas especificadas en este archivo.

También puede tener múltiples definiciones de vista y controlarlas usando UserDefinedViews propiedad de conexión. Cuando utiliza esta propiedad, el conector solo ve las vistas especificadas.

Este archivo de configuración de vista definida por el usuario tiene el siguiente formato:

  • Cada elemento raíz define el nombre de una vista.
  • Cada elemento raíz contiene un elemento hijo, llamado query, que contiene la consultar SQL personalizada para la vista.

Por ejemplo:

{
    "MyView": {
        "query": "SELECT * FROM Account WHERE MyColumn = 'value'"
    },
    "MyView2": {
        "query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
    }
}

Utilizar el UserDefinedViews propiedad de conexión para especificar la ubicación de su archivo de configuración JSON. Por ejemplo:

"UserDefinedViews", "C:\Users\yourusername\Desktop\tmp\UserDefinedViews.json"

Esquema para Vistas Definidas por el Usuario

Las vistas definidas por el usuario se exponen en UserViews esquema por defecto. Esto se hace para evitar que el nombre de la vista entre en conflicto con una entidad real en el modelo de datos. Puede cambiar el nombre del esquema utilizado para UserViews configurando UserViewsSchemaName propiedad.

Trabajar con Vistas Definidas por el Usuario

Por ejemplo, una instrucción SQL con una vista definida por el usuario llamada UserViews.RCustomers solo enumera clientes en Raleigh:

SELECT * FROM Customers WHERE City = 'Raleigh';

Un ejemplo de una consultar al controlador:

SELECT * FROM UserViews.RCustomers WHERE Status = 'Active';

Dando como resultado la consultar efectiva a la fuente:

SELECT * FROM Customers WHERE City = 'Raleigh' AND Status = 'Active';

Ese es un ejemplo muy simple de una consultar a una vista definida por el usuario que es efectivamente una combinación de la consultar de vista y la definición de vista. Es posible componer estas consultas en patrones mucho más complejos. Todas las operaciones de SQL están permitidas en ambas consultas y se combinan cuando corresponde.

Configuración SSL

Personalización de la Configuración SSL

De forma predeterminada, el conector intenta negociar SSL/TLS comparando el certificado del servidor con el almacén de certificados de confianza del sistema.

Para especificar otro certificado, consulte SSLServerCert propiedad de los formatos disponibles para hacerlo.

Modelo de Datos

El conector le permite acceder a los datos en Amazon DynamoDB mediante una interfaz estándar similar a una base de datos. Amazon DynamoDB es una base de datos en la nube NoSQL altamente escalable que es muy diferente de una base de datos normal. En esta sección, describimos cómo modelamos las tablas de Amazon DynamoDB sin esquema como Tablas y Procedimientos almacenados.

El conector puede detectar esquemas dinámicamente en el momento de la conexión. Consulte Descubrimiento automático de esquemas para obtener más información sobre la definición implícita de esquemas en el momento de la conexión. Este método es útil si la estructura de sus datos es volátil.

También puede conservar esquemas en definiciones de esquema estáticos. Los archivos de esquema del conector tienen un formato simple. Consulte Definiciones de esquemas personalizados para obtener más información sobre cómo definir y ampliar esquemas estáticos.

Mesas

La lista de tablas se recupera dinámicamente de su cuenta de Amazon DynamoDB. Puede utilizar el procedimiento almacenado* para crear una nueva tabla, o puede crear una tabla mediante la Consola de administración de Amazon Web Services.

Debido a que las tablas de DynamoDB se dividen en función de su clave, debe tener cuidado al seleccionar una clave adecuada según los requisitos de consultar de su tabla. Consulte la documentación de DynamoDB para obtener más información sobre el uso de prácticas recomendadas para modelar datos en tablas de DynamoDB. DynamoDB admite dos tipos de claves principales:

  • Clave principal hash: esta es una clave de una sola columna.
  • Clave principal hash y rango: esta es una clave de dos columnas que incluye una columna hash y una columna de rango.

El conector modelará todos los atributos clave en DynamoDB como columnas clave.

Columnas de la Tabla

Dado que las tablas de Amazon DynamoDB no tienen esquema, el conector ofrece los siguientes dos mecanismos para descubrir el esquema.

Esquemas Dinámicos

Las columnas de una tabla se determinan dinámicamente al escanear los datos en las primeras filas. Puede ajustar el número de filas que se utilizan modificando el RowScanDepth propiedad. Además del nombre de la columna, el escaneo de filas también determina el tipo de datos. La siguiente tabla muestra cómo se modelan en el conector los diferentes tipos de datos compatibles con Amazon DynamoDB.

Tipo de Amazon DynamoDB Tipo modelado Codificación Valor de muestra
Booleano Booleano No requerido Verdadero
Cadena Cadena No requerido Estados Unidos
gota Cadena No requerido
Número Doble No requerido 24.0
matriz de cadenas Cadena Matriz JSON ["EE. UU.", "Canadá", "Reino Unido"]
Matriz de números Cadena Matriz JSON [20, 200.5, 500]
Matriz de manchas Matriz JSON Matriz JSON ["ABCD", "EFGH"]
Documento Objeto JSON Objeto JSON {"Dirección":"Calle falsa 123", "Ciudad":"Chapel Hill", "Código postal":"27516"}
Lista Matriz JSON Matriz JSON [{"S":"micadena"}, {"NS":[1, 2]}, {"N":4}]

Esquemas Estáticos

En lugar de usar esquemas descubiertos dinámicamente, puede definir sus propios esquemas. Esto le dará más control sobre las columnas proyectadas y también le permitirá usar otros tipos de datos como booleanos, fecha y hora, etc. Consulte CreateSchema Procedimiento almacenado* para crear su propio esquema. Simplemente puede especificar el Nombre de archivo (ruta completa) y el Nombre de tabla del nuevo archivo de esquema, que debe coincidir con el nombre de la tabla de Amazon DynamoDB, y editar la lista de columnas para usarla en su propia tabla.

Operaciones Sin Esquema

Si bien el esquema de la tabla es necesario para informar los metadatos, los datos pueden seleccionarse, insertarse, actualizarse o eliminarse de columnas que no existen en el esquema. Las columnas que aún no existen en el esquema de la tabla tendrán sus tipos de datos determinados dinámicamente en función de los datos que se especifican. Consulte Consultas de DynamoDB para más información.

Procedimientos Almacenados

Procedimientos almacenados* están disponibles para complementar los datos disponibles de la Base de datos NoSQL. 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 Amazon DynamoDB

Nombre Descripción
CreateSchema Crea un archivo de esquema para la tabla o vista especificada.
CreateTable Crea una tabla en DynamoDB.

CrearEsquema

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

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

Crear Mesa

Crea una tabla en DynamoDB.

Aporte
Nombre Tipo Obligatorio Descripción
TableName String Cierto El nombre de la tabla a crear. Se permite un mínimo de 3 caracteres y un máximo de 255 caracteres.
PartitionKeyName String Cierto El nombre de la clave de partición para la tabla.
PartitionKeyType String Cierto El tipo de clave de partición para la tabla. Los valores permitidos son S, N, B.
SortKeyName String Falso El nombre de la clave de clasificación para la tabla.
SortKeyType String Falso El tipo de la clave de ordenación para la tabla. Los valores permitidos son S, N, B.
BillingMode String Falso Controla cómo se le cobra por el rendimiento de lectura y escritura y cómo administra la capacidad. Los valores permitidos son PROVISIONADO, PAY_PER_REQUEST. El valor predeterminado es PROVISIONADO.
ReadCapacityUnits String Falso El número máximo de lecturas fuertemente consistentes consumidas por segundo antes de que DynamoDB devuelva una ThrottlingException. El valor predeterminado es 5.
WriteCapacityUnits String Falso El número máximo de escrituras consumidas por segundo antes de que DynamoDB devuelva una ThrottlingException. El valor predeterminado es 5.
Columnas del Conjunto de Resultados
Nombre Tipo Descripción
Success String Este valor muestra si la operación fue exitosa o no.

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 Amazon DynamoDB:

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 Consultas

La siguiente tabla devuelve estadísticas de consultar para consultas de modificación de datos, incluidas las operaciones lote:

  • 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 Cuenta:

SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='Account' 
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 CreateSchema:

SELECT * FROM sys_procedureparameters WHERE ProcedureName='CreateSchema' 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 Cuenta:

SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Account'
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:amazondynamodb: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 la Base de datos NoSQL 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.

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

Propiedad Descripción
AuthScheme El esquema utilizado para la autenticación. Las entradas aceptadas son: Auto, AwsRootKeys, AwsIAMRoles, AwsEC2Roles, AwsMFA, ADFS, Okta, PingFederate, AwsCredentialsFile, AwsCognitoBasic, AwsCognitoSrp.
Domain Su nombre de dominio de AWS. Opcionalmente, puede optar por asociar su nombre de dominio con AWS.
AWSAccessKey Su clave de acceso a la cuenta de AWS. Se puede acceder a este valor desde su página de credenciales de seguridad de AWS.
AWSSecretKey La clave secreta de su cuenta de AWS. Se puede acceder a este valor desde su página de credenciales de seguridad de AWS.
AWSRoleARN El nombre de recurso de Amazon del rol que se usará al autenticarse.
AWSRegion La región de alojamiento de sus Amazon Web Services.
AWSCredentialsFile La ruta al archivo de credenciales de AWS que se utilizará para la autenticación.
AWSCredentialsFileProfile El nombre del perfil que se utilizará del AWSCredentialsFile proporcionado.
AWSSessionToken Su token de sesión de AWS.
AWSExternalId Un identificador único que puede ser necesario cuando asume un rol en otra cuenta.
MFASerialNumber El número de serie del dispositivo MFA, si se está utilizando uno.
MFAToken El token temporal disponible desde su dispositivo MFA.
TemporaryTokenDuration La cantidad de tiempo (en segundos) que durará un token temporal.
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.
AWSIdentityPoolId El ID del grupo de identidades.

SSO

Propiedad Descripción
User El usuario IDP utilizado para autenticar el IDP a través de SSO.
Password La contraseña utilizada para autenticar al usuario IDP a través de SSO.
SSOLoginURL La URL de inicio de sesión del proveedor de identidad.
SSOProperties Se requieren propiedades adicionales para conectarse al proveedor de identidad en una lista separada por punto y coma.
SSOExchangeUrl La URL utilizada para consumir la respuesta SAML e intercambiarla con credenciales específicas de Amazon DynamoDB.

SSL

Propiedad Descripción
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.

Misceláneas

Propiedad Descripción
AutoDetectIndex Un valor booleano que indica si los índices secundarios deben detectarse automáticamente en función de la consultar utilizada.
FlattenArrays De forma predeterminada, las matrices anidadas se devuelven como cadenas de JSON. La propiedad FlattenArrays se puede usar para aplanar los elementos de matrices anidadas en columnas propias. Establezca FlattenArrays en la cantidad de elementos que desea devolver de las matrices anidadas.
FlattenObjects Establezca FlattenObjects en true para aplanar las propiedades de los objetos en sus propias columnas. De lo contrario, los objetos anidados en matrices se devuelven como cadenas de JSON.
FlexibleSchema Establezca FlexibleSchema en verdadero para buscar metadatos adicionales en el conjunto de resultados de la consultar. De lo contrario, los metadatos seguirán siendo los mismos.
GenerateSchemaFiles Indica la preferencia del usuario en cuanto a cuándo deben generarse y guardarse los esquemas.
IgnoreTypes Elimina la compatibilidad con los tipos especificados. Por ejemplo, Tiempo. En su lugar, estos tipos se informarán como cadenas.
MaximumRequestRetries El número máximo de veces para reintentar una solicitud.
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 que se devolverán por página desde Amazon DynamoDB.
PseudoColumns Esta propiedad indica si incluir o no pseudocolumnas como columnas en la tabla.
RetryWaitTime El número mínimo de milisegundos que el proveedor esperará para volver a intentar una solicitud.
RowScanDepth El número máximo de filas para escanear para buscar las columnas disponibles en una tabla.
SeparatorCharacter El carácter o caracteres utilizados para denotar jerarquía.
ThreadCount La cantidad de subprocesos que se usarán al seleccionar datos a través de un escaneo paralelo. Establecer ThreadCount en 1 deshabilitará los escaneos paralelos.
Timeout El valor en segundos hasta que se lanza el error de tiempo de espera, cancelando la operación.
TypeDetectionScheme Determina cómo determinar el tipo de datos de las columnas.
UseBatchWriteItemOperation Cuando está habilitado, el proveedor utilizará la operación BatchWriteItem para manejar actualizaciones e inserciones. De forma predeterminada, el proveedor utiliza la operación ExecuteStatement/BatchExecuteStatement. Debe habilitar BatchWriteItem solo cuando inserte o actualice datos binarios o de conjuntos binarios. ExecuteStatement/BatchExecuteStatement no admite la manipulación de campos binarios.
UseConsistentReads Si se deben usar siempre lecturas consistentes o no al consultar DynamoDb.
UseSimpleNames Booleano que determina si se deben usar nombres simples para tablas y columnas.

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
AuthScheme El esquema utilizado para la autenticación. Las entradas aceptadas son: Auto, AwsRootKeys, AwsIAMRoles, AwsEC2Roles, AwsMFA, ADFS, Okta, PingFederate, AwsCredentialsFile, AwsCognitoBasic, AwsCognitoSrp.
Domain Su nombre de dominio de AWS. Opcionalmente, puede optar por asociar su nombre de dominio con AWS.
AWSAccessKey Su clave de acceso a la cuenta de AWS. Se puede acceder a este valor desde su página de credenciales de seguridad de AWS.
AWSSecretKey La clave secreta de su cuenta de AWS. Se puede acceder a este valor desde su página de credenciales de seguridad de AWS.
AWSRoleARN El nombre de recurso de Amazon del rol que se usará al autenticarse.
AWSRegion La región de alojamiento de sus Amazon Web Services.
AWSCredentialsFile La ruta al archivo de credenciales de AWS que se utilizará para la autenticación.
AWSCredentialsFileProfile El nombre del perfil que se utilizará del AWSCredentialsFile proporcionado.
AWSSessionToken Su token de sesión de AWS.
AWSExternalId Un identificador único que puede ser necesario cuando asume un rol en otra cuenta.
MFASerialNumber El número de serie del dispositivo MFA, si se está utilizando uno.
MFAToken El token temporal disponible desde su dispositivo MFA.
TemporaryTokenDuration La cantidad de tiempo (en segundos) que durará un token temporal.
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.
AWSIdentityPoolId El ID del grupo de identidades.

AuthScheme

El esquema utilizado para la autenticación. Las entradas aceptadas son: Auto, AwsRootKeys, AwsIAMRoles, AwsEC2Roles, AwsMFA, ADFS, Okta, PingFederate, AwsCredentialsFile, AwsCognitoBasic, AwsCognitoSrp.

Valores Posibles

Auto, ADFS, AwsRootKeys, AwsIAMRoles, AwsEC2Roles, AwsMFA, AwsCredentialsFile, Okta, TemporaryCredentials, PingFederate, AwsCognitoBasic, AwsCognitoSrp

Tipo de Datos

string

Valor por Defecto

"Auto"

Observaciones

Utilice las siguientes opciones para seleccionar su esquema de autenticación:

  • Automático: configure esto para que el conector intente resolver automáticamente el esquema de autenticación adecuado para usar en función de las otras propiedades de conexión especificadas.
  • TemporalCredentials: configure esto para aprovechar las credenciales de seguridad temporales junto con un token de sesión para conectarse.
  • AwsRootKeys: configure esto para usar la clave de acceso y el secreto del usuario raíz. Útil para pruebas rápidas, pero se recomienda que los casos de uso de producción usen algo con permisos limitados.
  • AwsIAMRoles: Configure para usar roles de IAM para la conexión.
  • AwsEC2Roles: configure esto para usar automáticamente los roles de IAM asignados a la máquina EC2 en la que se está ejecutando Jitterbit Connector para Amazon DynamoDB.
  • AwsMFA: configurado para usar la autenticación de múltiples factores.
  • Okta: configurado para usar una conexión de inicio de sesión único con OKTA como proveedor de identidad.
  • ADFS: configure para usar una conexión de inicio de sesión único con ADFS como proveedor de identidad.
  • PingFederate: configurado para usar una conexión de inicio de sesión único con PingFederate como proveedor de identidad.
  • AwsCredentialsFile: configurado para usar un archivo de credenciales para la autenticación.
  • 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.

Dominio

Su nombre de dominio de AWS. Opcionalmente, puede optar por asociar su nombre de dominio con AWS.

Tipo de Datos

string

Valor por Defecto

"amazonaws.com"

Observaciones

Si no tiene un nombre de dominio único de AWS, deje este valor especificado como amazonaws.com.

Clave de Acceso de AWS

Su clave de acceso a la cuenta de AWS. Se puede acceder a este valor desde su página de credenciales de seguridad de AWS.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Su clave de acceso a la cuenta de AWS. Se puede acceder a este valor desde su página de credenciales de seguridad de AWS:

  1. Inicie sesión en la consola de administración de AWS con las credenciales de su cuenta raíz.
  2. Seleccione su nombre o número de cuenta y seleccione Mis credenciales de seguridad en el menú que se muestra.
  3. Haga clic en Continuar con Credenciales de seguridad y expanda la sección Claves de acceso para administrar o crear claves de acceso a la cuenta raíz.

AWSSecretKey

La clave secreta de su cuenta de AWS. Se puede acceder a este valor desde su página de credenciales de seguridad de AWS.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

La clave secreta de su cuenta de AWS. Se puede acceder a este valor desde su página de credenciales de seguridad de AWS:

  1. Inicie sesión en la consola de administración de AWS con las credenciales de su cuenta raíz.
  2. Seleccione su nombre o número de cuenta y seleccione Mis credenciales de seguridad en el menú que se muestra.
  3. Haga clic en Continuar con Credenciales de seguridad y expanda la sección Claves de acceso para administrar o crear claves de acceso a la cuenta raíz.

AWSRoleARN

El nombre de recurso de Amazon del rol que se usará al autenticarse.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Cuando se autentica fuera de AWS, es común usar un rol para la autenticación en lugar de las credenciales de su cuenta de AWS directa. Entrando al AWSRoleARN hará que Jitterbit Connector para Amazon DynamoDB realice una autenticación basada en rol en lugar de usar AWSAccessKey y AWSSecretKey directamente. La AWSAccessKey y AWSSecretKey aún debe especificarse para realizar esta autenticación. No puede utilizar las credenciales de un usuario raíz de AWS al configurar RoleARN. La AWSAccessKey y AWSSecretKey deben ser los de un usuario de IAM.

Región de AWS

La región de alojamiento de sus Amazon Web Services.

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 sus Amazon Web Services. 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.

AWSCredentialsFile

La ruta al archivo de credenciales de AWS que se utilizará para la autenticación.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

La ruta al archivo de credenciales de AWS que se utilizará para la autenticación. Ver https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html para más información.

AWSCredentialsFileProfile

El nombre del perfil que se utilizará del AWSCredentialsFile proporcionado.

Tipo de Datos

string

Valor por Defecto

"default"

Observaciones

El nombre del perfil que se utilizará del AWSCredentialsFile proporcionado. Ver https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html para más información.

Token de Sesión de AWS

Su token de sesión de AWS.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Su token de sesión de AWS. Este valor se puede recuperar de diferentes maneras. Vea este enlace para más información.

AWSExternalId

Un identificador único que puede ser necesario cuando asume un rol en otra cuenta.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Un identificador único que puede ser necesario cuando asume un rol en otra cuenta.

MFASerialNumber

El número de serie del dispositivo MFA, si se está utilizando uno.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Puede encontrar el dispositivo para un usuario de IAM yendo a la Management Console de AWS y viendo las credenciales de seguridad del usuario. Para dispositivos virtuales, en realidad es un nombre de recurso de Amazon (como arn:aws:iam:123456789012:mfa/user).

Token MFA

El token temporal disponible desde su dispositivo MFA.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Si se requiere MFA, este valor se utilizará junto con el MFASerialNumber para recuperar credenciales temporales para iniciar sesión. Las credenciales temporales disponibles de AWS solo durarán hasta 1 hora de forma predeterminada (consulte TemporaryTokenDuration). Una vez que se acabe el tiempo, la conexión debe actualizarse para especificar un nuevo token MFA para que se puedan obtener nuevas credenciales.

Duración del Token Temporal

La cantidad de tiempo (en segundos) que durará un token temporal.

Tipo de Datos

string

Valor por Defecto

"3600"

Observaciones

Los tokens temporales se utilizan tanto con MFA como con la autenticación basada en roles. Los tokens temporales eventualmente expirarán, momento en el cual se debe obtener un nuevo token temporal. Para situaciones en las que no se usa MFA, esto no es gran cosa. Jitterbit Connector para Amazon DynamoDB solicitará internamente un nuevo token temporal una vez que el token temporal haya caducado.

Sin embargo, para la conexión requerida por MFA, un nuevo MFAToken debe especificarse en la conexión para recuperar un nuevo token temporal. Este es un problema más intrusivo ya que requiere una actualización de la conexión por parte del usuario. El máximo y mínimo que se puede especificar dependerá en gran medida de la conexión que se utilice.

Para la autenticación basada en roles, la duración mínima es de 900 segundos (15 minutos) mientras que la máxima es de 3600 (1 hora). Incluso si se usa MFA con autenticación basada en rol, 3600 sigue siendo el máximo.

Para la autenticación MFA por sí sola (usando un usuario de IAM o usuario raíz), el mínimo es 900 segundos (15 minutos), el máximo es 129600 (36 horas).

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.

AWSIdentityPoolId

El ID del grupo de identidades.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Puede encontrar esto en AWS Cognito -> Administrar grupos de identidades -> seleccione su conjunto de identidades -> Editar grupo de identidades -> ID del grupo de identidades

Inicio de Sesión Único

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

Propiedad Descripción
User El usuario IDP utilizado para autenticar el IDP a través de SSO.
Password La contraseña utilizada para autenticar al usuario IDP a través de SSO.
SSOLoginURL La URL de inicio de sesión del proveedor de identidad.
SSOProperties Se requieren propiedades adicionales para conectarse al proveedor de identidad en una lista separada por punto y coma.
SSOExchangeUrl La URL utilizada para consumir la respuesta SAML e intercambiarla con credenciales específicas de Amazon DynamoDB.

Usuario

El usuario IDP utilizado para autenticar el IDP a través de SSO.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Junto con Contraseña, este campo se utiliza para autenticarse en conexiones SSO con el servidor de Amazon DynamoDB.

Contraseña

La contraseña utilizada para autenticar al usuario IDP a través de SSO.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

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

SSOloginURL

La URL de inicio de sesión del proveedor de identidad.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

La URL de inicio de sesión del proveedor de identidad.

Propiedades de SSO

Se requieren propiedades adicionales para conectarse al proveedor de identidad en una lista separada por punto y coma.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Se requieren propiedades adicionales para conectarse al proveedor de identidad en una lista separada por punto y coma. SSOProperties se utiliza junto con AWSRoleARN y AWSPrincipalARN. La siguiente sección proporciona un ejemplo usando el proveedor de identidad OKTA.

Autenticación con ADFS

Configure el AuthScheme a ADFS. Es necesario establecer las siguientes propiedades de conexión:

A continuación se muestra una cadena de conexión de ejemplo:

AuthScheme=ADFS; AWSRegion=Ireland; User=user@cdata.com; Password=CH8WerW121235647iCa6; SSOLoginURL='https://adfs.domain.com'; AWSRoleArn=arn:aws:iam:1234:role/ADFS_SSO; AWSPrincipalArn=arn:aws:iam:1234:saml-provider/ADFSProvider; S3StagingDirectory=s3://athena/staging;
ADFS Integrado

El flujo integrado de ADFS indica que se está conectando con currently logged in Windows user credentials. Para utilizar el flujo integrado de ADFS, simplemente no especifique el Usuario y contraseña, pero de lo contrario, siga los mismos pasos en la guía ADFS anterior.

Autenticación con Okta

Configure el AuthScheme a Okta. Las siguientes propiedades de conexión se utilizan para conectarse a Okta:

La siguiente SSOProperties son necesarios para autenticarse en Okta:

  • APIToken (opcional): establezca esto en el token de API que el cliente creó a partir de la organización de Okta. Debe usarse al autenticar a un usuario a través de una aplicación confiable o un proxy que anula el contexto de solicitud del cliente de OKTA.
  • MFAType (opcional): configure esto solo en caso de que haya configurado el flujo MFA. Actualmente solo admitimos los siguientes tipos: OktaVerify, Correo y SMS.
  • MFAPassCode (opcional): configure esto solo en caso de que haya configurado el flujo MFA. Si está configurado como vacío/no válido, el controlador emitirá inicialmente un desafío de MFA que activará la plataforma para enviarle una contraseña de un solo uso a su dispositivo o correo, según el tipo de MFA configurado. Debe volver a emitir otra conexión en la que el valor de la contraseña de un solo uso recuperado se pase a la propiedad de conexión MFAPassCode.

La siguiente es una cadena de conexión de ejemplo:

AuthScheme=Okta; AWSRegion=Ireland; User=user@cdata.com; Password=CH8WerW121235647iCa6; SSOLoginURL='https://cdata-us.okta.com/home/amazon_aws/0oa35m8arsAL5f5NrE6NdA356/272'; SSOProperties='ApiToken=01230GGG2ceAnm_tPAf4MhiMELXZ0L0N1pAYrO1VR-hGQSf;'; AWSRoleArn=arn:aws:iam:1234:role/Okta_SSO; AWSPrincipalARN=arn:aws:iam:1234:saml-provider/OktaProvider; S3StagingDirectory=s3://athena/staging;

SSOExchangeUrl

La URL utilizada para consumir la respuesta SAML e intercambiarla con credenciales específicas de Amazon DynamoDB.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Jitterbit Connector para Amazon DynamoDB utilizará la URL especificada aquí para consumir una respuesta SAML y recuperar credenciales específicas de Amazon DynamoDB. Las credenciales recuperadas son la pieza final durante la conexión SSO que se utilizan para comunicarse con Amazon DynamoDB.

SSL

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

Propiedad Descripción
SSLServerCert El certificado que se aceptará del servidor al conectarse mediante TLS/SSL.

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.

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%\\\AmazonDynamoDB 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%\\AmazonDynamoDB 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.

Misceláneas

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

Propiedad Descripción
AutoDetectIndex Un valor booleano que indica si los índices secundarios deben detectarse automáticamente en función de la consultar utilizada.
FlattenArrays De forma predeterminada, las matrices anidadas se devuelven como cadenas de JSON. La propiedad FlattenArrays se puede usar para aplanar los elementos de matrices anidadas en columnas propias. Establezca FlattenArrays en la cantidad de elementos que desea devolver de las matrices anidadas.
FlattenObjects Establezca FlattenObjects en true para aplanar las propiedades de los objetos en sus propias columnas. De lo contrario, los objetos anidados en matrices se devuelven como cadenas de JSON.
FlexibleSchema Establezca FlexibleSchema en verdadero para buscar metadatos adicionales en el conjunto de resultados de la consultar. De lo contrario, los metadatos seguirán siendo los mismos.
GenerateSchemaFiles Indica la preferencia del usuario en cuanto a cuándo deben generarse y guardarse los esquemas.
IgnoreTypes Elimina la compatibilidad con los tipos especificados. Por ejemplo, Tiempo. En su lugar, estos tipos se informarán como cadenas.
MaximumRequestRetries El número máximo de veces para reintentar una solicitud.
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 que se devolverán por página desde Amazon DynamoDB.
PseudoColumns Esta propiedad indica si incluir o no pseudocolumnas como columnas en la tabla.
RetryWaitTime El número mínimo de milisegundos que el proveedor esperará para volver a intentar una solicitud.
RowScanDepth El número máximo de filas para escanear para buscar las columnas disponibles en una tabla.
SeparatorCharacter El carácter o caracteres utilizados para denotar jerarquía.
ThreadCount La cantidad de subprocesos que se usarán al seleccionar datos a través de un escaneo paralelo. Establecer ThreadCount en 1 deshabilitará los escaneos paralelos.
Timeout El valor en segundos hasta que se lanza el error de tiempo de espera, cancelando la operación.
TypeDetectionScheme Determina cómo determinar el tipo de datos de las columnas.
UseBatchWriteItemOperation Cuando está habilitado, el proveedor utilizará la operación BatchWriteItem para manejar actualizaciones e inserciones. De forma predeterminada, el proveedor utiliza la operación ExecuteStatement/BatchExecuteStatement. Debe habilitar BatchWriteItem solo cuando inserte o actualice datos binarios o de conjuntos binarios. ExecuteStatement/BatchExecuteStatement no admite la manipulación de campos binarios.
UseConsistentReads Si se deben usar siempre lecturas consistentes o no al consultar DynamoDb.
UseSimpleNames Booleano que determina si se deben usar nombres simples para tablas y columnas.

Índice de Detección Automática

Un valor booleano que indica si los índices secundarios deben detectarse automáticamente en función de la consultar utilizada.

Tipo de Datos

bool

Valor por Defecto

true

Observaciones

En DynamoDB, puede usar índices secundarios para seleccionar datos más rápidamente de una tabla determinada. De forma predeterminada, intentamos detectar automáticamente un índice para usar en función de los criterios de consultar. Sin embargo, esto puede no ser siempre deseable. Para desactivar la lógica de detección de índices, establezca la propiedad en false o, si tiene control sobre la consultar y prefiere especificar el índice usted mismo, use la pseudocolumna SecondaryIndexName para especificar qué índice usar (si corresponde).

FlattenArrays

De forma predeterminada, las matrices anidadas se devuelven como cadenas de JSON. La propiedad FlattenArrays se puede usar para aplanar los elementos de matrices anidadas en columnas propias. Establezca FlattenArrays en la cantidad de elementos que desea devolver de las matrices anidadas.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

De forma predeterminada, las matrices anidadas se devuelven como cadenas de JSON. El FlattenArrays La propiedad se puede usar para aplanar los elementos de matrices anidadas en columnas propias. Esto solo se recomienda para arreglos que se espera que sean cortos.

Colocar FlattenArrays a la cantidad de elementos que desea devolver de las matrices anidadas. Los elementos especificados se devuelven como columnas. El índice de base cero se concatena con el nombre de la columna. Se ignoran otros elementos.

Por ejemplo, puede devolver un número arbitrario de elementos de una matriz de cadenas:

["FLOW-MATIC","LISP","COBOL"]

Cuando FlattenArrays se establece en 1, la matriz anterior se aplana en la siguiente tabla:

Nombre de columna Valor de columna
languages_0 FLOW-MATIC

FlattenObjects

Establezca FlattenObjects en true para aplanar las propiedades de los objetos en sus propias columnas. De lo contrario, los objetos anidados en matrices se devuelven como cadenas de JSON.

Tipo de Datos

bool

Valor por Defecto

true

Observaciones

Colocar FlattenObjects a verdadero para aplanar las propiedades del objeto en columnas propias. De lo contrario, los objetos anidados en matrices se devuelven como cadenas de JSON. El nombre de la propiedad se concatena con el nombre del objeto con un guión bajo para generar el nombre de la columna.

Por ejemplo, puede aplanar los objetos anidados a continuación en el momento de la conexión:

[
     { "grade": "A", "score": 2 },
     { "grade": "A", "score": 6 },
     { "grade": "A", "score": 10 },
     { "grade": "A", "score": 9 },
     { "grade": "B", "score": 14 }
]

Cuando FlattenObjects se establece en verdadero y FlattenArrays se establece en 1, la matriz anterior se aplana en la siguiente tabla:

Nombre de columna Valor de columna
grades_0_grade un
grades_0_score 2

Esquema Flexible

Establezca FlexibleSchema en verdadero para buscar metadatos adicionales en el conjunto de resultados de la consultar. De lo contrario, los metadatos seguirán siendo los mismos.

Tipo de Datos

bool

Valor por Defecto

true

Observaciones

Colocar FlexibleSchema a verdadero para buscar metadatos adicionales en el conjunto de resultados de la consultar. De lo contrario, los metadatos seguirán siendo los mismos.

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.

Ignorar Tipos

Elimina la compatibilidad con los tipos especificados. Por ejemplo, Tiempo. En su lugar, estos tipos se informarán como cadenas.

Tipo de Datos

string

Valor por Defecto

"Datetime,Date,Time"

Observaciones

Elimina la compatibilidad con los tipos especificados. Por ejemplo, Tiempo. En su lugar, estos tipos se informarán como cadenas.

Máximo de Reintentos de Solicitud

El número máximo de veces para reintentar una solicitud.

Tipo de Datos

string

Valor por Defecto

"4"

Observaciones

MaximumRequestRetries es la cantidad máxima de veces que el conector volverá a intentar una solicitud cuando el problema se haya detectado como temporal (errores como "error desconocido", problemas de red y superación del umbral máximo por tabla). En este caso, en el primer reintento, el conector retrocederá y esperará la cantidad de tiempo designada por RetryWaitTime. Si esa solicitud falla, el conector duplicará el tiempo y luego lo duplicará nuevamente hasta que el conector haya agotado los reintentos disponibles.

Por ejemplo, si RetryWaitTime se establece en 2 segundos y MaximumRequestRetries se establece en 5, los tiempos de espera serán los siguientes: 0 -> 2 -> 4 -> 8 -> 16 -> 32.

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 que se devolverán por página desde Amazon DynamoDB.

Tipo de Datos

int

Valor por Defecto

2000

Observaciones

El Pagesize la propiedad afecta la cantidad máxima de resultados que se devolverán por página desde Amazon DynamoDB. Por defecto esta propiedad tiene el valor '-1' lo que indica que el proveedor intentará obtener todos los registros sin límite por página.

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, "*=*".

ReintentarEsperarTiempo

El número mínimo de milisegundos que el proveedor esperará para volver a intentar una solicitud.

Tipo de Datos

string

Valor por Defecto

"2000"

Observaciones

El valor de esta propiedad se duplica en cada reintento para determinar cuánto tiempo esperar hasta el próximo reintento. Especifique el número máximo de reintentos con MaximumRequestRetries.

FilaExploraciónProfundidad

El número máximo de filas para escanear para buscar las columnas disponibles en una tabla.

Tipo de Datos

int

Valor por Defecto

50

Observaciones

Las columnas de una tabla deben determinarse escaneando las filas de la tabla. Este valor determina el número máximo de filas que se escanearán.

Establecer un valor alto puede disminuir el rendimiento. Establecer un valor bajo puede evitar que el tipo de datos se determine correctamente, especialmente cuando hay datos nulos.

SeparadorCarácter

El carácter o caracteres utilizados para denotar jerarquía.

Tipo de Datos

string

Valor por Defecto

"."

Observaciones

Para aplanar estructuras como mapas y atributos de lista en DynamoDB, necesitamos algún especificador que indique cuál es la separación entre esas columnas y otras columnas. Si este valor es "." y vuelve una columna con el nombre dirección.ciudad, esto indica que hay un atributo mapeado con un hijo llamado ciudad. Si sus datos tienen columnas que ya usan un solo punto dentro del nombre del atributo, establezca SeparatorCharacter a un personaje o personajes diferentes.

Número de Hilos

La cantidad de subprocesos que se usarán al seleccionar datos a través de un escaneo paralelo. Establecer ThreadCount en 1 deshabilitará los escaneos paralelos.

Tipo de Datos

string

Valor por Defecto

"4"

Observaciones

Los escaneos paralelos permiten que los datos se recuperen más rápido al dividir el proceso de recuperación en varios subprocesos. Esto puede mejorar en gran medida el rendimiento al escanear datos en Amazon DynamoDB. Sin embargo, esto también consumirá sus unidades de lectura para una tabla mucho más rápido que un solo hilo. Tenga en cuenta los núcleos, el ancho de banda y las unidades de lectura disponibles para sus tablas antes de aumentar ThreadCount.

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.

TipoDetecciónEsquema

Determina cómo determinar el tipo de datos de las columnas.

Valores Posibles

None, RowScan

Tipo de Datos

string

Valor por Defecto

"RowScan"

Observaciones
Propiedad Descripción
None Configuración TypeDetectionScheme a Ninguno devolverá todas las columnas como tipo de cadena. Nota: Incluso cuando se establece en Ninguno, los nombres de las columnas aún se escanearán cuando Header=True.
RowScan Configuración TypeDetectionScheme to RowScan escaneará filas para determinar heurísticamente el tipo de datos. El RowScanDepth determina el número de filas a escanear. Si no se especifica ningún valor, RowScan se utilizará de forma predeterminada.

UseBatchWriteItemOperation

Cuando está habilitado, el proveedor utilizará la operación BatchWriteItem para manejar actualizaciones e inserciones. De forma predeterminada, el proveedor utiliza la operación ExecuteStatement/BatchExecuteStatement. Debe habilitar BatchWriteItem solo cuando inserte o actualice datos binarios o de conjuntos binarios. ExecuteStatement/BatchExecuteStatement no admite la manipulación de campos binarios.

Tipo de Datos

bool

Valor por Defecto

false

Observaciones

Cuando está habilitado, el proveedor utilizará la operación BatchWriteItem para manejar actualizaciones e inserciones. De forma predeterminada, el proveedor utiliza la operación ExecuteStatement/BatchExecuteStatement. Debe habilitar BatchWriteItem solo cuando inserte o actualice datos binarios o de conjuntos binarios. ExecuteStatement/BatchExecuteStatement no admite la manipulación de campos binarios.

UseConsistentReads

Si se deben usar siempre lecturas consistentes o no al consultar DynamoDb.

Tipo de Datos

bool

Valor por Defecto

false

Observaciones

Este parámetro no se admite en índices secundarios globales. Si escanea o consultar usando un índice secundario, las lecturas consistentes no se usarán incluso si la propiedad se establece en verdadero.

UsarNombresSimples

Booleano que determina si se deben usar nombres simples para tablas y columnas.

Tipo de Datos

bool

Valor por Defecto

false

Observaciones

Las tablas y columnas de Amazon DynamoDB pueden utilizar caracteres especiales en los nombres que normalmente no se permiten en las bases de datos estándar. UseSimpleNames hace que el conector sea más fácil de usar con las herramientas de bases de datos tradicionales.

Configuración UseSimpleNames a verdadero simplificará los nombres de las tablas y columnas devueltas. Aplicará un esquema de nomenclatura tal que solo los caracteres alfanuméricos y el guión bajo sean válidos para los nombres de las tablas y columnas que se muestran. Cualquier carácter no alfanumérico se convertirá en un guión bajo.