Guía del usuario de Teradata AppCenter Java SDK - Teradata AppCenter

Guía del usuario de Teradata AppCenter Java SDK

prodname
Teradata AppCenter
vrm_release
-NA-
category
Guía del usuario
Referencia de programación
featnum
B035-1118-000K-ESN

Teradata AppCenter Java SDK proporciona varias API para crear aplicaciones Java que se usarán con Teradata AppCenter.

Contenido

Descarga del paquete de Teradata AppCenter Java SDK

Debe tener una cuenta de usuario de Teradata para poder acceder al paquete de Java SDK.

  1. Vaya a https://access.teradata.com y, a continuación, inicie sesión.
  2. En DOWNLOADS(DESCARGAR), seleccione Update Your Software(Actualizar su software).
  3. En Search Downloads(Buscar descargas), busque teradata-appcenter-java-sdk.
  4. Descargue el Java SDK asociado a su versión de AppCenter.

Inicialización del cliente de Teradata AppCenter SDK

Antes de poder usar Teradata AppCenter Java SDK, deberá iniciar el cliente de Teradata AppCenter.

  1. Utilice uno de los métodos siguientes para inicializar el cliente:
Método Ejemplo de código Consideraciones
try-with-resources try (AppcenterClient client = new DefaultAppcenterClient()) { // your codes that utilize the client} Teradata recomienda la instrucción try-with-resources para asegurarse de que cada recurso se cierre al final de la instrucción.
try-catch-finally AppcenterClient client = null; try { client = new DefaultAppcenterClient(); // your codes that utilize the client } catch (...) { }finally { client.close(); } Asegúrese de llamar al bloque client.close() in 'finally' para asegurarse de que los recursos se cierren correctamente.
Initialize AppCenter client with AppContext** AppcenterClient client = null; try { client = new DefaultAppcenterClient(); // your codes that utilize the client } catch (...) { }finally { client.close(); } Asegúrese de llamar al bloque client.close() in 'finally' para asegurarse de que los recursos se cierren correctamente.

Variables para AppContext

Puede utilizar las siguientes variables para crear AppContext:

Variable Descripción Ejemplo
system Nombre de origen de datos "****-system"
database Nombre de base de datos "appcenter-examples"
user Nombre de usuario para acceder al origen de datos "user"
password Contraseña para acceder al origen de datos "pass"
catalog Catálogo para el sistema Presto "hive"
schema Esquema para el sistema Presto "default"
JobConfig Parámetros de trabajo {"param1":"value", "param2":"value"}
appConfig Definiciones de parámetros de aplicación {"param1":{"type":"text","default_value":"default","required":false}}
resultConfig Configuraciones de visualización {"query1":{"name":"query1","type":"sankey","format":"npath"}}
appCenterBaseUrl URL base de instancias de AppCenter "https://appcenter.example.com"

API públicas compatibles con Teradata AppCenter Java SDK

Teradata AppCenter Java SDK admite las siguientes API públicas:

API Versiones compatibles con Teradata AppCenter
audit AppCenter 1.3 - 1.8
cacheResult AppCenter 1.3 - 1.8
getSystems AppCenter 1.3 - 1.8
log AppCenter 1.3 - 1.8
query AppCenter 1.3 - 1.8
sendNotification AppCenter 1.3 - 1.8
setAppContext AppCenter 1.3 - 1.8
streamResultsFromQuery AppCenter 1.4 - 1.8
visualize AppCenter 1.3 - 1.8

audit API

Propósito

La API audit registra eventos importantes, como la actividad del usuario. Antes de poder utilizar la API audit, debe crear AuditParams.

Ejemplos de código Java

Crear AuditParams:

AuditParams auditParams = new AuditParams() 
.auditEvent("TEST") 
.message("Test message") 
.details("this is a test message") 
.result(true) 
.build(); 
`

Usar AuditParams:

client.audit(auditParams);

cacheResult API

Propósito

La API cacheResult almacena en caché el resultado de la consulta o de la visualización para que pueda verlo o compartirlo con otros usuarios. La API cacheResult toma los resultados como cadena o como flujo de datos (generador u objeto similar a un archivo). En el caso de resultados grandes, Teradata recomienda que utilice un flujo de datos para reducir el consumo de memoria.

Los resultados del trabajo están disponibles durante 30 días a partir del momento en que se generan, después de los cuales, caducan. El usuario raíz puede cambiar la opción predeterminada a un valor entre 1 y 365 días en Configuración, en la IU.

Ejemplos de código Java

Ejemplo de cadena:

String queryResult = client.query(query); 
client.cacheResult(queryResult, "application/json");

Ejemplo de flujo de datos:

InputStream queryResultStream = client.streamResultsFromQuery(query); 
client.cacheResult(queryResultStream, "application/json");

getSystems API

Propósito

La API getSystems recupera los nombres de los sistemas disponibles de AppCenter.

Ejemplo de código Java

List<String> systemNames = client.getSystems()

log API

Propósito

La API log registra mensajes informativos o de error asociados a la aplicación. Los mensajes forman parte de los registros de aplicación disponibles en Desarrollar, en la IU.

Ejemplos de código Java

Ejemplo de mensaje informativo:

Client.log(LogLevel.INFO, message)

Ejemplo de mensaje de error:

Client.log(LogLevel.ERROR, message)

query API

Propósito

La API query consulta a sistemas Teradata Database, Teradata Vantage, Aster Database, Presto y Hive, y devuelve los resultados como una cadena JSON.

Ejemplos de código Java

String queryResult = client.query(query);

Ejemplo de resultado

En el ejemplo siguiente, la sección "columns" del JSON generado contiene metadatos de columna que describen el nombre y el tipo de cada columna. La sección "data" contiene datos de la consulta.

{
  "queueDuration": 33,
  "queryDuration": 47646,
  "results": [
    {
      "resultSet": true,
      "columns": [
        {
          "name": "issue",
          "type": "varchar"
        },
        {
          "name": "issue_count",
          "type": "bigint"
        }
      ],
      "data": [
        {
          "issue": "APR or interest rate",
          "issue_count": 125
        },
        {
          "issue": "Account opening, closing, or management",
          "issue_count": 804
        },
        ……
      ]
    }
  ]
}

sendNotification API

Si el usuario raíz ha configurado una cuenta de correo electrónico en Configuración, en la IU, la API sendNotification envía notificaciones por correo electrónico a los propietarios de la aplicación y del trabajo.

Ejemplo de código Java

client.sendNotification(subject, message);

setAppContext API

Propósito

La API setAppContext cambia el contexto de una instancia de cliente existente. Se utiliza principalmente con la API getSystems para establecer un nuevo sistema en el contexto del cliente. Sin embargo, se puede utilizar para establecer cualquier otra variable.

Ejemplo de código Java

AppContext appContext = new AppContext() 
.system(“aster-system”) 
.user("") 
.password("") 
.build(); 
client.setAppContext(appContext);

streamResultsFromQuery API

Propósito

La API streamResultsFromQuery realiza consultas en sistemas Teradata Database, Teradata Vantage, Aster Database, Presto y Hive, y devuelve los resultados como InputStream.

Ejemplo de código Java

InputStream queryResultStream = client.streamResultsFromQuery(query);

Ejemplo de resultado

En el ejemplo siguiente, la sección "columns" del JSON generado contiene metadatos de columna que describen el nombre y el tipo de cada columna, y la sección "data" contiene datos de la consulta.

{
  "queueDuration": 33,
  "queryDuration": 47646,
  "results": [
    {
      "resultSet": true,
      "columns": [
        {
          "name": "issue",
          "type": "varchar"
        },
        {
          "name": "issue_count",
          "type": "bigint"
        }
      ],
      "data": [
        {
          "issue": "APR or interest rate",
          "issue_count": 125
        },
        {
          "issue": "Account opening, closing, or management",
          "issue_count": 804
        },
        ……
      ]
    }
  ]
}

visualize API

Propósito

La API visualize admite visualizaciones Aster, barras y gráficos de NGX de línea, y visualizaciones personalizadas. Para las visualizaciones personalizadas, debe agrupar sus activos de visualización y cargar el HTML incluido con la aplicación.

La API visualize cuenta con las dos interfaces siguientes:

Interfaz Descripción Ejemplo de código Java
String Usa datos de cadena de la API query y devuelve datos visualizados en String String visualizedResult = client.visualize(data, “query1”);
InputStream Utilice InputStream desde la API streamResultsFromQuery y devuelva los datos visualizados en InputStream. InputStream queryResultStream = client.streamResultsFromQuery(query);
InputStream vizResultStream = client.visualize(queryResultStream, "query1");
client.cacheResult(vizResultStream, "application/json");

Parámetros requeridos

La API visualize requiere los dos parámetros siguientes:

Parámetro Descripción
data Datos para visualizar. Puede ser el resultado JSON de la API query o datos personalizados de una visualización personalizada.
tag Nombre de la configuración de visualización en la configuración del resultado de la aplicación o null si se utilizan visualizaciones personalizadas de Aster.

Empaquetar la aplicación personalizada

  1. Utilice el siguiente archivo Docker de ejemplo para crear la imagen de Docker de su aplicación personalizada:
FROM anapsix/alpine-java:jre8 
ARG JAR_FILE
LABEL tags="query1,query2" 
ENV TESTOUTDIR /tmp 
COPY sampleApp-1.0.0.jar sampleApp-1.0.0.jar 
CMD ["java","-jar", "sampleApp-1.0.0.jar"]

Cada valor tag (etiqueta) es el nombre de la configuración de una visualización de la aplicación e identifica una visualización única asociada a dicha aplicación.

Las etiquetas múltiples deben ser una lista de palabras completas separadas por comas y sin espacios en blanco, ni al principio ni al final.

Mediante el archivo Docker de ejemplo, AppCenter agrega automáticamente dos visualizaciones a la configuración. Una visualización se llama query1, y la otra se llama query2. Debe seleccionar el formato y tipo de visualización por cada ajuste de visualización.

Por ejemplo:

Cuando ejecuta esta aplicación, AppCenter genera las dos visualizaciones siguientes:

Query1: tipo "Sankey", formato "NPath"

Query2: tipo "Bar", formato predeterminado

Licencia

Copyright (C) 2016-2019 by Teradata Corporation.