Azure CLI を使用して Azure Data Lake Storage Gen1 の使用を開始する
Note
Azure Data Lake Storage Gen1 は廃止されました。 提供終了のお知らせについては、 こちらを参照してください。Data Lake Storage Gen1 リソースにアクセスできなくなりました。
Azure CLI を使用して Azure Data Lake Storage Gen1 アカウントを作成し、フォルダーの作成、データ ファイルのアップロードとダウンロード、ご自分のアカウントの削除などの基本操作を行う方法について説明します。Data Lake Storage Gen1 の詳細については、Data Lake Storage Gen1 の概要に関する記事をご覧ください。
Azure CLI は、Azure リソースを管理するための、Azure のコマンド ライン エクスペリエンスです。 macOS、Linux、および Windows で使用できます。 詳細については、Azure CLI の概要に関するページを参照してください。 コマンドと構文の完全な一覧については、Azure Data Lake Storage Gen1 CLI リファレンスを参照することもできます。
前提条件
この記事を読み始める前に、次の項目を用意する必要があります。
Azure サブスクリプション。 Azure 無料試用版の取得に関するページを参照してください。
Azure CLI - 手順については、「Azure CLI のインストール」を参照してください。
認証
この記事では、Data Lake Storage Gen1 に対してエンド ユーザーとしてログインする比較的単純な認証方法を使用します。 その後、Data Lake Storage Gen1 アカウントとファイル システムに対するアクセス レベルは、そのログイン ユーザーのアクセス レベルで管理されます。 ただし、Data Lake Storage Gen1 には他の認証方法も存在します (エンド ユーザー認証とサービス間認証)。 認証方法の詳細については、エンドユーザー認証またはサービス間認証に関するページを参照してください。
Azure サブスクリプションにログイン
Azure サブスクリプションにログインします。
az login
使用するコードは次の手順で示します。 Web ブラウザーを使用して https://aka.ms/devicelogin ページを開き、コードを入力して認証を行います。 資格情報を使用してログインするように求めるメッセージが表示されます。
ログインすると、アカウントに関連付けられているすべての Azure サブスクリプションの一覧がウィンドウに表示されます。 次のコマンドを使用して、特定のサブスクリプションを使用します。
az account set --subscription <subscription id>
Azure Data Lake Storage Gen1 アカウントを作成する
新しいリソース グループを作成します。 次のコマンドで、使用するパラメーター値を指定します。 場所の名前にスペースが含まれる場合は、名前を引用符で囲みます。 たとえば、"East US 2" などとします。
az group create --location "East US 2" --name myresourcegroup
Data Lake Storage Gen1 アカウントを作成します。
az dls account create --account mydatalakestoragegen1 --resource-group myresourcegroup
Data Lake Storage Gen1 アカウントでフォルダーを作成する
Data Lake Storage Gen1 アカウントにフォルダーを作成し、データを管理したり、保存したりできます。 次のコマンドを使用して、Data Lake Storage Gen1 アカウントのルートに mynewfolder という名前のフォルダーを作成します。
az dls fs create --account mydatalakestoragegen1 --path /mynewfolder --folder
Note
--folder
パラメーターを指定すると、フォルダーが作成されます。 このパラメーターを指定しない場合、コマンドによって Data Lake Storage Gen1 アカウントのルートに mynewfolder という名前の空のファイルが作成されます。
Data Lake Storage Gen1 アカウントへのデータのアップロード
データは Data Lake Storage Gen1 のルート レベルで直接アップロードするか、アカウント内で作成したフォルダーにアップロードすることができます。 以下のスニペットは、前のセクションで作成したフォルダー (mynewfolder) にいくつかのサンプル データをアップロードする方法を示します。
アップロードするいくつかのサンプル データを探している場合は、 Azure Data Lake Git リポジトリ から Ambulance Dataフォルダーを取得できます。 ファイルをダウンロードし、コンピューター上のローカル ディレクトリ (C:\sampledata など) に保存します。
az dls fs upload --account mydatalakestoragegen1 --source-path "C:\SampleData\AmbulanceData\vehicle1_09142014.csv" --destination-path "/mynewfolder/vehicle1_09142014.csv"
Note
保存先として、ファイル名を含む完全なパスを指定する必要があります。
Data Lake Storage Gen1 アカウントのファイルを一覧表示する
Data Lake Storage Gen1 アカウントのファイルを一覧表示するには、次のコマンドを使用します。
az dls fs list --account mydatalakestoragegen1 --path /mynewfolder
この出力は次のように表示されます。
[
{
"accessTime": 1491323529542,
"aclBit": false,
"blockSize": 268435456,
"group": "1808bd5f-62af-45f4-89d8-03c5e81bac20",
"length": 1589881,
"modificationTime": 1491323531638,
"msExpirationTime": 0,
"name": "mynewfolder/vehicle1_09142014.csv",
"owner": "1808bd5f-62af-45f4-89d8-03c5e81bac20",
"pathSuffix": "vehicle1_09142014.csv",
"permission": "770",
"replication": 1,
"type": "FILE"
}
]
Data Lake Storage Gen1 アカウントのデータの名前変更、ダウンロード、削除を行う
ファイルの名前を変更するには、次のコマンドを使用します。
az dls fs move --account mydatalakestoragegen1 --source-path /mynewfolder/vehicle1_09142014.csv --destination-path /mynewfolder/vehicle1_09142014_copy.csv
ファイルをダウンロードするには、次のコマンドを使用します。 既に存在するパスをダウンロード先として指定してください。
az dls fs download --account mydatalakestoragegen1 --source-path /mynewfolder/vehicle1_09142014_copy.csv --destination-path "C:\mysampledata\vehicle1_09142014_copy.csv"
Note
対象フォルダーが存在しない場合は、作成されます。
ファイルを削除するには、次のコマンドを使用します。
az dls fs delete --account mydatalakestoragegen1 --path /mynewfolder/vehicle1_09142014_copy.csv
フォルダー mynewfolder とファイル vehicle1_09142014_copy.csv を 1 つのコマンドでまとめて削除する場合は、--recurse パラメーターを使用します。
az dls fs delete --account mydatalakestoragegen1 --path /mynewfolder --recurse
Data Lake Storage Gen1 アカウントのアクセス許可と ACL を操作する
このセクションでは、Azure CLI を使用して ACL とアクセス許可を管理する方法について説明します。 Azure Data Lake Storage Gen1 で ACL がどのように実装されているかについては「Azure Data Lake Storage Gen1 のアクセス制御」に説明があります。そちらをご参照ください。
ファイルまたはフォルダーの所有者を更新するには、次のコマンドを使用します。
az dls fs access set-owner --account mydatalakestoragegen1 --path /mynewfolder/vehicle1_09142014.csv --group 80a3ed5f-959e-4696-ba3c-d3c8b2db6766 --owner 6361e05d-c381-4275-a932-5535806bb323
ファイルまたはフォルダーのアクセス許可を更新するには、次のコマンドを使用します。
az dls fs access set-permission --account mydatalakestoragegen1 --path /mynewfolder/vehicle1_09142014.csv --permission 777
特定のパスの ACL を取得するには、次のコマンドを使用します。
az dls fs access show --account mydatalakestoragegen1 --path /mynewfolder/vehicle1_09142014.csv
出力は次のようになります。
{ "entries": [ "user::rwx", "group::rwx", "other::---" ], "group": "1808bd5f-62af-45f4-89d8-03c5e81bac20", "owner": "1808bd5f-62af-45f4-89d8-03c5e81bac20", "permission": "770", "stickyBit": false }
ACL のエントリを設定するには、次のコマンドを使用します。
az dls fs access set-entry --account mydatalakestoragegen1 --path /mynewfolder --acl-spec user:6360e05d-c381-4275-a932-5535806bb323:-w-
ACL のエントリを削除するには、次のコマンドを使用します。
az dls fs access remove-entry --account mydatalakestoragegen1 --path /mynewfolder --acl-spec user:6360e05d-c381-4275-a932-5535806bb323
既定の ACL エントリ全体を削除するには、次のコマンドを使用します。
az dls fs access remove-all --account mydatalakestoragegen1 --path /mynewfolder --default-acl
既定でない ACL エントリ全体を削除するには、次のコマンドを使用します。
az dls fs access remove-all --account mydatalakestoragegen1 --path /mynewfolder
Data Lake Storage Gen1 アカウントの削除
Data Lake Storage Gen1 アカウントを削除するには、次のコマンドを使用します。
az dls account delete --account mydatalakestoragegen1
確認を求めるメッセージが表示されたら、「 Y 」と入力して、アカウントを削除します。