REST API приложения в Azure HDInsight

Создайте

Создает новый узел в кластере (называемый пограничным узлом) и устанавливает на нем приложение.

Просьба

Общие параметры и заголовки приведены в разделе Общие параметры и параметры, используемые кластерами.

Метод Запрос URI
ПОСТАВИТЬ https://management.azure.com/subscriptions/{subscription Id}/resourceGroups/{resourceGroup Name}/providers/Microsoft.HDInsight/clusters/{cluster name}/applications/{application Name}?api-version={api-version}

В следующем примере показан текст запроса для установки приложений в кластере HDInsight на базе Linux.

{  
  
	"name": "clusterName / applicationName"  
		"type": "Microsoft.HDInsight/clusters/applications",  
	"properties": {  
		"computeProfile": {  
			"roles": [  
				{  
					"name": "edgenode",  
					"targetInstanceCount": 1,  
					"hardwareProfile": {  
						"vmSize": "Standard_D3"  
					}  
				}  
			]  
		},  
		"installScriptActions": [  
			{  
				"name": "hue-install",  
				"uri": "https://publicEndpoint-bash-file.sh",  
				"parameters": "",  
				"roles": ["edgenode"]  
			}  
		],  
		"uninstallScriptActions": [  
			{  
				"name": "hue-uninstall",  
				"uri": "https://publicEndpoint-bash-file.sh",  
				"parameters": "",  
				"roles": ["edgenode"]  
			}  
		],  
		"httpsEndpoints": [  
			{  
				"subDomainSuffix": "abc",  
				"destinationPort": 8888,  
				"accessModes": ["WebPage"]  
			},  
			{  
				"subDomainSuffix": "was",  
				"destinationPort": 50073,  
				"accessModes": ["WebPage"]  
			}  
		],  
		"applicationType": "CustomApplication"  
	}  
}  
  
Имя элемента Обязательно Тип Описание
имя Да Струна Указывает имя приложения. Имя должно быть указано как clusterName/applicationName. Имя приложения должно быть уникальным для каждого кластера.
тип Да Струна Указывает тип ресурса.
Свойства Да Сложный тип Задает свойства кластера.

Свойства

Имя элемента Обязательно Тип Описание
computeProfile Да Сложный тип Описывает виртуальную машину, на которой будет выполняться приложение
InstallScriptActions Да Сложный тип Описывает действия скрипта установки для приложения. Должен быть указан хотя бы один скрипт, и скрипты должны быть идемпотентными, что означает, что скрипты могут вызываться многократно при получении одного и того же результата.
UninstallScriptActions нет Сложный тип Описывает действия скрипта удаления для приложения. Этот параметр является необязательным, но любые указанные действия скрипта удаления должны быть идемпотентными (что означает, что скрипты могут вызываться многократно с получением одного и того же результата).
Конечная точка HttpSender нет Сложный тип Описывает, какие конечные точки в приложении должны быть адресованы в Интернет.
applicationType Да Струна Этот элемент всегда имеет значение "CustomApplication"

computeProfile

Этот элемент должен содержать ровно одну роль

Имя элемента Обязательно Тип Описание
роль Да Сложный тип Указывает сведения о ролях в кластере
роль
Имя элемента Обязательно Тип Описание
имя Да Струна Имя должно быть указано как "edgenode"
targetInstanceCount Да Целое число Этот элемент должен быть установлен в 1
hardwareProfile Да Сложный тип Указывает информацию об аппаратном профиле для edgenode
hardwareProfile
Имя элемента Обязательно Тип Описание
vmSize Да Струна Указывает размер виртуальной машины. Допустимые размеры см. в разделе Параметры конфигурации HDInsight (перейдя по этой ссылке, прокрутите вниз до раздела Ценовые категории узлов).

InstallScriptActions

Имя элемента Обязательно Тип Описание
Имя Да Струна Указывает имя действия скрипта. Должен быть уникальным для всех материализованных действий скрипта в кластере
Ури Да Струна Общедоступное расположение скрипта. Все указанные сценарии должны быть идемпотентными, что означает, что сценарии могут вызываться многократно, получая один и тот же результат.
Параметры нет Струна Необязательный набор параметров для передачи в скрипт
Роли Да Массив строк Описывает роль для выполнения скрипта. Допустимые значения: headnode, workernode, zookeepernode и edgenode. edgenode — это роль, на которой размещается приложение и где будет выполняться ваше приложение.

UninstallScriptActions

Имя элемента Обязательно Тип Описание
Имя Да Струна Указывает имя действия скрипта.
Ури Да Струна Общедоступное расположение скрипта. Любые указанные сценарии должны быть идемпотентными, что означает, что сценарии могут вызываться многократно с получением одного и того же результата.
Параметры нет Струна Необязательный набор параметров для передачи в скрипт
Роли Да Массив строк Описывает роль для выполнения скрипта. Допустимые значения: headnode, workernode, zookeepernode и edgenode. edgenode — это роль, на которой размещается приложение и где будет выполняться ваше приложение.

Конечная точка HttpSender

Имя элемента Обязательно Тип Описание
subDomainSuffix Да Струна Трехзначная буквенно-цифровая строка, используемая для создания DNS-имени, используемого для доступа к приложению. DNS-имя будет иметь формат: *.apps.azurehdinsight.net. Это имя должно быть уникальным для каждого кластера.
destinationPort Да Целое число Порт для переадресации HTTP-трафика на edgenode, на котором размещено ваше приложение.
accessModes нет Массив строк Метаданные о конечной точке. Если конечная точка содержит веб-страницу, укажите веб-страницу в качестве режима доступа. В противном случае массив должен быть пустым или отсутствовать в полезной нагрузке. Этот элемент позволяет порталу Azure отображать прямые ссылки на ваше приложение.

Ответ

Если проверка завершена и запрос принят, операция вернет 200 (OK).

Код состояния: 200 OK

Получить

Получает сведения о приложении HDInsight.

Просьба

Общие параметры и заголовки приведены в разделе Общие параметры и параметры, используемые кластерами.

Метод Запрос URI
ПОЛУЧАЙ https://management.azure.com/subscriptions/{subscription Id}/resourceGroups/{resourceGroup Name}/providers/Microsoft.HDInsight/clusters/{cluster name}/applications/{application Name}?api-version={api-version}

Ответ

Текст ответа — это массив сведений о приложении HDInsight или один узел приложения HDInsight, если указано applicationName. Ниже приведен пример подробной информации о приложении.

Код ответа: HTTP 200 (OK) при успешном завершении операции.

Пример ответа:

{  
	"value": [  
		{  
			"id": "resourceId",
			"name": "clusterName / applicationName",
			"type": "Microsoft.HDInsight/clusters/applications",  
			"etag": "etagValue",
			"tags": null,  
			"properties": {  
				"computeProfile": {  
					"roles": [  
						{  
							"name": "edgenode",  
							"targetInstanceCount": 1,  
							"hardwareProfile": {  
								"vmSize": "Standard_D3"  
							}  
						}  
					]  
				},  
				"installScriptActions": [  
					{  
						"name": "hue-install",  
						"uri": "https://publicEndpoint-bash-file.sh",  
						"parameters": "",  
						"roles": ["edgenode"]  
					}  
				],  
				"uninstallScriptActions": [  
					{  
						"name": "hue-uninstall",  
						"uri": "https://publicEndpoint-bash-file.sh",  
						"parameters": "",  
						"roles": ["edgenode"]  
					}  
				],  
				"httpsEndpoints": [  
					{  
						"subDomainSuffix": "abc",  
						"destinationPort": 8888,  
						"accessModes": ["WebPage"]  
					},  
					{  
						"subDomainSuffix": "was",  
						"destinationPort": 50073,  
						"accessModes": ["WebPage"]  
					}  
				],  
				"provisioningState": "Succeeded",  
				"applicationState": "Running",  
				"createdDate": "CreatedDate",  
				"applicationType": "CustomApplication",  
				"marketplaceIdentifier": "HueV1"  
			}  
		]  
	}  
  

Удалить

Удаляет приложение HDInsight из кластера.

Просьба

Общие параметры и заголовки приведены в разделе Общие параметры и параметры, используемые кластерами.

Метод Запрос URI
Удалить https://management.azure.com/subscriptions/{subscription Id}/resourceGroups/{resourceGroup Name}/providers/Microsoft.HDInsight/clusters/{cluster name}/applications/{application Name}?api-version={api-version}

Ответ

Операция вернет 202 (Принято), если запрос выполнен успешно

Код состояния: 202 Принято.