Как использовать функцию Azure CLI в функции - PullRequest
0 голосов
/ 09 июля 2019

Я использую интерфейс командной строки Azure для загрузки некоторых файлов в большой двоичный объект хранилища:

call az storage blob upload-batch 
  --source "$(System.DefaultWorkingDirectory)/_ClientWeb-Build-CI/ShellArtifact/out/build" 
  --destination "$web" 
  --account-key <generated_key>
  --account-name $(prSourceBranchName)

Для этого мне нужно --acount-key из контейнера.Я могу обработать ключ с помощью:

call az storage account keys list -g CustomersV2 -n $(prSourceBranchName) --query [0].value -o tsv

. Выводит правильный ключ.

Как получить данные из функции az storage account keys list в моем значении --account-key?

Я пытался напрямую ссылаться на функцию в другой функции:

call az storage blob upload-batch 
    --source "$(System.DefaultWorkingDirectory)/_ClientWeb-Build-CI/ShellArtifact/out/build" 
    --destination "$web" 
    --account-key call az storage account keys list -g CustomersV2 -n $(prSourceBranchName) --query [0].value -o tsv 
    --account-name $(prSourceBranchName)

call az storage blob upload-batch 
    --source "$(System.DefaultWorkingDirectory)/_ClientWeb-Build-CI/ShellArtifact/out/build" 
    --destination "$web" 
    --account-key az storage account keys list -g CustomersV2 -n $(prSourceBranchName) --query [0].value -o tsv 
    --account-name $(prSourceBranchName)

call az storage blob upload-batch 
    --source "$(System.DefaultWorkingDirectory)/_ClientWeb-Build-CI/ShellArtifact/out/build" 
    --destination "$web" 
    --account-key (az storage account keys list -g CustomersV2 -n $(prSourceBranchName) --query [0].value -o tsv)
    --account-name $(prSourceBranchName)     

Это выводит:

call az storage blob upload-batch 
    --source "d:\a\r1\a/_ClientWeb-Build-CI/ShellArtifact/out/build" 
    --destination "$web" 
    --account-key call az storage account keys list -g CustomersV2 -n *****to --query [0].value -o tsv 
    --account-name *****to

ERROR: az: error: unrecognized arguments: az storage account keys list -g CustomersV2 -n *****to

call az storage blob upload-batch 
    --source "d:\a\r1\a/_ClientWeb-Build-CI/ShellArtifact/out/build" 
    --destination "$web" 
    --account-key az storage account keys list -g CustomersV2 -n *****to --query [0].value -o tsv 
    --account-name *****to

ERROR: az: error: unrecognized arguments: storage account keys list -g CustomersV2 -n *****to

call az storage blob upload-batch --source "d:\a\r1\a/_ClientWeb-Build-CI/ShellArtifact/out/build" --destination "$web" --account-key (az storage account keys list -g CustomersV2 -n *****to --query [0].value -o tsv) --account-name *****to

--account-name was unexpected at this time.

Похоже, функция az storage account keys list -g отображается в виде строки,не как функция.

1 Ответ

1 голос
/ 10 июля 2019

Вы можете использовать @ для вызова функции, такой как удар, который я проверяю:

az storage blob list --container-name $containername --account-name $accountname --account-key @(az storage account keys list -g $groupname -n $accountname--query [0].value -o tsv)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...