Oktatóanyag: Felügyelt alkalmazás létrehozása egyéni műveletekkel és erőforrásokkal
Ebben az oktatóanyagban saját felügyelt alkalmazást hoz létre egyéni műveletekkel és erőforrásokkal. A felügyelt alkalmazás tartalmaz egy egyéni műveletet a Overview
lapon, egy egyéni erőforrástípust, amely külön menüelemként Table of Content
jelenik meg, és egy egyéni környezeti műveletet az egyéni erőforráslapon.
Ez az oktatóanyag a következő lépéseket tartalmazza:
- Felhasználói felület definíciós fájljának létrehozása felügyelt alkalmazáspéldány létrehozásához
- Üzembehelyezési sablon létrehozása az Azure Egyéni szolgáltatóval, az Azure Storage-fiókkal és az Azure-függvénysel
- Author view definition artifact with custom actions and resources
- Felügyelt alkalmazásdefiníció üzembe helyezése
- Felügyelt alkalmazáspéldány üzembe helyezése
- Egyéni műveletek végrehajtása és egyéni erőforrások létrehozása
Előfeltételek
Az oktatóanyag elvégzéséhez a következőket kell tudnia:
- Felügyelt alkalmazásdefiníció létrehozása és közzététele.
- Szolgáltatáskatalógus-alkalmazás üzembe helyezése az Azure Portalon.
- Az Azure Portal felhasználói felületének létrehozása a felügyelt alkalmazáshoz.
- A definícióösszetevő képességeinek megtekintése.
- Az Azure Egyéni szolgáltató képességei.
Felhasználói felület definíciója
Ebben az oktatóanyagban létrehoz egy felügyelt alkalmazást, amelynek felügyelt erőforráscsoportja egyéni szolgáltatópéldányt, tárfiókot és függvényt tartalmaz. Az ebben a példában használt Azure-függvény implementál egy API-t, amely egyéni szolgáltatói műveleteket kezel műveletekhez és erőforrásokhoz. Az Azure Storage-fiók az egyéni szolgáltatói erőforrások alapszintű tárolójaként használatos.
A felügyelt alkalmazáspéldányok létrehozásához használt felhasználói felület definíciója tartalmazza és storagename
bemeneti elemeket tartalmazfuncname
. A tárfiók nevének és a függvény nevének globálisan egyedinek kell lennie. Alapértelmezés szerint a függvényfájlok a mintafüggvénycsomagból vannak üzembe helyezve, de módosíthatja azt úgy, hogy hozzáad egy bemeneti elemet egy csomaghivatkozáshoz a createUiDefinition.json:
{
"name": "funcname",
"type": "Microsoft.Common.TextBox",
"label": "Name of the function to be created",
"toolTip": "Name of the function to be created",
"visible": true,
"constraints": {
"required": true
}
},
{
"name": "storagename",
"type": "Microsoft.Common.TextBox",
"label": "Name of the storage to be created",
"toolTip": "Name of the storage to be created",
"visible": true,
"constraints": {
"required": true
}
},
{
"name": "zipFileBlobUri",
"type": "Microsoft.Common.TextBox",
"defaultValue": "https://github.com/Azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.customproviders/custom-rp-with-function/artifacts/functionzip/functionpackage.zip",
"label": "The Uri to the uploaded function zip file",
"toolTip": "The Uri to the uploaded function zip file",
"visible": true
}
És kimenet a createUiDefinition.json:
"funcname": "[steps('applicationSettings').funcname]",
"storageName": "[steps('applicationSettings').storagename]",
"zipFileBlobUri": "[steps('applicationSettings').zipFileBlobUri]"
A teljes createUiDefinition.json minta a Következő hivatkozásban található: Felhasználói felület elemeinek összetevői.
Sablon egyéni szolgáltatóval
Ha egyéni szolgáltatóval szeretne létrehozni egy felügyelt alkalmazáspéldányt, meg kell határoznia az egyéni szolgáltatói erőforrást nyilvános névvel, és be kell gépelnie Microsoft.CustomProviders/resourceProviders
a mainTemplate.json. Ebben az erőforrásban határozza meg a szolgáltatás erőforrástípusait és műveleteit. Az Azure-függvények és az Azure Storage-fiókpéldányok üzembe helyezéséhez határozza meg a típus Microsoft.Web/sites
- és Microsoft.Storage/storageAccounts
az egyes erőforrásokat.
Ebben az oktatóanyagban egyetlen users
erőforrástípust, ping
egyéni műveletet és users/contextAction
egyéni műveletet hoz létre, amelyet egy users
egyéni erőforrás kontextusában hajt végre. Minden erőforrástípushoz és művelethez adjon meg egy végpontot, amely a függvényre mutat a createUiDefinition.json megadott névvel. Adja meg az routingType
Proxy,Cache
erőforrástípusok és Proxy
a műveletek típusát:
{
"apiVersion": "[variables('customrpApiversion')]",
"type": "Microsoft.CustomProviders/resourceProviders",
"name": "[variables('customProviderName')]",
"location": "[parameters('location')]",
"properties": {
"actions": [
{
"name": "ping",
"routingType": "Proxy",
"endpoint": "[listSecrets(resourceId('Microsoft.Web/sites/functions', parameters('funcname'), 'HttpTrigger1'), '2018-02-01').trigger_url]"
},
{
"name": "users/contextAction",
"routingType": "Proxy",
"endpoint": "[listSecrets(resourceId('Microsoft.Web/sites/functions', parameters('funcname'), 'HttpTrigger1'), '2018-02-01').trigger_url]"
}
],
"resourceTypes": [
{
"name": "users",
"routingType": "Proxy,Cache",
"endpoint": "[listSecrets(resourceId('Microsoft.Web/sites/functions', parameters('funcname'), 'HttpTrigger1'), '2018-02-01').trigger_url]"
}
]
},
"dependsOn": [
"[concat('Microsoft.Web/sites/',parameters('funcname'))]"
]
}
A teljes mainTemplate.json minta a Referencia: Üzembehelyezési sablon összetevőnél található.
Meghatározás megtekintése összetevő
Ha egyéni műveleteket és egyéni erőforrásokat tartalmazó felhasználói felületet szeretne definiálni a felügyelt alkalmazásban, viewDefinition.json összetevőt kell létrehoznia. A nézetdefiníció összetevőjéről további információt az Azure Managed Applications definícióösszetevőjében talál.
Ebben az oktatóanyagban a következőket határozza meg:
- Áttekintés lap eszköztárgombbal, amely egy egyszerű szövegbevitellel rendelkező egyéni műveletet
TestAction
jelöl. - Egyéni erőforrástípust
users
képviselő Felhasználók lap. - Egyéni erőforrásművelet
users/contextAction
a Felhasználók lapon, amely egyéni típusú erőforrásusers
kontextusában lesz végrehajtva.
Az alábbi példa egy "Áttekintés" lap nézetkonfigurációját mutatja be:
{
"kind": "Overview",
"properties": {
"header": "Welcome to your Demo Azure Managed Application",
"description": "This Managed application with Custom Provider is for demo purposes only.",
"commands": [
{
"displayName": "Ping Action",
"path": "/customping",
"icon": "LaunchCurrent"
}
]
}
}
Az alábbi példa a Felhasználók erőforrások lapkonfigurációját tartalmazza egyéni erőforrásművelettel:
{
"kind": "CustomResources",
"properties": {
"displayName": "Users",
"version": "1.0.0.0",
"resourceType": "users",
"createUIDefinition": {},
"commands": [
{
"displayName": "Custom Context Action",
"path": "users/contextAction",
"icon": "Start"
}
],
"columns": [
{
"key": "properties.FullName",
"displayName": "Full Name"
},
{
"key": "properties.Location",
"displayName": "Location",
"optional": true
}
]
}
}
A teljes viewDefinition.json minta a Hivatkozás: Definíció összetevő megtekintése című témakörben található.
Felügyelt alkalmazásdefiníció
Csomagolja be a következő felügyelt alkalmazás-összetevőket az archiválásba, és töltse fel a tárolóba:
- createUiDefinition.json
- mainTemplate.json
- viewDefinition.json
Minden fájlnak gyökérszinten kell lennie. Az összetevőket tartalmazó csomag bármilyen tárolóban tárolható, például GitHub-blobban vagy Azure Storage-fiókblobban. Az alábbi szkripttel feltöltheti az alkalmazáscsomagot a tárfiókba:
$resourceGroup="appResourcesGroup"
$storageName="mystorageaccount$RANDOM"
# Sign in to your Azure subscription
Connect-AzAccount
# Create resource group for managed application definition and application package
New-AzResourceGroup -Name $resourceGroup -Location eastus
# Create storage account for a package with application artifacts
$storageAccount=New-AzStorageAccount `
-ResourceGroupName $resourceGroup `
-Name $storageName `
-SkuName Standard_LRS `
-Location eastus `
$ctx=$storageAccount.Context
# Create storage container and upload zip to blob
New-AzStorageContainer -Name appcontainer -Context $ctx -Permission blob
Set-AzStorageBlobContent `
-File "path_to_your_zip_package" `
-Container appcontainer `
-Blob app.zip `
-Context $ctx
# Get blob absolute uri
$blobUri=(Get-AzureStorageBlob -Container appcontainer -Blob app.zip -Context $ctx).ICloudBlob.uri.AbsoluteUri
Futtassa a következő Azure CLI-szkriptet, vagy kövesse az Azure Portalon található lépéseket egy szolgáltatáskatalógus által felügyelt alkalmazásdefiníció üzembe helyezéséhez:
A minta futtatásához telepítse az Azure CLI legújabb verzióját. Első lépésként futtassa a az login
parancsot, hogy kapcsolatot hozzon létre az Azure-ral.
Az Azure CLI-minták a bash
rendszerhéjhoz vannak megírva. A minta Windows PowerShellben vagy parancssorban való futtatásához előfordulhat, hogy módosítania kell a szkript elemeit.
resourceGroup="appResourcesGroup"
# Select subscription and create resource group (if you have not created yet)
az account set --subscription <subscriptionID>
az group create --name $resourceGroup --location eastus
# Get object ID of your identity
userid=$(az ad user list --upn example@contoso.org --query [0].id --output tsv)
# Get role definition ID for the Owner role
roleid=$(az role definition list --name Owner --query [].name --output tsv)
# Create managed application definition resource
az managedapp definition create \
--name "ManagedUsersAppDefinition" \
--location "eastus" \
--resource-group $resourceGroup \
--lock-level ReadOnly \
--display-name "Managed users app definition" \
--description "Managed application with Azure Custom Provider" \
--authorizations "$userid:$roleid" \
--package-file-uri "path to your app.zip package"
Felügyelt alkalmazáspéldány
A felügyelt alkalmazásdefiníció üzembe helyezésekor futtassa az alábbi szkriptet, vagy kövesse az Azure Portal lépéseit a felügyelt alkalmazáspéldány egyéni szolgáltatóval való üzembe helyezéséhez:
appResourcesGroup="appResourcesGroup"
applicationGroup="usersApplicationGroup"
# Create resource group for managed application instance
az group create --name $applicationGroup --location eastus
# Get ID of managed application definition
appid=$(az managedapp definition show --name ManagedUsersAppDefinition --resource-group $appResourcesGroup --query id --output tsv)
# Create the managed application
az managedapp create \
--name ManagedUsersApp \
--location "eastus" \
--kind "Servicecatalog" \
--resource-group $applicationGroup \
--managedapp-definition-id $appid \
--managed-rg-id "managedResourcesGroup" \
--parameters "{\"funcname\": {\"value\": \"managedusersappfunction\"}, \"storageName\": {\"value\": \"managedusersappstorage\"}}"
Egyéni műveletek és erőforrások
A szolgáltatáskatalógus-alkalmazáspéldány üzembe helyezése után két új erőforráscsoporttal rendelkezik. Az erőforráscsoport applicationGroup
a felügyelt alkalmazás egy példányát tartalmazza, az erőforráscsoport managedResourceGroup
pedig a felügyelt alkalmazás erőforrásait tartalmazza, beleértve az egyéni szolgáltatót is.
A felügyelt alkalmazáspéldányra léphet, és egyéni műveletet hajthat végre az "Áttekintés" lapon, egyéni erőforrást hozhat létre a felhasználók számára a "Felhasználók" lapon, és egyéni környezeti műveletet futtathat egyéni erőforráson.
- Nyissa meg az Áttekintés lehetőséget, és válassza a Ping művelet lehetőséget:
- Lépjen a Felhasználók elemre, és válassza a Hozzáadás lehetőséget. Adja meg az erőforrás létrehozásához és az űrlap elküldéséhez szükséges bemeneteket:
- Lépjen a Felhasználók elemre, válasszon ki egy felhasználói erőforrást, és válassza az Egyéni környezeti művelet lehetőséget:
Az erőforrások eltávolítása
Az előző lépésekben Azure-erőforrásokat hozott létre egy erőforráscsoportban. Ha várhatóan nincs szüksége ezekre az erőforrásokra a későbbiekben, az erőforráscsoport eltávolításával törölheti őket.
Az Azure Portal menüjében vagy kezdőlapján válassza az Erőforráscsoportok lehetőséget. Ezután az Erőforráscsoportok lapon válassza a myResourceGroup lehetőséget.
A myResourceGroup lapon győződjön meg arról, hogy a felsorolt erőforrásokat törölni szeretné.
Válassza az Erőforráscsoport törlése lehetőséget, írja be a myResourceGroup kifejezést a szövegmezőbe a megerősítéshez, majd válassza a Törlés lehetőséget.
Segítségre van szüksége
Ha kérdése van, vagy választ szeretne adni az Azure Managed Applications szolgáltatással kapcsolatban, közzétehet egy kérdést a Stack Overflow címkével vagy azure-managed-app
a Microsoft Q&A címkévelazure-managed-application
.
Következő lépések
Ha közzétenné felügyelt alkalmazását az Azure Marketplace-en, tekintse meg az Azure-beli felügyelt alkalmazások a Marketplace piactéren című témakört.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: