Бөлісу құралы:


Создание и использование настраиваемого поставщика ресурсов

Настраиваемый поставщик ресурсов — это контракт между Azure и конечной точкой. С помощью настраиваемых поставщиков ресурсов можно изменять рабочие процессы в Azure. В этом руководстве показан процесс создания настраиваемого поставщика ресурсов. Если вы не знакомы с настраиваемыми поставщиками ресурсов Azure, см. обзор настраиваемых поставщиков ресурсов Azure.

Создание настраиваемого поставщика ресурсов

Примечание

Это руководство не затрагивает процесс создания конечной точки. Если у вас нет конечной точки RESTful, выполните задачи из руководства по созданию конечных точек RESTful. На этом руководстве основан текущий документ.

После создания конечной точки можно создать настраиваемый поставщик ресурсов для создания контракта между поставщиком и конечной точкой. С помощью настраиваемого поставщика ресурсов можно указать список определений конечных точек:

{
  "name": "myEndpointDefinition",
  "routingType": "Proxy",
  "endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
}
Свойство Обязательно Описание
name Да Имя определения конечной точки. Azure предоставляет это имя через свой API-интерфейс в разделе "/subscriptions/{ИД_подписки}/resourceGroups/{Имя_группы_ресурсов}/providers/Microsoft.CustomProviders/
/resourceProviders/{имя_поставщика_ресурсов}/{имя_определения_конечной_точки}
routingType Нет Тип контракта конечной точки. Если это значение не указано, по умолчанию используется тип Proxy (Прокси-сервер).
endpoint Да Конечная точка для направления запросов. Эта конечная точка обрабатывает ответ и все аспекты, на которые влияет запрос.

Параметр endpoint (конечная точка) содержит URL-адрес триггера для приложения-функции Azure. Замените заполнители <yourapp>, <funcname> и <functionkey> реальными значениями для созданного приложения-функции.

Определение настраиваемых действий и ресурсов

Настраиваемый поставщик ресурсов содержит список определений конечных точек, смоделированных в свойствах actions и resourceTypes . Свойство actions сопоставляется с настраиваемыми действиями, предоставляемыми настраиваемым поставщиком ресурсов, а свойство resourceTypes — пользовательскими ресурсами. В этом руководстве настраиваемый поставщик ресурсов имеет свойство actions с именем myCustomAction и свойство resourceTypes с именем myCustomResources.

{
  "properties": {
    "actions": [
      {
        "name": "myCustomAction",
        "routingType": "Proxy",
        "endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
      }
    ],
    "resourceTypes": [
      {
        "name": "myCustomResources",
        "routingType": "Proxy",
        "endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
      }
    ]
  },
  "location": "eastus"
}

Развертывание настраиваемого поставщика ресурсов

Примечание

Замените значения endpoint URL-адресом триггера из приложения-функции, созданной в предыдущем руководстве.

Вы можете развернуть предыдущий пользовательский поставщик ресурсов с помощью шаблона Azure Resource Manager:

{
    "$schema": "http://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [
        {
            "type": "Microsoft.CustomProviders/resourceProviders",
            "name": "myCustomProvider",
            "apiVersion": "2018-09-01-preview",
            "location": "eastus",
            "properties": {
                "actions": [
                    {
                        "name": "myCustomAction",
                        "routingType": "Proxy",
                        "endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
                    }
                ],
                "resourceTypes": [
                    {
                        "name": "myCustomResources",
                        "routingType": "Proxy",
                        "endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
                    }
                ]
            }
        }
    ]
}

Использование настраиваемых действий и ресурсов

После создания настраиваемого поставщика ресурсов можно использовать новые API Azure. В следующих разделах объясняется, как вызывать и использовать настраиваемый поставщик ресурсов.

Настраиваемые действия

Azure CLI

Примечание

Заполнители и {resourceGroupName} необходимо заменить {subscriptionId} подпиской и группой ресурсов, в которой развернут пользовательский поставщик ресурсов.

az resource invoke-action --action myCustomAction \
                          --ids /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider \
                          --request-body
                            '{
                                "hello": "world"
                            }'
Параметр Обязательно Описание
action Да Имя действия, определенного в настраиваемом поставщике ресурсов.
ids Да Идентификатор ресурса настраиваемого поставщика ресурсов.
request-body Нет Текст запроса, который будет отправляться в конечную точку.

Настраиваемые ресурсы

Примечание

Заполнители и {resourceGroupName} необходимо заменить {subscriptionId} подпиской и группой ресурсов, в которой развернут пользовательский поставщик ресурсов.

Создание настраиваемого ресурса

az resource create --is-full-object \
                   --id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1 \
                   --properties
                    '{
                        "location": "eastus",
                        "properties": {
                            "hello" : "world"
                        }
                    }'
Параметр Обязательно Описание
full-object Да Указывает, включает ли объект свойств другие параметры, такие как расположение, теги, номер SKU и (или) план.
id Да Идентификатор ресурса настраиваемого ресурса. Этот идентификатор является расширением идентификатора ресурса настраиваемого поставщика ресурсов.
properties Да Текст запроса, который будет отправляться в конечную точку.

Удаление настраиваемого ресурса

az resource delete --id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1
Параметр Обязательно Описание
идентификатор Да Идентификатор ресурса настраиваемого ресурса. Этот идентификатор является расширением идентификатора ресурса настраиваемого поставщика ресурсов.

Извлечение настраиваемого ресурса

az resource show --id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1
Параметр Обязательно Описание
идентификатор Да Идентификатор ресурса настраиваемого ресурса. Этот идентификатор является расширением идентификатора ресурса настраиваемого поставщика ресурсов.

Примечание

Завершив развертывание и использование пользовательского поставщика ресурсов, не забудьте очистить все созданные ресурсы, включая приложение-функцию Azure.

Дальнейшие действия

Из этой статьи вы узнали о настраиваемых поставщиках ресурсов. Дополнительные сведения см. в разделе: