Как вызвать конечную точку пакетной службы Azure ML с помощью действий HTTP/Web из Synapse Integrate
Предпосылка
- Учетная запись Azure
- Хранилище Azure
- Служба машинного обучения Azure
- Создайте конечную точку пакета в соответствии с документацией.
- В этой статье не показано, как развернуть пакетную конечную точку.
- https://docs.microsoft.com/en-us/azure/machine-learning/how-to-use-batch-endpoint
- Код для конечной точки партии доступен по ссылке выше.
- Создание рабочей области Azure Synapse Analytics
- Создать хранилище ключей Azure
- Хранить идентификатор клиента, секрет и арендатора в Azure Keyvault
Note: to show how we can do ETL/ELT and then invoke batch endpoint to score ML model.
Архитектура / Поток
Шаги потока/действия
- Принесите веб-активность
- Настройте секретный URL-адрес для идентификатора клиента, хранящегося в Azure Keyvault.
- Для URL
https://keyvaultname.vault.azure.net/secrets/secretname/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx?api-version=7.0
- Выберите ПОЛУЧИТЬ
- для ресурса
- В целях безопасности выберите управляемое удостоверение.
https://vault.azure.net
- Создать переменные
- Теперь установите переменную
@activity('clientid').output.value
- Теперь давайте снова перетащим веб-активность для секрета.
- Для URL
https://keyvaultname.vault.azure.net/secrets/secretname/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx?api-version=7.0
- Выберите ПОЛУЧИТЬ
- для ресурса
- В целях безопасности выберите управляемое удостоверение.
https://vault.azure.net
- Затем установите переменную
@activity('clientsecret').output.value
- теперь давайте получим токен авторизации
- Для URL
https://login.microsoftonline.com/tenantid/oauth2/token
- для тела
@concat('grant_type=client_credentials&client_id=',variables('clientid'),'&resource=https://management.core.windows.net/&client_secret=',variables('clienttoken'))
- теперь сохраните токен в переменной
@activity('Getbearertoken').output.access_token
- Теперь давайте получим токен оценки для конечной точки пакета.
https://login.microsoftonline.com/tenantid/oauth2/token
@concat('grant_type=client_credentials&client_id=',variables('clientid'),'&resource=https://ml.azure.com/&client_secret=',variables('clienttoken'))
- Сохраните токен оценки в переменной
@activity('scoring_token').output.access_token
- теперь получить идентификатор набора данных
- для URL
https://centralus.experiments.azureml.net/dataset/v1.0/subscriptions/<subid>/resourceGroups/<rgname>/providers/Microsoft.MachineLearningServices/workspaces/<workspacename>/saveddatasets/from-data-path
- Добавить заголовок для авторизации
@concat('Bearer ',variables('tokenml'))
- Тело
{"DatastoreName":"taxibatch2files","RelativePath":"/example-data/taxibatch.csv"}
- теперь вызовите конечную точку пакета
- Теперь используйте конечную точку пакетной службы из службы машинного обучения Azure.
- В Azure ML перейдите в раздел Конечная точка > Конечная точка пакетной обработки > выберите конечную точку пакетной обработки > щелкните сведения.
https://endpointname.centralus.inference.ml.azure.com/jobs
- Установите заголовки для авторизации и типа контента
Authorization: @concat('Bearer ',variables('tokenml'))
Content-Type: application/json
- для изменения тела на
{
"properties": {
"dataset": {
"dataInputType": "DatasetVersion",
"datasetName": "taxibatch2files",
"datasetVersion": "1"
}
}
}
- Зафиксировать изменения
- Нажмите отладку
- дождитесь завершения потока
- Сделанный
Первоначально опубликовано на https://github.com.