Acceso a objetos en el Repositorio de IBM SPSS Collaboration and Deployment Services

Si tiene una licencia para Repositorio de IBM® SPSS Collaboration and Deployment Services, puede almacenar y recuperar objetos del repositorio utilizando comandos de script. Utilice el repositorio para gestionar el ciclo de vida de los modelos de minería de datos y los objetos predictivos relacionados en el contexto de aplicaciones empresariales, herramientas y soluciones.

Conexión con Repositorio de IBM SPSS Collaboration and Deployment Services

Para acceder al repositorio, en primer lugar, debe configurar una conexión válida con el mismo, a través del menú Herramientas de la interfaz de usuario de SPSS Modeler o a través de la línea de comandos. Si desea obtener más información, consulte Repositorio de IBM SPSS Collaboration and Deployment Services Argumentos de conexión.

Obtener acceso al repositorio

Se puede acceder al repositorio desde la sesión, por ejemplo:

repo = modeler.script.session().getRepository()

Recuperación de objetos del repositorio

En un script, utilice las funciones retrieve* para acceder a distintos objetos, incluyendo rutas, modelos, salidas y nodos. Se muestra un resumen de las funciones de recuperación en la tabla siguiente.

Tabla 1. Recuperar funciones de script
Tipo de objeto Función de repositorio
Ruta repo.retrieveStream(String path, String version, String label, Boolean autoManage)
Modelo repo.retrieveModel(String path, String version, String label, Boolean autoManage)
Resultado repo.retrieveDocument(String path, String version, String label, Boolean autoManage)
Nodo repo.retrieveProcessor(String path, String version, String label, ProcessorDiagram diagram)

Por ejemplo, puede recuperar una ruta del repositorio con la función siguiente:

stream = repo.retrieveStream("/projects/retention/risk_score.str", None, "production", True)

Este ejemplo recupera la ruta risk_score.str de la carpeta especificada. La etiqueta production identifica qué versión de la ruta recuperar, y el último parámetro especifica que SPSS Modeler va a gestionar la ruta (por ejemplo, por lo que la ruta aparece en la pestaña Rutas si la interfaz de usuario de SPSS Modeler es visible). Como alternativa, para utilizar una versión específica sin etiquetar:

stream = repo.retrieveStream("/projects/retention/risk_score.str", "0:2015-10-12 14:15:41.281",
 None, True)
Nota: Si ambos parámetros, el de versión y el de etiqueta, son None,se devuelve la última versión.

Almacenar objetos en el repositorio

Para utilizar scripts para almacenar objetos en el repositorio, utilice las funciones store*. Se muestra un resumen de las funciones de almacenamiento en la tabla siguiente.

Tabla 2. Funciones de script de almacenamiento
Tipo de objeto Función de repositorio
Ruta repo.storeStream(ProcessorStream stream, String path, String label)
Modelo repo.storeModel(ModelOutput modelOutput, String path, String label)
Resultado repo.storeDocument(DocumentOutput documentOutput, String path, String label)
Nodo repo.storeProcessor(Processor node, String path, String label)

Por ejemplo, puede almacenar una nueva versión de la ruta risk_score.str con la función siguiente:

versionId = repo.storeStream(stream,
"/projects/retention/risk_score.str", "test")

Este ejemplo almacena una nueva versión de la ruta, asocia la etiqueta "test" a la misma y devuelve el marcador de la versión para la versión recién creada.

Nota: Si no desea asociar una etiqueta a la nueva versión, pase None para la etiqueta.

Gestión de carpetas de repositorio

Al utilizar las carpetas dentro del repositorio, puede organizar objetos en grupos lógicos y hacer que sea más fácil ver qué objetos están relacionados. Cree carpetas utilizando la función createFolder(), como en el ejemplo siguiente:

newpath = repo.createFolder("/projects", "cross-sell")

Este ejemplo crea una carpeta nueva que se llama "cross-sell" en la carpeta "/projects". La función devuelve la vía de acceso completa de la carpeta nueva.

Para cambiar el nombre de una carpeta, utilice la función renameFolder():

repo.renameFolder("/projects/cross-sell", "cross-sell-Q1")

El primer parámetro es la vía de acceso completa que se va a renombrar, y el segundo es el nombre nuevo que se va a proporcionar a dicha carpeta.

Para suprimir una carpeta vacía, utilice la función deleteFolder():

repo.deleteFolder("/projects/cross-sell")

Bloquear y desbloquear objetos

Puede bloquear un objeto desde un script para evitar que otros usuarios actualicen cualquiera de las versiones existentes o creen nuevas versiones. También puede desbloquear un objeto que haya bloqueado.

La sintaxis para bloquear y desbloquear un objeto es:

repo.lockFile(REPOSITORY_PATH)
repo.lockFile(URI)

repo.unlockFile(REPOSITORY_PATH)
repo.unlockFile(URI)

Como cuando se almacenan y se recuperan objetos, RUTA_REPOSITORIO le ofrece la ubicación del objeto en el repositorio. La ruta debe estar entre comillas y utilizar barras inclinadas como delimitadores. No distingue entre mayúsculas y minúsculas.

repo.lockFile("/myfolder/Stream1.str")
repo.unlockFile("/myfolder/Stream1.str")

Si lo prefiere, puede utilizar un identificador de recursos uniforme (URI) en lugar de una ruta de repositorio para proporcionar la ubicación del proyecto. El URI debe incluir el prefijo spsscr: y debe estar entre comillas. Sólo se puede utilizar barras inclinadas como delimitadores, y los espacios deben estar codificados. Es decir, utilizar %20 en lugar de un espacio en la ruta. El URI no distingue entre mayúsculas y minúsculas. A continuación aparecen algunos ejemplos:

repo.lockFile("spsscr:///myfolder/Stream1.str")
repo.unlockFile("spsscr:///myfolder/Stream1.str")

Tenga en cuenta que el bloqueo de objetos se aplica a todas las versiones de un objeto: no puede bloquear o desbloquear versiones por separado.