Partager via


Automatiser le processus de gestion de bibliothèque via des applets de commande Azure PowerShell et des API REST

Vous pouvez gérer vos bibliothèques pour vos pools Apache Spark serverless sans accéder aux pages d’interface utilisateur de Synapse Analytics. Par exemple, il se peut que :

  • Vous développez un package personnalisé et souhaitez le charger dans votre espace de travail pour l’utiliser dans votre pool Spark. Et vous souhaitez terminer les étapes sur vos outils locaux sans visiter les interfaces utilisateur de gestion des packages.
  • Vous mettez à jour vos packages via le processus CI/CD

Dans cet article, nous allons fournir un guide général pour vous aider à gérer des bibliothèques via des cmdlets Azure PowerShell ou des API REST.

Gérer les packages via des cmdlets Azure PowerShell

Ajouter de nouvelles bibliothèques

  1. La commande New-AzSynapseWorkspacePackage peut être utilisée pour charger de nouvelles bibliothèques dans l’espace de travail.

    New-AzSynapseWorkspacePackage -WorkspaceName ContosoWorkspace -Package ".\ContosoPackage.whl"
    
  2. La combinaison de commandes New-AzSynapseWorkspacePackage et Update-AzSynapseSparkPool peut être utilisée pour charger de nouvelles bibliothèques dans l’espace de travail et attacher la bibliothèque à un pool Spark.

    $package = New-AzSynapseWorkspacePackage -WorkspaceName ContosoWorkspace -Package ".\ContosoPackage.whl"
    Update-AzSynapseSparkPool -WorkspaceName ContosoWorkspace -Name ContosoSparkPool -PackageAction Add -Package $package
    
  3. Si vous souhaitez attacher une bibliothèque d’espaces de travail existante à votre pool Spark, reportez-vous à la combinaison de commandes Get-AzSynapseWorkspacePackage et Update-AzSynapseSparkPool.

    $packages = Get-AzSynapseWorkspacePackage -WorkspaceName ContosoWorkspace
    Update-AzSynapseSparkPool -WorkspaceName ContosoWorkspace -Name ContosoSparkPool -PackageAction Add -Package $packages
    

Supprimer des bibliothèques

  1. Pour supprimer un package installé de votre pool Spark, reportez-vous à la combinaison de commandes Get-AzSynapseWorkspacePackage et Update-AzSynapseSparkPool.

    $package = Get-AzSynapseWorkspacePackage -WorkspaceName ContosoWorkspace -Name ContosoPackage
    Update-AzSynapseSparkPool -WorkspaceName ContosoWorkspace -Name ContosoSparkPool -PackageAction Remove -Package $package
    
  2. Vous pouvez également récupérer un pool Spark et supprimer toutes les bibliothèques d’espaces de travail jointes du pool en appelant les commandes Get-AzSynapseSparkPool et Update-AzSynapseSparkPool.

    $pool = Get-AzSynapseSparkPool -ResourceGroupName ContosoResourceGroup -WorkspaceName ContosoWorkspace -Name ContosoSparkPool
    $pool | Update-AzSynapseSparkPool -PackageAction Remove -Package $pool.WorkspacePackages
    

Pour plus de fonctionnalités de cmdlet Azure PowerShell, reportez-vous aux Cmdlets Azure PowerShell pour Azure Synapse Analytics.

Gérer des packages via des API REST

Gérer les packages d’espace de travail

Avec la possibilité d’API REST, vous pouvez ajouter/supprimer des packages ou répertorier tous les fichiers chargés de votre espace de travail. Consultez les API prises en charge complètes, reportez-vous à Vue d’ensemble des API de bibliothèque d’espaces de travail.

Gérer les packages de pool Spark

Vous pouvez tirer parti de l’API REST du pool Spark pour attacher ou supprimer vos bibliothèques personnalisées ou open source à vos pools Spark.

  1. Pour les bibliothèques personnalisées, spécifiez la liste des fichiers personnalisés comme propriété customLibraries dans le corps de la requête.

    "customLibraries": [
        {
            "name": "samplejartestfile.jar",
            "path": "<workspace-name>/libraries/<jar-name>.jar",
            "containerName": "prep",
            "uploadedTimestamp": "1970-01-01T00:00:00Z",
            "type": "jar"
        }
    ]
    
  2. Vous pouvez également mettre à jour vos bibliothèques de pool Spark en spécifiant la propriété libraryRequirements dans le corps de la requête.

    "libraryRequirements": {
          "content": "",
          "filename": "requirements.txt"
    }
    

Étapes suivantes