次の方法で共有


Azure HDInsight のアプリケーション REST API

創造する

クラスタ上に新しいノード (エッジ ノードと呼ばれる) を作成し、そのノードにアプリケーションをインストールします。

リクエスト

クラスターで使用されるヘッダーとパラメーターについては、 共通パラメーターとヘッダーを参照してください

メソッド URI リクエスト
配置する https://management.azure.com/subscriptions/{subscription Id}/resourceGroups/{resourceGroup Name}/providers/Microsoft.HDInsight/clusters/{cluster name}/applications/{application Name}?api-version={api-version}

次の例は、Linux ベースの HDInsight クラスターにアプリケーションをインストールするための要求本文を示しています。

{  
  
	"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 として指定する必要があります。アプリケーション名は、クラスターごとに一意である必要があります。
イエス リソースの種類を指定します。
プロパティ イエス 複合型 クラスターのプロパティを指定します。

プロパティ

要素名 必須 タイプ 説明
コンピューティングプロファイル イエス 複合型 アプリケーションが実行される VM について説明します
InstallScriptアクション イエス 複合型 アプリケーションのインストールスクリプトアクションについて説明します。 少なくとも 1 つのスクリプトを指定する必要があり、スクリプトはべき等である必要があり、つまり、同じ結果を生成しながらスクリプトを繰り返し呼び出すことができます。
UninstallScriptアクション いいえ 複合型 アプリケーションのアンインストール スクリプト アクションについて説明します。 このパラメーターは省略可能ですが、指定するアンインストール スクリプト アクションはべき等である必要があります (つまり、同じ結果を生成しながらスクリプトを繰り返し呼び出すことができます)。
Httpエンドポイント いいえ 複合型 アプリケーション上のどのエンドポイントをインターネットでアドレス指定可能にする必要があるかについて説明します。
applicationType イエス この要素は常に値 "CustomApplication" です。

コンピュートプロファイル

この要素には、1 つのロールのみを含める必要があります

要素名 必須 タイプ 説明
役割 イエス 複合型 クラスタ内のロールに関する情報を指定します
ロール
要素名 必須 タイプ 説明
名前 イエス 名前は「edgenode」として指定する必要があります
targetInstanceCount (ターゲットインスタンス数) イエス 整数 この要素は 1 に設定する必要があります
ハードウェアプロファイル イエス 複合型 エッジノードのハードウェアプロファイルに関する情報を指定します。
ハードウェアプロファイル
要素名 必須 タイプ 説明
vmSize イエス VM のサイズを指定します。 有効なサイズについては、 HDInsight 構成オプション (このリンクにアクセスしたら、 ノード価格レベルまで下にスクロールします) を参照してください

InstallScriptアクション

要素名 必須 タイプ 説明
名前 イエス スクリプト アクションの名前を指定します。 クラスタ上のすべての永続化されたスクリプトアクションで一意である必要があります
うり イエス スクリプトのパブリックにアクセス可能な場所。 指定するすべてのスクリプトはべき等である必要があり、これは、同じ結果を生成しながらスクリプトを繰り返し呼び出すことができることを意味します。
パラメーター いいえ スクリプトに渡すオプションのパラメーター セット
役割 イエス 文字列 (String) の配列 スクリプトを実行するロールについて説明します。 有効な値は、 headnodeworkernodezookeepernodeedgenode です。 edgenode は、アプリケーションをホストするロールであり、アプリケーションが実行される場所です。

UninstallScriptアクション

要素名 必須 タイプ 説明
名前 イエス スクリプト アクションの名前を指定します。
うり イエス スクリプトのパブリックにアクセス可能な場所。 指定するスクリプトはべき等である必要があり、これは、同じ結果を生成しながらスクリプトを繰り返し呼び出すことができることを意味します。
パラメーター いいえ スクリプトに渡すオプションのパラメーター セット
役割 イエス 文字列 (String) の配列 スクリプトを実行するロールについて説明します。 有効な値は、 headnodeworkernodezookeepernodeedgenode です。 edgenode は、アプリケーションをホストするロールであり、アプリケーションが実行される場所です。

Httpエンドポイント

要素名 必須 タイプ 説明
サブドメインサフィックス イエス アプリケーションへのアクセスに使用する DNS 名の作成に使用される 3 文字の英数字文字列。 DNS 名の形式は *.apps.azurehdinsight.net です。 この名前は、クラスターごとに一意である必要があります。
destinationPort イエス 整数 アプリケーションをホストするエッジノードで HTTP トラフィックを転送するポート。
accessModes いいえ 文字列 (String) の配列 エンドポイントに関するメタデータ。 エンドポイントが Web ページをホストしている場合は、アクセス モードとして Web ページ を指定します。 それ以外の場合、配列は空であるか、ペイロードに存在しない必要があります。 この要素を使用すると、Azure portal でアプリケーションへの直接リンクを表示できます。

[応答]

検証が完了し、要求が受け入れられると、操作は 200 (OK) を返します。

ステータスコード: 200 OK

Get

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 アプリケーションの詳細の配列、または applicationName が指定されている場合は 1 つの HDInsight アプリケーションの詳細です。 以下は、アプリケーションの詳細の例です。

応答コード: 操作が正常に完了すると、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 (Accepted) を返します

ステータスコード: 202 Accepted。