「Azure/CLI」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→sas-token) |
(→コマンドにloginコマンドをつける) |
||
行45: | 行45: | ||
コマンドにするときは以下のように、&を\&にエスケープしておく。 | コマンドにするときは以下のように、&を\&にエスケープしておく。 | ||
--sas-token sp=racwdl\&st=2021-03-20T11:50:30Z\&se=2021-03-20T19:50:30Z\&spr=https\&sv=2020-08-04\&sr=c\&sig=xxxxxxZOIc8I4VptWt63fxrfV3Fh8G631XKtFcOxxxx%3D | --sas-token sp=racwdl\&st=2021-03-20T11:50:30Z\&se=2021-03-20T19:50:30Z\&spr=https\&sv=2020-08-04\&sr=c\&sig=xxxxxxZOIc8I4VptWt63fxrfV3Fh8G631XKtFcOxxxx%3D | ||
+ | |||
+ | ====権限エラーが出るとき==== | ||
+ | RESPONSE Status: 403 This request is not authorized to perform this operation using this permission. | ||
+ | azure管理画面のコンテナの共有アクセストークンで、適切な権限が、ついてないので確認する | ||
==コンテナupload== | ==コンテナupload== |
2021年8月20日 (金) 20:54時点における版
目次
インストール
macの場合
brew update && brew install azure-cli
公式:https://docs.microsoft.com/ja-jp/cli/azure/install-azure-cli
login
az login
ブラウザに飛び、ログインが成功すると、以下メッセージが帰ってくる
The default web browser has been opened at https://login.microsoftonline.com/common/oauth2/authorize. Please continue the login in the web browser. If no web browser is available or if the web browser fails to open, use device code flow with `az login --use-device-code`. You have logged in. Now let us find all the subscriptions to which you have access... The following tenants don't contain accessible subscriptions. Use 'az login --allow-no-subscriptions' to have tenant level access. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx '既定のディレクトリ' xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx 'hogeuser' [ { "cloudName": "AzureCloud", "homeTenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx", "isDefault": true, "managedByTenants": [], "name": "dv_xxx_cloudconfig-virtual-event-service_azureplan", "state": "Enabled", "tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "user": { "name": "hogehoge@example.com", "type": "user" } } ]
コマンドにloginコマンドをつける
- --auth-mode login
- --connection-string, --account-key
- --sas-token
auth-mode login
途中でブラウザのログイン画面に移動
sas-token
azure管理画面のコンテナの共有アクセストークンでアクセス許可の読み取り、追加、作成、書き込み、削除、リストなどをつけて、BLOB SASトークンをコピー
sp=racwdl&st=2021-03-20T11:50:30Z&se=2021-03-20T19:50:30Z&spr=https&sv=2020-08-04&sr=c&sig=xxxxxxZOIc8I4VptWt63fxrfV3Fh8G631XKtFcOxxxx%3D
コマンドにするときは以下のように、&を\&にエスケープしておく。
--sas-token sp=racwdl\&st=2021-03-20T11:50:30Z\&se=2021-03-20T19:50:30Z\&spr=https\&sv=2020-08-04\&sr=c\&sig=xxxxxxZOIc8I4VptWt63fxrfV3Fh8G631XKtFcOxxxx%3D
権限エラーが出るとき
RESPONSE Status: 403 This request is not authorized to perform this operation using this permission.
azure管理画面のコンテナの共有アクセストークンで、適切な権限が、ついてないので確認する
コンテナupload
az storage blob upload \ --account-name <storage-account> \ --container-name <container> \ --name dir1/text.txt \ --file /Users/user1/Desktop/test.txt \ --auth-mode login
- storage-accountは、左上のストレージアカウント
- container-nameはコンテナーを選択した際に表示されるコンテナリスト内の名前
- nameはazure内のpath
- fileはローカル内のpath
公式:https://docs.microsoft.com/ja-jp/azure/storage/blobs/storage-quickstart-blobs-cli
コンテナupload(dir)旧
az storage blob directory upload \ --account-name <storage-account> \ -c <container> \ -s "path/to/directory/*" \ -d dir1 --recursive
引数指定で、DIRの上げ方は色々ある
-s "path/to/file" -d directory -s "path/to/directory" -d directory --recursive -s "path/to/*" -d directory --recursive
--container/-cのエラーが出たら
the following arguments are required: --container/-c
コンテナ引数は--container-nameではなく --containerか、-cにするとよい。
storage-previewのメッセージが出てきたら
The command requires the extension storage-preview. Do you want to install it now? The command will continue to run after the extension is installed. (Y/n):
yを押してインストール
storage blob directoryは非推奨
This command is implicitly deprecated because command group 'storage blob directory' is deprecated and will be removed in a future release. Use 'az storage fs directory' instead
az storage fs directoryが良いらしい
コンテナupload(dir)新
az storage fs directory upload \ --account-name <storage-account> \ --file-system <container> \ -s "path/to/directory/*" \ -d dir1 --recursive --auth-mode login
- -fは--file-systemでコンテナ名を入れる
- --auth-mode loginをつければ、セッションなければ、ログイン画面を挟む?
コンテナ内リスト取得
$ az storage blob list \ --account-name <storage-account> \ --container-name hoge-workspace \ --auth-mode login \ | grep name "name": "dir1/file1.txt, "name": "dir1/file2.txt",
- storage-accountは、左上のストレージアカウント
参考:https://www.se-from30.com/azure/azurecli-az-storage-blob-01/