{Azure Synapse Analytics}クイック スタート:Azure CLI を使用して Azure Synapse ワークスペースを作成する

 

https://learn.microsoft.com/ja-jp/azure/synapse-analytics/get-started
https://learn.microsoft.com/ja-jp/azure/synapse-analytics/quickstart-create-workspace-cli

Azure Synapse Analyticsは「Azure SQL Data Warehouse」の後継サービス

 

-- 1. 前作業

az login --use-device-code
az account show

az version

az configure --list-defaults
az configure --defaults location=japaneast
az configure --list-defaults

az group create \
--name rg9999999 \
--location japaneast

az group list

az upgrade


-- 2. Azure Data Lake Storage Gen2 ストレージ アカウントを作成する

az storage account create \
--resource-group rg9999999 \
--name st123 \
--access-tier Hot \
--kind StorageV2 \
--sku Standard_LRS \
--enable-hierarchical-namespace true


az storage account list \
--resource-group rg9999999

az storage account show \
--resource-group rg9999999 \
--name st123


-- 3. コンテナ作成

connectionString=$(az storage account show-connection-string \
--resource-group rg9999999 \
--name st123 \
--query connectionString \
--output tsv )

echo $connectionString

az storage container create \
--name fs123 \
--account-name st123 \
--public-access off \
--connection-string $connectionString

az storage container list \
--account-name st123 \
--connection-string $connectionString


az storage container show \
--name fs123 \
--account-name st123 \
--connection-string $connectionString

 

-- 4. Azure Synapse ワークスペースを作成する


az synapse workspace create \
--name ws123 \
--resource-group rg9999999 \
--storage-account st123 \
--file-system fs123 \
--sql-admin-login-user sqladminuser \
--sql-admin-login-password 'password' \
--location japaneast

az synapse workspace list \
--resource-group rg9999999

az synapse workspace show \
--name ws123 \
--resource-group rg9999999


-- 5. Azure Synapse ファイアウォール規則作成

※この規則がないとSynapse Studio起動時にエラーとなる


az synapse workspace firewall-rule create \
--end-ip-address 255.255.255.255 \
--name allowAll \
--resource-group rg9999999 \
--start-ip-address 0.0.0.0 \
--workspace-name ws123


az synapse workspace firewall-rule list \
--resource-group rg9999999 \
--workspace-name ws123

 

-- 6. ロール付与



A member of the Owner role of the Azure Storage account must assign the Storage Blob Data Contributor role to the Azure Synapse workspace MSI and other users.

MSI => マネージド サービス ID 
マネージド ID の名前は、ワークスペース名でもあります。


az ad user list

az role assignment create \
--role "Storage Blob Data Contributor" \
--assignee-object-id "11111111-1111-1111-1111-111111111111" \
--assignee-principal-type User \
--scope "/subscriptions/22222222-2222-2222-2222-222222222222/resourceGroups/rg9999999/providers/Microsoft.Storage/storageAccounts/st123"

※assignee-object-idはログインユーザのid


az role assignment create \
--role "Storage Blob Data Contributor" \
--assignee-object-id "33333333-3333-3333-3333-333333333333" \
--assignee-principal-type ServicePrincipal \
--scope "/subscriptions/22222222-2222-2222-2222-222222222222/resourceGroups/rg9999999/providers/Microsoft.Storage/storageAccounts/st123"

※assignee-object-idはワークスペースのprincipalId


az role assignment list --all

 


-- 7. Synapse Studio を開く

 

-- 8. プライマリ ストレージ アカウントにサンプル データを配置する

下記サイトから
parquetファイルを取得し、Synapse Studioへアップロード

https://www.nyc.gov/site/tlc/about/tlc-trip-record-data.page

 


-- 9. サーバーレス SQL プールを使用してニューヨーク市のタクシー データを分析する

SELECT
    TOP 100 *
FROM
    OPENROWSET(
        BULK 'https://st123.dfs.core.windows.net/fs123/yellow_tripdata_2022-01.parquet',
        FORMAT = 'PARQUET'
    ) AS [result]

 


-- 10. クリーンアップ


az group list

az group delete \
--name rg9999999 \
--yes