Los datos se recuperan dinámicamente a través de una llamada a la API REST de SAS Workload Orchestrator. El script no depende de archivos de datos preexistentes o de tablas SASHELP.
1 Bloque de código
PROC HTTP
Explicación : Este bloque define los parámetros de conexión (usuario, contraseña, URL base) e inicializa archivos temporales. Luego, realiza una primera llamada PROC HTTP con el método POST para autenticarse en la interfaz de SAS Grid y recuperar una cookie de autenticación en el archivo temporal 'headout'.
¡Copiado!
/* Provide connection information. */
%let username = sas;
%let pw = password;
%let baseURL = http://sgmg-master.demo.sas.com:8901;
/* Initialize temporary files to capture HTTP response body and headers. */
filename body temp;
filename headout temp;
/* Authenticate and get an auth cookie. */
proc http URL="&baseURL/sasgrid/index.html" method="post"
out=body headerout=headout headerout_overwrite
in="username=&username%nrstr(&password)=&pw";
headers "ContentType"="application/x-www-form-urlencoded";
run;
/* Submit an authenticated query against the jobs API */
/* requesting jobs with a state of "ALL" e.g. any non-archived jobs. */
proc http URL="&baseURL/sasgrid/api/jobs?state=ALL"
out=body headerout=headout headerout_overwrite;
headers "Accept"="application/vnd.sas.sasgrid.jobs;version=1;charset=utf-8";
run;
1
/* Submit an authenticated query against the jobs API */
2
/* requesting jobs with a state of "ALL" e.g. any non-archived jobs. */
/* Deassign the jobinfo libname. */
libname jobinfo;
/* Read in the job info. */
libname jobinfo json fileref=body;
1
/* Deassign the jobinfo libname. */
2
LIBNAME jobinfo;
3
4
/* Read in the job info. */
5
LIBNAME jobinfo json fileref=body;
4 Bloque de código
PROC SQL Data
¡Copiado!
/* Create a single table with items of interest. */
proc sql;
create table jobs as
select
a.id,
b.state, b.queue, b.submitTime, b.startTime,
b.endTime, b.processId, b.executionHost, b.exitCode,
c.name, c.user, c.cmd
from
jobinfo.jobs a,
jobinfo.jobs_processinginfo b,
jobinfo.jobs_request c
where
a.ordinal_jobs = b.ordinal_jobs and
b.ordinal_jobs = c.ordinal_jobs
order by a.id;
quit;
1
/* Create a single table with items of interest. */
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
Información de copyright : Author: Greg Wootton Date: 30AUG2019
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.