Azure 自訂資源提供者概觀
Azure 自訂資源提供者是 Azure 的擴充性平台。 可讓您定義自訂 API,以用於擴充預設的 Azure 體驗。 本文件將說明:
- 如何建置及部署 Azure 自訂資源提供者。
- 如何使用 Azure 自訂資源提供者,來擴充現有的工作流程。
- 何處可以找到指南和程式碼範例以開始使用。
重要
自訂資源提供者目前處於公開預覽狀態。 此預覽版本是在沒有服務等級協定的情況下提供,不建議用於生產工作負載。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款。
自訂資源提供者可進行的作業
以下是您可以使用 Azure 自訂資源提供者來達成的一些範例:
- 擴充 Azure Resource Manager REST API 以包含內部和外部服務。
- 在現有的 Azure 工作流程上啟用自訂案例。
- 自訂 Azure Resource Manager 範本的控制項和效果。
什麼是自訂資源提供者
Azure 自訂資源提供者是藉由建立 Azure 與端點之間的合約而成。 此合約會透過新的資源 Microsoft.CustomProviders/resourceProviders,定義新資源和動作的清單。 自訂資源提供者接著會在 Azure 中公開這些新的 API。 Azure 自訂資源提供者由三個部分組成:自訂資源提供者、端點和自訂資源。
如何建置自訂資源提供者
自訂資源提供者是 Azure 與端點之間的合約清單。 這些合約描述 Azure 應該如何與其端點互動。 資源提供者的作用如同 Proxy,會將要求和回應轉送至指定的端點。 資源提供者可以指定兩種類型的合約:資源類型 (resourceTypes) 和 動作。 這些合約都會透過端點定義來啟用。 端點定義由三個欄位所組成:名稱、路由類型 (routingType) 和端點。
範例端點:
{
"name": "{endpointDefinitionName}",
"routingType": "Proxy",
"endpoint": "https://{endpointURL}/"
}
屬性 | 必要 | 描述 |
---|---|---|
NAME | 是 | 端點定義的名稱。 Azure 會透過其 API 在 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/ resourceProviders/{resourceProviderName}/{endpointDefinitionName}' 底下公開此名稱 |
routingType | 否 | 確認端點的合約類型。 如果未指定,則會預設為 "Proxy"。 |
endpoint | 是 | 要作為要求路由傳送目的地的端點。 這會處理回應以及要求的任何副作用。 |
建置自訂資源
資源類型 (ResourceTypes) 描述新增至 Azure 的新自訂資源。 這些資源會公開基本的 RESTful CRUD 方法。 請參閱深入瞭解如何建立自訂資源
使用資源類型 (resourceTypes) 的自訂資源提供者範例:
{
"properties": {
"resourceTypes": [
{
"name": "myCustomResources",
"routingType": "Proxy",
"endpoint": "https://{endpointURL}/"
}
]
},
"location": "eastus"
}
在上述範例中新增到 Azure 的 API:
HttpMethod | 範例 URI | 描述 |
---|---|---|
PUT | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/ myCustomResources/{customResourceName}?api-version=2018-09-01-preview |
用來建立新資源的 Azure REST API 呼叫。 |
DELETE | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/ myCustomResources/{customResourceName}?api-version=2018-09-01-preview |
用來刪除現有資源的 Azure REST API 呼叫。 |
GET | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/ myCustomResources/{customResourceName}?api-version=2018-09-01-preview |
用來擷取現有資源的 Azure REST API 呼叫。 |
GET | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/ myCustomResources?api-version=2018-09-01-preview |
用來擷取現有資源清單的 Azure REST API 呼叫。 |
建置自訂動作
動作描述新增至 Azure 的新動作。 這些動作可以在資源提供者上公開,或在資源類型 (resourceType) 下巢狀化。 請參閱深入瞭解如何建立自訂動作
使用動作的自訂資源提供者範例:
{
"properties": {
"actions": [
{
"name": "myCustomAction",
"routingType": "Proxy",
"endpoint": "https://{endpointURL}/"
}
]
},
"location": "eastus"
}
在上述範例中新增到 Azure 的 API:
HttpMethod | 範例 URI | 描述 |
---|---|---|
POST | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/ myCustomAction?api-version=2018-09-01-preview |
用來啟動動作的 Azure REST API 呼叫。 |
尋求協助
如果您對 Azure 自訂資源提供者開發有任何疑問,可以嘗試在 Stack Overflow 上提問。 類似的問題可能已有人詢問和回答,因此請先查看再張貼問題。 新增標記 azure-custom-providers
以取得快速回應!
下一步
在此文章中,您已瞭解自訂資源提供者。 請移至下一篇文章以建立自訂資源提供者。