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.
| 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)
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.
| 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.
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.