Можно ли получить имя рабочей области OMS Log Analytics из идентификатора рабочей области

У меня есть рабочая область OMS Log Analytics. Идентификатор рабочей области - это руководство. Это единственное, что я могу использовать в рамках существующего проекта. Используя это руководство, мне нужно получить пример имени рабочей области myWorkspace в шаблоне руки. Мне разрешено передать guid в качестве параметра в шаблон руки. Guid на самом деле является свойством customerId, если я посмотрю на сопоставления Json и ResourceId с именем рабочей области, которое начинается с /subscription/xx-xxx-xxx-xxx/......../myWorkspace.

Мне нужно получить это имя рабочей области (ResourceId) из guid (customerId). Пожалуйста, дайте мне знать, могу я это сделать или нет? Действительно изо всех сил, чтобы заставить это работать ...


person chugh97    schedule 19.08.2020    source источник
comment
вы хотите получить имя рабочего пространства с помощью программирования, например, с помощью C #?   -  person Ivan Yang    schedule 20.08.2020
comment
Не использовать только шаблон ARM @Ivan Yang   -  person chugh97    schedule 20.08.2020
comment
@ chugh97 - Не могли бы вы помочь лучше объяснить свой сценарий, почему вы хотите получить имя рабочего пространства в шаблоне ARM на основе идентификатора рабочего пространства? и что ограничивает вас в получении имени рабочей области на основе идентификатора рабочей области через PowerShell или другими способами перед вызовом шаблона ARM? насколько известно REST API не имеет параметра для получения с использованием идентификатора рабочей области docs.microsoft.com/en-us/rest/api/loganalytics/workspaces/get, у него есть только имя рабочей области   -  person bharathn-msft    schedule 01.09.2020


Ответы (2)


Вы можете легко получить его из ARG (графа ресурсов Azure), но я не знаю, как найти его в самом шаблоне ARM. вам, вероятно, придется искать идентификатор вне шаблона и передавать его в качестве параметра?

https://docs.microsoft.com/en-us/azure/governance/resource-graph/concepts/explore-resources

Resources 
| where type =~ "microsoft.operationalinsights/workspaces"
| where properties.customerId == "00000000-0000-0000-0000-00000000000"
| project id, name
person John Gardner    schedule 12.09.2020

Я не уверен, чего вы хотите достичь, но я несколько раз использовал Log Analytics Workspace с azure ARM. Примером является получение ключа рабочей области и идентификатора рабочей области для подключения виртуальной машины к рабочей области.

См. Код ниже:

  {
        "type": "Microsoft.Compute/virtualMachines/extensions",
        "name": "[concat(parameters('vmName'), '/OMSExtension')]",
        "apiVersion": "2018-06-01",
        "location": "[parameters('location')]",
        "dependsOn": [
            "[concat('Microsoft.Compute/virtualMachines/', parameters('vmName') )]"
        ],
        "properties": {
            "publisher": "Microsoft.EnterpriseCloud.Monitoring",
            "type": "OmsAgentForLinux",
            "typeHandlerVersion": "1.7",
            "autoUpgradeMinorVersion": true,
            "settings": {
                "workspaceId": "[reference(resourceId(parameters('logAnalyticsRG'), 'Microsoft.OperationalInsights/workspaces/', parameters('logAnalyticsName')), '2015-03-20').customerId]"
            },
            "protectedSettings": {
                "workspaceKey": "[listKeys(resourceId(parameters('logAnalyticsRG'), 'Microsoft.OperationalInsights/workspaces/', parameters('logAnalyticsName')), '2015-03-20').primarySharedKey]"
            }
        }
    }

Все зависит от вашего сценария, но именно так можно получить идентификатор и ключ рабочей области.

person Llazar    schedule 12.09.2020