Azure Purview : スターターキットでサンプルデータを登録してみる

今回は [チュートリアルのスターターキット](https://docs.microsoft.com/ja-jp/azure/purview/tutorial-scan-data) の手順を見ながらサンプルデータを登録してみます。また公式ドキュメントに書かれていない情報も補足していきますが、基本かつ最新情報は公式ドキュメントを見てください。

# スターターキットの準備

1\. [こちらのリンクより](https://download.microsoft.com/download/9/7/9/979db3b1-0916-4997-a7fb-24e3d8f83174/PurviewStarterKitV4.zip) スターターキットを任意のフォルダにダウンロード。

2\. PowerShell を管理者として起動。手元では [Windows Terminal](https://docs.microsoft.com/ja-jp/windows/terminal/get-started) を利用。

3\. 以下コマンドでダウンロードしたファイルを解凍。

```powershell
dir -Path <path-to-starter-kit> -Recurse | Unblock-File
```

4\. 続いて Azure モジュールをインストール。

```powershell
Install-Module -Name Az -AllowClobber -Scope CurrentUser
```

# 必要な情報を収集

以降の PowerShell スクリプトで使う値を収集します。

## TenantId

Azure ポータルより Active Directory を選択して、表示されている「テナント ID」をコピーします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214116/978a6cea-2766-de7f-8279-2b8d465c67d3.png)

## SubscriptionID、CatalogName、CatalogResourceGroupName

Azure ポータルより作成した Purview を選択。

SubscriptionID: 表示されている「サブスクリプション ID」
CatalogName: Purview アカウントの名前
CatalogResourceGroupName: リソース グループ名
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214116/5033d84e-060e-387e-30f5-2882cff4cad4.png)

# スクリプトの実行

ではスクリプトを実行してサンプルデータを作成していきます。

1\. スターターキットフォルダに移動。

```powershell
cd <path-to-starter-kit>
```

2\. スクリプトの実行ポリシーを変更。手元の環境では組織設定の影響で実行できなかったが、RemoteSigned でも問題なく動作。

```powershell
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
```

3\. 以下コマンドで Azure に接続。TenandId と SubscriptionID は上記で取得したものを使用。認証のためブラウザが起動するのでサインインを実行。

```powershell
.\RunStarterKit.ps1 -ConnectToAzure -TenantId <TenantID> `
-SubscriptionId <SubscriptionID>
```

4\. 以下コマンドを実行して、サンプルに必要な Azure リソースやデータを作成。newresourcegroupname はサンプルデータ用のリソースグループ名で、新規に作成される。
※尚、この名前で各種リソースも作成されるため、ユニークで且つ短いものを推奨。
※ここでは ken20201224 とした。

```powershell
.\RunStarterKit.ps1 -CatalogName <CatalogName> -TenantId <TenantID>`
-ResourceGroup <newresourcegroupname> `
-SubscriptionId <SubscriptionID> `
-CatalogResourceGroup <CatalogResourceGroupName>
```

スクリプトは 5-6 分程度かかります。また途中別ウィンドウが開きますが閉じないでください。別ウィンドウではサンプルデータを登録しているので、眺めているとどういうデータが登録されているか見れて面白いです。

# Azure リソースの確認

スクリプトが newresourcegroupname に以下リソースを作成します。

- Blob ストレージ: \<newresourcegroupname\>abcblob
- Azure Data Lake Storage Gen2: \<newresourcegroupname\>abcadls
- Azure Data Factory: \<newresourcegroupname\>abcfactory
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214116/4889f397-f5dc-c12b-8934-5485c862dcfb.png)

## Blob ストレージ

2017 年 12 月から 2018 年 3 月分までの各種ファイルが含まれます。パスは yyyy/M/d 形式 です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214116/98179468-9619-07d3-3421-b103c29136a4.png)

適当に中身を確認してみてください。

## Azure Data Lake Gen2 ストレージ

Blob ストレージの starter1 コンテナー複製されたものが入っています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214116/ba7f596b-24d6-f947-79d6-086e5cd82b0e.png)

## Azure Data Factory

Blob から Azure Data Lake Gen2 ストレージへのファイルコピーアクティビティが設定されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214116/312a4383-590c-6664-f8be-6e4f672f14b5.png)

またスクリプトにより一度実行されています。これでファイルがコピーされたことが分かります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214116/b75793fe-f760-8c8f-7d74-d75aab5ee047.png)

# Azure Purview からのアクセス権設定

Azure Purview から各種データソースへアクセスする場合、権限が必要となります。一部のデータソースは Purview アカウント作成時に自動で生成されるマネージド ID を使った管理が可能です。

1\. Azure ポータルより Blob ストレージアカウントを開き、「アクセス制御（IAM)」を選択。「＋追加」より「ロールの割り当ての追加」をクリック。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214116/dbd85bb7-fd3e-075c-56ca-05b6cdeffb11.png)

2\.「ストレージ BLOB データ閲覧者」ロールを Purview アカウントに付与。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214116/edb139e0-03c0-9062-7652-fbb3360757be.png)

3\. 同じ作業を Azure Data Lake Gen2 リソースでも実行。

# データソースの追加とスキャンの実行

権限の設定を行ったので、最後にデータソースの追加とスキャンを行います。

1\. Azure Purview Studio より「Sources」を選択し、「Register」をクリック。現在サポートされているデータソースが表示される。「Azure Blob Storage」を選択し「Continue」をクリック。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214116/bc0eb0ed-668d-a683-102b-80132bb46dcc.png)

2\. 任意の名前を入力し、ドロップダウンよりスクリプトで作成した Blob ストレージアカウントを選択。「Register」をクリック。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214116/957d5f47-c154-0525-f6b7-8d8f8c7bba06.png)

3\. 登録できたことを確認。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214116/a4b5cfa0-1ed0-9650-3247-9f20941da5f7.png)

4\. Azure Data Lake Gen2 に対しても同様の作業を実施。結果の画面より「スキャンアイコン」をクリック。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214116/7cd62e60-b41f-9846-afdb-1ae343b017d5.png)

5\. Credential で Purview MSI が選択されていることを確認して、「Continue」をクリック。
※MSI = Managed Service Identity
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214116/e562620b-cdf0-32e7-996c-ca534e5ea018.png)

6\. スキャンパスの選択画面では、全てを選択した状態で「Continue」をクリック。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214116/beeb7638-8e3d-f470-a7c3-ea86bc961eb4.png)

7\. スキャンルールはシステム既定のものを選択して、「Continue」をクリック。
※別の記事でスキャンルールの詳細は見ていきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214116/9af5e5ec-8873-4d1f-433d-b8a6aaba13b3.png)

8\. スキャンのトリガーでは「Once」を選択して、「Continue」をクリック。定期的にスキャンすることも可能。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214116/3a99d834-2784-733e-1fea-8c6f5e13b004.png)

9\. 最後に「Save and Run」をクリック。同様の手順を Azure Data Lake Gen2 でも実施。

# スキャンの確認

1\. ソースの画面より、スキャンを確認したいソースの「View details」をクリック。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214116/c4712c25-0944-c85f-dec3-9891496f2f67.png)

2\. Scan タブより進捗が確認可能。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214116/c21524e3-2838-cad4-9d92-49f1a8e3e53c.png)

# スキャン結果の確認

スキャンにかかる時間はデータ量に依存します。また一部メタデータは全てのスキャンが終わってからでないと生成されないようです。

次回はスキャンした結果の確認とメタデータの編集を見ていきます。

[次の記事へ](https://qiita.com/kenakamu/items/6fc8968d57f2cf8c36f0)
[前の記事へ](https://qiita.com/kenakamu/items/ed65e7e40baaf96105a1)