0 / 0
Retourner à la version anglaise de la documentation
Migration de project-lib pour Python vers ibm-watson-studio-lib
Dernière mise à jour : 07 oct. 2024
Migration de project-lib pour Python vers ibm-watson-studio-lib

La bibliothèque ibm-watson-studio-lib est le successeur de project-lib library. Bien que vous puissiez continuer à utiliser l'API project-lib dans vos blocs-notes, vous devez envisager la migration de blocs-notes existants pour utiliser la bibliothèque ibm-watson-studio-lib .

L'utilisation de ibm-watson-studio-lib présente les avantages suivants:

  • L'API de navigation d'actifs fournit un accès en lecture seule à tous les types d'actifs, et pas seulement à ceux explicitement pris en charge par la bibliothèque.
  • ibm-watson-studio-lib utilise une convention de dénomination d'API constistent qui structure les fonctions disponibles en fonction de leur zone d'application.

Les sections suivantes décrivent les modifications que vous devez apporter dans les blocs-notes Python existants pour commencer à utiliser la bibliothèque ibm-watson-studio-lib .

Configuration de la bibliothèque

Vous devez apporter les modifications suivantes dans les blocs-notes existants pour commencer à utiliser ibm-watson-studio-lib:

Dans le code utilisant project-lib , modifiez:

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

Pour ce qui suit à l'aide de ibm-watson-studio-lib:

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

Configuration de la bibliothèque dans les environnements Spark

Vous devez effectuer les modifications suivantes dans les blocs-notes existants pour commencer à utiliser ibm-watson-studio-lib dans les environnements Spark.

Dans le code utilisant project-lib , modifiez:

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

Pour ce qui suit à l'aide de 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)

Utilisation de la bibliothèque

Les sections suivantes décrivent les modifications de code que vous devez apporter dans vos blocs-notes lors de la migration de fonctions dans project-lib vers les fonctions correspondantes dans ibm-watson-studio-lib.

Obtenir des informations sur le projet

Pour extraire les informations associées au projet à l'aide d'un programme, vous devez modifier les fonctions suivantes:

Répertorier les connexions de données

Dans le code utilisant project-lib , modifiez:

project.get_connections()

Pour ce qui suit à l'aide de ibm-watson-studio-lib:

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

Vous pouvez également, avec ibm-watson-studio-lib, répertorier les actifs de données connectés:

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

Répertorier les fichiers de données

Cette fonction renvoie la liste des fichiers de données de votre projet.

Dans le code à l'aide de project-lib , modifiez à l'aide de:

project.get_files()

Pour ce qui suit à l'aide de ibm-watson-studio-lib:

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

Obtenir un nom ou une description

Dans ibm-watson-studio-lib, vous pouvez extraire des métadonnées sur le projet, par exemple le nom d'un projet ou sa description, via le point d'entrée wslib.here.

Dans le code utilisant project-lib , modifiez:

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

Pour ce qui suit à l'aide de ibm-watson-studio-lib:

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

Obtenir des métadonnées

Il n'y a pas de remplacement pour get_matadata dans project-lib:

project.get_metadata()

La fonction wslib.here dans ibm-watson-studio-lib expose des parties de ces informations. Pour savoir quelles informations de métadonnées de projet sont disponibles, utilisez:

help(wslib.here.API)

Par exemple :

  • wslib.here.get_name(): Renvoie le nom du projet
  • wslib.here.get_description(): Renvoie la description du proejct
  • wslib.here.get_ID(): renvoie l'ID de projet
  • wslib.here.get_storage(): renvoie les métadonnées de stockage

Obtenir les métadonnées de stockage

Dans le code utilisant project-lib , modifiez:

project.get_storage_metadata()

Pour ce qui suit à l'aide de ibm-watson-studio-lib:

wslib.here.get_storage()

Extraire les données

Pour accéder aux données d'un fichier, vous devez modifier les fonctions suivantes.

Dans le code utilisant project-lib , modifiez:

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)

Pour ce qui suit à l'aide de ibm-watson-studio-lib:

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

De plus, ibm-watson-studio-lib offre une fonction permettant de télécharger une ressource de données et de la stocker dans le système de fichiers local:

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

Sauvegarde des données

Pour sauvegarder des données dans un fichier, vous devez modifier les fonctions suivantes.

Dans le code utilisant project-lib change (et pour toutes les variantes de direct_store=False et set_project_asset=True):

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

Pour ce qui suit à l'aide de 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)

De plus, ibm-watson-studio-lib offre une fonction permettant de télécharger un fichier local dans le stockage du projet et de créer un actif de données:

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

Obtenir les informations de connexion

Pour renvoyer les métadonnées associées à une connexion, vous devez modifier les fonctions suivantes.

Dans le code utilisant project-lib , modifiez:

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

Pour ce qui suit à l'aide de ibm-watson-studio-lib:

connprops = wslib.get_connection("MyConnection")

Obtenir des informations sur les données connectées

Pour renvoyer les métadonnées associées à un actif de données connecté, vous devez modifier les fonctions suivantes.

Dans le code utilisant project-lib , modifiez:

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

Pour ce qui suit à l'aide de ibm-watson-studio-lib:

dataprops = wslib.get_connected_data("MyConnectedData")

Accéder à l'actif par ID à la place du nom

Vous pouvez renvoyer les métadonnées d'une connexion ou d'un actif de données connecté en accédant à l'actif par ID plutôt que par nom.

Dans project-lib , modifiez:

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

Pour ce qui suit à l'aide de 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")

Dans project-lib, il n'est pas possible d'accéder aux fichiers (actifs de données stockés) par ID. Vous ne pouvez le faire que par nom. La bibliothèque ibm-watson-studio-lib prend en charge l'accès aux fichiers par ID. Voir Utilisation d'ibm-watson-studio-lib.

Extraire les actifs par type d'actif

Lorsque vous extrayez la liste de tous les actifs de projet, vous pouvez transmettre le paramètre facultatif asset_type à la fonction get_assets qui vous permet de filtrer les actifs par type. Les valeurs acceptées pour ce paramètre dans project-lib sont data_asset, connection et asset.

Dans le code utilisant project-lib , modifiez:

project.get_assets()

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

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

Pour ce qui suit à l'aide de 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)

Pour répertorier les types d'actif disponibles, utilisez:

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

Prise En Charge Spark

Pour utiliser Spark, vous devez modifier les fonctions qui activent la prise en charge de Spark et extraire l'URL d'un fichier.

Configuration de la prise en charge de Spark

Pour configurer la prise en charge de Spark:

Dans le code utilisant project-lib , modifiez:

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

Pour ce qui suit à l'aide de 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)

Extraire l'URL pour accéder à un fichier à partir de Spark

Pour extraire une URL permettant d'accéder à un fichier référencé par un actif à partir de Spark via Hadoop:

Dans le code utilisant project-lib , modifiez:

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)

Pour ce qui suit à l'aide de ibm-watson-studio-lib:

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

Obtenir l'URL du fichier à utiliser avec Spark

Extrayez une URL pour accéder à un fichier référencé par un actif à partir de Spark via Hadoop.

Dans le code utilisant project-lib , modifiez:

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

Pour ce qui suit à l'aide de ibm-watson-studio-lib:

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

Accéder directement au stockage de projet

Vous pouvez extraire des données du stockage de projet ou sauvegarder des données dans le stockage de projet sans synchroniser les actifs de projet.

Extraire les données

Pour extraire des données du stockage de projet:

Dans le code utilisant project-lib , modifiez:

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

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

Pour ce qui suit à l'aide de ibm-watson-studio-lib:

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

Sauvegarde des données

Pour sauvegarder des données dans un fichier du stockage de projet:

Dans le code utilisant project-lib , modifiez:

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

Pour ce qui suit à l'aide de ibm-watson-studio-lib:

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

Dans le code utilisant project-lib , modifiez:

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

Pour ce qui suit à l'aide de ibm-watson-studio-lib:

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

De plus, ibm-watson-studio-lib fournit une fonction permettant de télécharger un fichier depuis le stockage de projet vers le système de fichiers local:

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

Vous pouvez également enregistrer un fichier dans le stockage de projet en tant qu'actif de données en utilisant:

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

En savoir plus

Pour utiliser la bibliothèque ibm-watson-studio-lib pour Python dans des blocs-notes, voir ibm-watson-studio-lib for Python.

Rubrique parent: Utilisation d'ibm-watson-studio-lib

Recherche et réponse à l'IA générative
Ces réponses sont générées par un modèle de langue de grande taille dans watsonx.ai en fonction du contenu de la documentation du produit. En savoir plus