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
- Inicialización del cliente de Teradata AppCenter SDK
- API públicas compatibles con Teradata AppCenter Java SDK
- Empaquetar la aplicación personalizada
- Licencia
Descarga del paquete de Teradata AppCenter Java SDK
Debe tener una cuenta de usuario de Teradata para poder acceder al paquete de Java SDK.
- Vaya a https://access.teradata.com y, a continuación, inicie sesión.
- En DOWNLOADS(DESCARGAR), seleccione Update Your Software(Actualizar su software).
- En Search Downloads(Buscar descargas), busque
teradata-appcenter-java-sdk
. - 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.
- 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); |
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
- 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.