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