Azure PowerShell コマンドレットと REST API を使用してライブラリ管理プロセスを自動化する

Synapse Analytics UI ページにアクセスせずに、サーバーレス Apache Spark プールのライブラリを管理したい場合があります。 たとえば、次のようなことが考えられます。

  • カスタム パッケージを開発し、それをワークスペースにアップロードし、Spark プールで使用する。 また、パッケージ管理 UI にアクセスせずに、ローカル ツールで手順を完了したいと考えています。
  • CI/CD プロセスを使用してパッケージを更新する

この記事では、Azure PowerShell コマンドレットまたは REST API を使用してライブラリを管理するために役立つ一般的なガイドを提供します。

Azure PowerShell コマンドレットを使用してパッケージを管理する

新しいライブラリの追加

  1. New-AzSynapseWorkspacePackage コマンドを使用して、新しいライブラリをワークスペースにアップロードできます。

    New-AzSynapseWorkspacePackage -WorkspaceName ContosoWorkspace -Package ".\ContosoPackage.whl"
    
  2. New-AzSynapseWorkspacePackage コマンドと Update-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-AzSynapseSparkPool コマンドと Update-AzSynapseSparkPool コマンドを呼び出すことで、Spark プールを取得し、プールからアタッチされているすべてのワークスペース ライブラリを削除することもできます。

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

Azure PowerShell コマンドレットの機能の詳細については、Azure Synapse Analytics のAzure PowerShell コマンドレットに関するページを参照してください。

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

次のステップ