Visual Studio Code の拡張機能 (Extension) であれば、Visual Studio Code 向け の Marketplace からダウンロードすることができますが、Azure Data Studio (ADS) 向けの拡張機能については専用の Marketplace のサイトは内容に見受けられました。
ADS 向けの拡張機能は ADS 本体との関連性が強く、最新バージョンがリリースされると、いくつかの拡張機能は最新バージョン以降をターゲットとしたものに置き換わるケースがあります。
これにより、ADS の古いバージョンは GitHub のリポジトリ からダウンロード / インストールすることができますが、拡張機能については、インストールをした古いバージョン向けの拡張機能をインストールすることができないというようなことが発生します。
今回 Azure SQL Migration 拡張機能 (sql-migration) の検証をしていて、古いバージョンの ADS とその ADS に対応した拡張機能の組み合わせで検証をする必要があったので、その際にどのようにして古い拡張機能をインストールしたかをメモとして。
古いバージョンの拡張機能のインストール方法
今回検証していた Azure SQL Migration 拡張機能ですが、拡張機能のバージョンと対応する ADS のバージョンは次のようになっています。
- sql-migration v1.1.3 以上 : ADS 1.40.0 以上
- sql-migration v1.1.2 以下 : ADS 1.39.0 以上
今回、ADS 1.39.0 を使用して sql-migration の検証をしたかったのですが、現在この Extension は、v1.2.2 がリリースされており、ADS 1.39.0 をインストールして sql-migration を追加しようとすると、最新バージョンの v1.2.2 をインストールしようとしてしまい、1.39.0 系の ADS に拡張機能をインストールすることができません。
1.39.0 系の ADS で拡張機能をインストールする場合は、以前のバージョンの拡張機能を入手する必要があるのですがその場合には、Update extension marketplace JSON location to Azure BLOB storage で公開されている次の URL の情報を使用します。(ADS 起動時の情報を Fiddler でキャプチャすることでも URL を取得できます)
stable
https://sqlopsextensions.blob.core.windows.net/marketplace/v1/extensionsGallery.jsoninsiders
https://sqlopsextensions.blob.core.windows.net/marketplace/v1/extensionsGallery-insider.json
ADS はこれらの URL から拡張機能の情報を取得し、VSIX ファイルをダウンロードしているようです。
投稿を書いている時点であれば、SQL Server からの移行で使用する Azure SQL Migration (sql-migration) は次のような情報で定義されています。
この情報の中には VSIX ファイルのダウンロード先も記載されているので、この URL のバージョン番号を変更して URL に直接アクセスすることで、以前のバージョンの拡張機能を入手することができます。
今回のケースであれば、1.1.2 が必要となりますので、https://sqlopsextensions.blob.core.windows.net/extensions/sql-migration/sql-migration-1.1.2.vsix にアクセスすることで以前のバージョンの VSIX ファイルをダウンロードすることができます。
ダウンロードした VSIX ファイルは、拡張機能の手動インストール (Install from VSIX…) からインストールすることができます。
ADS の古いバージョン向けの拡張機能については直接ダウンロードしてインストールすることで導入ができそうですね。