透過Azure PowerShell Cmdlet 和 REST API 將程式庫管理程式自動化

您可能想要管理無伺服器 Apache Spark 集區的程式庫,而不需要進入 Synapse Analytics UI 頁面。 例如,您可能發現:

  • 您開發自訂套件,並想要將其上傳至您的工作區,然後在 Spark 集區中使用。 另外您想要在本地工具上完成步驟,而不需要造訪套件管理 UI。
  • 您正透過持續整合與持續傳遞程序更新套件

在本文中,我們將提供一般指南,協助您透過 Azure PowerShell Cmdlet 或 REST API 來管理程式庫。

透過 Azure PowerShell Cmdlet 管理套件

新增程式庫

  1. New-AzSynapseWorkspacePackage 命令可用來將新程式庫上傳至工作區

    New-AzSynapseWorkspacePackage -WorkspaceName ContosoWorkspace -Package ".\ContosoPackage.whl"
    
  2. New-AzSynapseWorkspacePackageUpdate-AzSynapseSparkPool 命令的組合可用來將新程式庫上傳至工作區,以及將程式庫連結至 Spark 集區

    $package = New-AzSynapseWorkspacePackage -WorkspaceName ContosoWorkspace -Package ".\ContosoPackage.whl"
    Update-AzSynapseSparkPool -WorkspaceName ContosoWorkspace -Name ContosoSparkPool -PackageAction Add -Package $package
    
  3. 如果您想要將現有的工作區程式庫附加至 Spark 集區,請參閱 Get-AzSynapseWorkspacePackageUpdate-AzSynapseSparkPool 的命令組合。

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

移除程式庫

  1. 若要從 Spark 集區移除已安裝套件,請參閱 Get-AzSynapseWorkspacePackageUpdate-AzSynapseSparkPool 的命令組合。

    $package = Get-AzSynapseWorkspacePackage -WorkspaceName ContosoWorkspace -Name ContosoPackage
    Update-AzSynapseSparkPool -WorkspaceName ContosoWorkspace -Name ContosoSparkPool -PackageAction Remove -Package $package
    
  2. 您也可以透過呼叫 Get-AzSynapseSparkPoolUpdate-AzSynapseSparkPool 命令,從集區擷取 Spark 集區並移除所有連結的工作區程式庫

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

如需更多 Azure PowerShell Cmdlet 功能,請參閱適用於 Azure Synapse Analytics 的 Azure PowerShell Cmdlet

透過 REST API 管理套件

管理工作區套件

透過 REST API 的功能,您可以新增/刪除套件,或列出工作區的所有已上傳檔案。 若要查看完整的支援 API,請參閱工作區程式庫 API 的概觀

管理 Spark 集區套件

您可以利用 Spark 集區 REST API,將自訂或開放原始碼程式庫連結或移除至 Spark 集區。

  1. 針對自訂程式庫,請在要求本文中將自訂檔案的清單指定為 customLibraries 屬性。

    "customLibraries": [
        {
            "name": "samplejartestfile.jar",
            "path": "<workspace-name>/libraries/<jar-name>.jar",
            "containerName": "prep",
            "uploadedTimestamp": "1970-01-01T00:00:00Z",
            "type": "jar"
        }
    ]
    
  2. 您也可以在要求本文中指定 libraryRequirements 屬性來更新 Spark 集區程式庫。

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

下一步