Rövid útmutató: Egyéni Azure-erőforrás-szolgáltató létrehozása és egyéni erőforrások üzembe helyezése

Ebben a rövid útmutatóban létrehoz egy egyéni erőforrás-szolgáltatót, és egyéni erőforrásokat helyez üzembe az adott erőforrás-szolgáltatóhoz. Az egyéni erőforrás-szolgáltatókkal kapcsolatos további információkért tekintse meg az Azure Custom Resource Providers áttekintését.

Előfeltételek

  • Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.
  • A rövid útmutató lépéseinek elvégzéséhez meg kell hívnia REST a műveleteket. A REST-kérések küldésének különböző módjai vannak.

A környezet előkészítése az Azure CLI-re.

Az Azure CLI-példák a kérésekhez használhatók az restREST . További információ: az rest.

Egyéni erőforrás-szolgáltató üzembe helyezése

Az egyéni erőforrás-szolgáltató beállításához helyezzen üzembe egy példasablont az Azure-előfizetésében.

A sablon a következő erőforrásokat helyezi üzembe az előfizetésében:

  • Függvényalkalmazás az erőforrások és műveletek műveleteivel.
  • Tárfiók az egyéni erőforrás-szolgáltatón keresztül létrehozott felhasználók tárolásához.
  • Egyéni erőforrás-szolgáltató, amely meghatározza az egyéni erőforrástípusokat és -műveleteket. A függvényalkalmazás végpontját használja a kérések küldéséhez.
  • Egyéni erőforrás az egyéni erőforrás-szolgáltatótól.

Az egyéni erőforrás-szolgáltató üzembe helyezéséhez használja az Azure CLI-t, a PowerShellt vagy az Azure Portalt.

Ez a példa arra kéri, hogy adja meg az erőforráscsoport, a hely és a szolgáltató függvényalkalmazásának nevét. A nevek más parancsokban használt változókban vannak tárolva. Az az group create és az az deployment group create parancsok üzembe helyezik az erőforrásokat.

read -p "Enter a resource group name:" rgName &&
read -p "Enter the location (i.e. eastus):" location &&
read -p "Enter the provider's function app name:" funcName &&
templateUri="https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/custom-providers/customprovider.json" &&
az group create --name $rgName --location "$location" &&
az deployment group create --resource-group $rgName --template-uri $templateUri --parameters funcName=$funcName &&
echo "Press [ENTER] to continue ..." &&
read

Ha a sablont az Azure Portalról szeretné üzembe helyezni, válassza az Üzembe helyezés az Azure-ban gombot.

Button to deploy the Resource Manager template to Azure.

Egyéni erőforrás-szolgáltató és -erőforrás megtekintése

A portálon az egyéni erőforrás-szolgáltató rejtett erőforrástípus. Az erőforrás-szolgáltató üzembe helyezésének ellenőrzéséhez lépjen az erőforráscsoportra, és válassza a Rejtett típusok megjelenítése lehetőséget.

Screenshot of Azure portal displaying hidden resource types and resources deployed in a resource group.

Az üzembe helyezett egyéni erőforrás megtekintéséhez használja az GET erőforrástípuson található műveletet. A JSON-válaszban látható erőforrástípus Microsoft.CustomProviders/resourceProviders/users tartalmazza a sablon által létrehozott erőforrást.

GET https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users?api-version=2018-09-01-preview
subID=$(az account show --query id --output tsv)
requestURI="https://management.azure.com/subscriptions/$subID/resourceGroups/$rgName/providers/Microsoft.CustomProviders/resourceProviders/$funcName/users?api-version=2018-09-01-preview"
az rest --method get --uri $requestURI

A következő választ kapja:

{
  "value": [
    {
      "id": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/ana",
      "name": "ana",
      "properties": {
        "FullName": "Ana Bowman",
        "Location": "Moon",
        "provisioningState": "Succeeded"
      },
      "type": "Microsoft.CustomProviders/resourceProviders/users"
    }
  ]
}

Hívási művelet

Az egyéni erőforrás-szolgáltatónak is van egy művelete.ping A kérést feldolgozó kód implementálva van a függvényalkalmazásban. A ping művelet üdvözléssel válaszol.

A kérés elküldéséhez ping használja a POST művelet műveletét.

POST https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/ping?api-version=2018-09-01-preview
pingURI="https://management.azure.com/subscriptions/$subID/resourceGroups/$rgName/providers/Microsoft.CustomProviders/resourceProviders/$funcName/ping?api-version=2018-09-01-preview"
az rest --method post --uri $pingURI

A következő választ kapja:

{
  "message": "hello <function-name>.azurewebsites.net",
  "pingcontent": {
    "source": "<function-name>.azurewebsites.net"
  }
}

Erőforrás létrehozása a PUT használatával

Ebben a rövid útmutatóban a sablon az erőforrástípust Microsoft.CustomProviders/resourceProviders/users használta egy erőforrás üzembe helyezéséhez. Egy művelettel PUT is létrehozhat egy erőforrást. Ha például egy erőforrás nincs üzembe helyezve a sablonnal, a PUT művelet létrehoz egy erőforrást.

Ebben a példában, mivel a sablon már üzembe helyezett egy erőforrást, a PUT művelet létrehoz egy új erőforrást.

PUT https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/<resource-name>?api-version=2018-09-01-preview

{"properties":{"FullName": "Test User", "Location": "Earth"}}
addURI="https://management.azure.com/subscriptions/$subID/resourceGroups/$rgName/providers/Microsoft.CustomProviders/resourceProviders/$funcName/users/testuser?api-version=2018-09-01-preview"
az rest --method put --uri $addURI --body "{'properties':{'FullName': 'Test User', 'Location': 'Earth'}}"

A következő választ kapja:

{
  "id": "/subscriptions/<sub-ID>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/testuser",
  "name": "testuser",
  "properties": {
    "FullName": "Test User",
    "Location": "Earth",
    "provisioningState": "Succeeded"
  },
  "type": "Microsoft.CustomProviders/resourceProviders/users"
}

A műveletet újrafuttathatja az GETegyéni erőforrás-szolgáltató megtekintése és az erőforrás szakaszból a létrehozott két erőforrás megjelenítéséhez. Ez a példa az Azure CLI-parancs kimenetét mutatja be.

{
  "value": [
    {
      "id": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/ana",
      "name": "ana",
      "properties": {
        "FullName": "Ana Bowman",
        "Location": "Moon",
        "provisioningState": "Succeeded"
      },
      "type": "Microsoft.CustomProviders/resourceProviders/users"
    },
    {
      "id": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/testuser",
      "name": "testuser",
      "properties": {
        "FullName": "Test User",
        "Location": "Earth",
        "provisioningState": "Succeeded"
      },
      "type": "Microsoft.CustomProviders/resourceProviders/users"
    }
  ]
}

Egyéni erőforrás-szolgáltatói parancsok

Használja az egyéni szolgáltatók parancsait az egyéni erőforrás-szolgáltatóval való együttműködéshez.

Egyéni erőforrás-szolgáltatók listázása

list A paranccsal megjelenítheti az előfizetés összes egyéni erőforrás-szolgáltatóját. Az alapértelmezett lista az aktuális előfizetés egyéni erőforrás-szolgáltatóit tartalmazza, vagy megadhatja a paramétert --subscription . Erőforráscsoport listázásához használja a paramétert --resource-group .

az custom-providers resource-provider list --subscription $subID
[
  {
    "actions": [
      {
        "endpoint": "https://<provider-name>.azurewebsites.net/api/{requestPath}",
        "name": "ping",
        "routingType": "Proxy"
      }
    ],
    "id": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceproviders/<provider-name>",
    "location": "eastus",
    "name": "<provider-name>",
    "provisioningState": "Succeeded",
    "resourceGroup": "<rg-name>",
    "resourceTypes": [
      {
        "endpoint": "https://<provider-name>.azurewebsites.net/api/{requestPath}",
        "name": "users",
        "routingType": "Proxy, Cache"
      }
    ],
    "tags": {},
    "type": "Microsoft.CustomProviders/resourceproviders",
    "validations": null
  }
]

A tulajdonságok megjelenítése

show A parancs használatával megjelenítheti az egyéni erőforrás-szolgáltató tulajdonságait. A kimeneti formátum hasonlít a kimenetre list .

az custom-providers resource-provider show --resource-group $rgName --name $funcName

Új erőforrás létrehozása

create A parancs használatával egyéni erőforrás-szolgáltatót hozhat létre vagy frissíthet. Ez a példa frissíti az és resourceTypesa actions .

az custom-providers resource-provider create --resource-group $rgName --name $funcName \
--action name=ping endpoint=https://myTestSite.azurewebsites.net/api/{requestPath} routing_type=Proxy \
--resource-type name=users endpoint=https://myTestSite.azurewebsites.net/api/{requestPath} routing_type="Proxy, Cache"
"actions": [
  {
    "endpoint": "https://myTestSite.azurewebsites.net/api/{requestPath}",
    "name": "ping",
    "routingType": "Proxy"
  }
],

"resourceTypes": [
  {
    "endpoint": "https://myTestSite.azurewebsites.net/api/{requestPath}",
    "name": "users",
    "routingType": "Proxy, Cache"
  }
],

A szolgáltató címkéinek frissítése

A update parancs csak az egyéni erőforrás-szolgáltató címkéinek frissítésére használható. Az Azure Portalon az egyéni erőforrás-szolgáltató appszolgáltatása megjeleníti a címkét.

az custom-providers resource-provider update --resource-group $rgName --name $funcName --tags new=tag
"tags": {
  "new": "tag"
},

Egyéni erőforrás-szolgáltató törlése

A delete parancssor csak az egyéni erőforrás-szolgáltatót kéri és törli. A tárfiók, az App Service és az App Service-csomag nem törlődik. A szolgáltató törlése után a rendszer visszalép egy parancssorba.

az custom-providers resource-provider delete --resource-group $rgName --name $funcName

Az erőforrások eltávolítása

Ha végzett a cikkben létrehozott erőforrásokkal, törölheti az erőforráscsoportot. Egy erőforráscsoport törlésekor az adott erőforráscsoport összes erőforrása törlődik.

az group delete --resource-group $rgName

Következő lépések

Az egyéni erőforrás-szolgáltatókról az alábbi cikkben olvashat bővebben: