0 / 0
Volver a la versión inglesa de la documentación
Migración de project-lib para Python a ibm-watson-studio-lib
Última actualización: 07 oct 2024
Migración de project-lib para Python a ibm-watson-studio-lib

La biblioteca ibm-watson-studio-lib es el sucesor de project-lib library. Aunque todavía puede seguir utilizando la API de project-lib en los cuadernos, debe pensar en migrar los cuadernos existentes para utilizar la biblioteca ibm-watson-studio-lib .

Las ventajas de utilizar ibm-watson-studio-lib incluyen:

  • La API de examen de activos proporciona acceso de sólo lectura a todos los tipos de activos, no sólo a los que admite explícitamente la biblioteca.
  • ibm-watson-studio-lib utiliza un convenio de denominación de API de constistent que estructura las funciones disponibles de acuerdo con su área de aplicación.

En las secciones siguientes se describen los cambios que debe realizar en los cuadernos Python existentes para empezar a utilizar la biblioteca ibm-watson-studio-lib .

Configurar la biblioteca

Es necesario realizar los cambios siguientes en los cuadernos existentes para empezar a utilizar ibm-watson-studio-lib:

En el código utilizando el cambio project-lib :

from project_lib import Project
project = Project("<ProjectId>","<ProjectToken>")

A lo siguiente utilizando ibm-watson-studio-lib:

from ibm_watson_studio_lib import access_project_or_space
wslib = access_project_or_space({"token":"<ProjectToken>"})

Configurar la biblioteca en entornos Spark

Debe realizar los cambios siguientes en los cuadernos existentes para empezar a utilizar ibm-watson-studio-lib en entornos Spark.

En el código utilizando el cambio project-lib :

from project_lib import Project
project = Project(sc,"<ProjectId>","<ProjectToken>")

A lo siguiente utilizando ibm-watson-studio-lib:

from ibm_watson_studio_lib import access_project_or_space
wslib = access_project_or_space({"token":"<ProjectToken>"})
wslib.spark.provide_spark_context(sc)

Uso de biblioteca

En las secciones siguientes se describen los cambios de código que debe realizar en los cuadernos al migrar funciones en project-lib a las funciones correspondientes en ibm-watson-studio-lib.

Obtener información de proyecto

Para captar la información relacionada con el proyecto mediante programación, debe cambiar las funciones siguientes:

Listar conexiones de datos

En el código utilizando el cambio project-lib :

project.get_connections()

A lo siguiente utilizando ibm-watson-studio-lib:

assets = wslib.list_connections()
wslib.show(assets)

De forma alternativa, con ibm-watson-studio-lib, puede listar los activos de datos conectados:

assets = wslib.list_connected_data()
wslib.show(assets)

Listar archivos de datos

Esta función devuelve la lista de los archivos de datos del proyecto.

En el código que utiliza project-lib , cambie utilizando:

project.get_files()

A lo siguiente utilizando ibm-watson-studio-lib:

assets = wslib.list_stored_data()
wslib.show(assets)

Obtener nombre o descripción

En ibm-watson-studio-lib, puede recuperar cualquier metadatos sobre el proyecto, por ejemplo, el nombre de un proyecto o su descripción, a través del punto de entrada wslib.here.

En el código utilizando el cambio project-lib :

name = project.get_name()
desc = project.get_description()

A lo siguiente utilizando ibm-watson-studio-lib:

name = wslib.here.get_name()
desc = wslib.here.get_description()

Obtener metadatos

No hay sustitución para get_matadata en project-lib:

project.get_metadata()

La función wslib.here en ibm-watson-studio-lib expone partes de esta información. Para ver qué información de metadatos de proyecto está disponible, utilice:

help(wslib.here.API)

Por ejemplo:

  • wslib.here.get_name(): devuelve el nombre del proyecto
  • wslib.here.get_description(): devuelve la descripción del proyecto
  • wslib.here.get_ID(): devuelve el ID de proyecto
  • wslib.here.get_storage(): devuelve los metadatos de almacenamiento

Obtener metadatos de almacenamiento

En el código utilizando el cambio project-lib :

project.get_storage_metadata()

A lo siguiente utilizando ibm-watson-studio-lib:

wslib.here.get_storage()

Captar datos

Para acceder a los datos de un archivo, debe cambiar las funciones siguientes.

En el código utilizando el cambio project-lib :

buffer = project.get_file("MyAssetName.csv")

# or, without direct storage access:
buffer = project.get_file("MyAssetName.csv", direct_storage=False)

# or:
buffer = project.get_file("MyAssetName.csv", direct_os_retrieval=False)

A lo siguiente utilizando ibm-watson-studio-lib:

buffer = wslib.load_data("MyAssetName.csv")

Además, ibm-watson-studio-lib ofrece una función para descargar un elemento de datos y almacenarlo en el sistema de archivos local:

info = wslib.download_file("MyAssetName.csv", "MyLocalFile.csv")

Guardar datos

Para guardar datos en un archivo, debe cambiar las funciones siguientes.

En el código que utiliza el cambio project-lib (y para todas las variaciones de direct_store=False y set_project_asset=True):

project.save_data("NewAssetName.csv", data)
project.save_data("MyAssetName.csv", data, overwrite=True)

A lo siguiente utilizando ibm-watson-studio-lib:

asset = wslib.save_data("NewAssetName.csv", data)
wslib.show(asset)
asset = wslib.save_data("MyAssetName.csv", data, overwrite=True)
wslib.show(asset)

Además, ibm-watson-studio-lib ofrece una función para cargar un archivo local en el almacenamiento del proyecto y crear un activo de datos:

asset = wslib.upload_file("MyLocalFile.csv", "MyAssetName.csv")
wslib.show(asset)

Obtener información de conexión

Para devolver los metadatos asociados a una conexión, debe cambiar las funciones siguientes.

En el código utilizando el cambio project-lib :

connprops = project.get_connection(name="MyConnection")

A lo siguiente utilizando ibm-watson-studio-lib:

connprops = wslib.get_connection("MyConnection")

Obtener información de datos conectados

Para devolver los metadatos asociados a un activo de datos conectado, debe cambiar las funciones siguientes.

En el código utilizando el cambio project-lib :

dataprops = project.get_connected_data(name="MyConnectedData")

A lo siguiente utilizando ibm-watson-studio-lib:

dataprops = wslib.get_connected_data("MyConnectedData")

Acceder al activo por ID en lugar de por nombre

Puede devolver los metadatos de una conexión o un activo de datos conectado accediendo al activo por ID en lugar de por nombre.

En cambio de project-lib :

connprops = project.get_connection(id="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")

# or:
connprops = project.get_connection("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")

# or:
datapros = project.get_connected_data(id="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")

# or:
datapros = project.get_connected_data("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")

A lo siguiente utilizando ibm-watson-studio-lib:

connprops = wslib.by_id.get_connection("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
dataprops = wslib.by_id.get_connected_data("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")

En project-lib, no es posible acceder a los archivos (activos de datos almacenados) por ID. Sólo puede hacerlo por su nombre. La biblioteca ibm-watson-studio-lib da soporte al acceso a archivos por ID. Consulte Utilización de ibm-watson-studio-lib.

Captar activos por tipo de activo

Al recuperar la lista de todos los activos de proyecto, puede pasar el parámetro opcional asset_type a la función get_assets que le permite filtrar activos por tipo. Los valores aceptados para este parámetro en project-lib son data_asset, connection y asset.

En el código utilizando el cambio project-lib :

project.get_assets()

# Or, for a supported asset type:
project.get_assets("<asset_type>")

# Or:
project.get_assets(asset_type="<asset_type>")

A lo siguiente utilizando ibm-watson-studio-lib:

assets = wslib.assets.list_assets("asset")
wslib.show(assets)

# Or, for a specific asset type:
assets = wslib.assets.list_assets("<asset_type>")

# Example, list all notebooks:
notebook_assets = wslib.assets.list_assets("notebook")
wslib.show(notebook_assets)

Para listar los tipos de activos disponibles, utilice:

assettypes = wslib.assets.list_asset_types()
wslib.show(assettypes)

Soporte de Spark

Para trabajar con Spark, debe cambiar las funciones que habilitan el soporte de Spark y recuperar el URL en un archivo.

Configurar soporte de Spark

Para configurar el soporte de Spark:

En el código utilizando el cambio project-lib :

# Provide SparkContext during setup
from project_lib import Project
project = Project(sc,"<ProjectId>","<ProjectToken>")

A lo siguiente utilizando ibm-watson-studio-lib:

from ibm_watson_studio_lib import access_project_or_space
wslib = access_project_or_space({'token':'<ProjectToken>'}

# provide SparkContext in a subsequent step
wslib.spark.provide_spark_context(sc)

Recuperar URL para acceder a un archivo desde Spark

Para recuperar un URL para acceder a un archivo al que hace referencia un activo de Spark a través de Hadoop:

En el código utilizando el cambio project-lib :

url = project.get_file_url("MyAssetName.csv")
# or
url = project.get_file_url("MyAssetName.csv", direct_storage=False)
# or
url = project.get_file_url("MyAssetName.csv", direct_os_retrieval=False)

A lo siguiente utilizando ibm-watson-studio-lib:

url = wslib.spark.get_data_url("MyAssetName.csv")

Obtener URL de archivo para su uso con Spark

Recupere un URL para acceder a un archivo al que hace referencia un activo desde Spark a través de Hadoop.

En el código utilizando el cambio project-lib :

project.get_file_url("MyFileName.csv", direct_storage=True)
# or
project.get_file_url("MyFileName.csv", direct_os_retrieval=True)

A lo siguiente utilizando ibm-watson-studio-lib:

wslib.spark.storage.get_data_url("MyFileName.csv")

Acceder directamente al almacenamiento del proyecto

Puede captar datos del almacenamiento del proyecto o guardar datos en el almacenamiento del proyecto sin sincronizar los activos del proyecto.

Captar datos

Para captar datos del almacenamiento del proyecto:

En el código utilizando el cambio project-lib :

project.get_file("MyFileName.csv", direct_storage=True)

# Or:
project.get_file("MyFileName.csv", direct_os_retrieval=True)

A lo siguiente utilizando ibm-watson-studio-lib:

wslib.storage.fetch_data("MyFileName.csv")

Guardar datos

Para guardar datos en un archivo en el almacenamiento del proyecto:

En el código utilizando el cambio project-lib :

# Save and do not create an asset in a project
project.save_data("NewFileName.csv", data, direct_storage=True)

# Or:
project.save_data("NewFileName.csv", data, set_project_asset=False)

A lo siguiente utilizando ibm-watson-studio-lib:

wslib.storage.store_data("NewFileName.csv", data)

En el código utilizando el cambio project-lib :

# Save (and overwrite if file exists) and do not create an asset in the project
project.save_data("MyFileName.csv", data, direct_storage=True, overwrite=True)

# Or:
project.save_data("MyFileName.csv", data, set_project_asset=False, overwrite=True)

A lo siguiente utilizando ibm-watson-studio-lib:

wslib.storage.store_data("MyFileName.csv", data, overwrite=True)

Además, ibm-watson-studio-lib proporciona una función para descargar un archivo desde el almacenamiento del proyecto al sistema de archivos local:

wslib.storage.download_file("MyStorageFile.csv", "MyLocalFile.csv")

También puede registrar un archivo en el almacenamiento del proyecto como activo de datos utilizando:

wslib.storage.register_asset("MyStorageFile.csv", "MyAssetName.csv")

Más información

Para utilizar la biblioteca de ibm-watson-studio-lib para Python en los cuadernos, consulte ibm-watson-studio-lib para Python.

Tema padre: Utilización de ibm-watson-studio-lib

Búsqueda y respuesta de IA generativa
Estas respuestas las genera un modelo de lenguaje grande en watsonx.ai que se basa en el contenido de la documentación del producto. Más información