使用 Azure 命令行捕获 AVML 内存

AVML memory capture with Azure Commandline

我正在尝试使用 AVML 和 Azure CLI 远程捕获 Linux VM 的内存。

基本上,我生成了一个 SAS-URL...

az storage container generate-sas \
    --account-name <storage-account> \
    --name <container> \
    --permissions acdlrw \
    --expiry <date-time> \
    --auth-mode login \
    --as-user

...并执行以下命令:

az vm extension set -g <resource-group> --vm-name <vm-name> --publisher Microsoft.Azure.Extensions -n customScript --settings config.json

...我得到以下输出:

config.json 也在输出中。参见 settings: {...}

{
  "autoUpgradeMinorVersion": true,
  "enableAutomaticUpgrade": null,
  "forceUpdateTag": null,
  "id": "/subscriptions/<...>/customScript",
  "instanceView": null,
  "location": "<geo-location>",
  "name": "customScript",
  "protectedSettings": null,
  "protectedSettingsFromKeyVault": null,
  "provisioningState": "Succeeded",
  "publisher": "Microsoft.Azure.Extensions",
  "resourceGroup": "<resource-group>",
  "settings": {
    "commandToExecute": "./avml --compress --sas-url <sas-url>",
    "fileUris": [
      "https://github.com/microsoft/avml/releases/download/v0.6.0/avml"
    ]
  },
  "suppressFailures": null,
  "tags": null,
  "type": "Microsoft.Compute/virtualMachines/extensions",
  "typeHandlerVersion": "2.1",
  "typePropertiesType": "customScript"
}

...但是与此 SAS URL 关联的容器是空的。我的命令有什么问题吗?

我自己想通了,答案是……

您需要 \"\" 大约 <sas-url>