Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto kurzu vytvoříte vlastní spravovanou aplikaci s vlastními akcemi a prostředky. Spravovaná aplikace obsahuje vlastní akci na Overview stránce, vlastní typ prostředku zobrazený jako samostatná položka Table of Content nabídky a vlastní kontextová akce na stránce vlastního prostředku.
Tento kurz zahrnuje následující kroky:
- Vytvoření definičního souboru uživatelského rozhraní pro vytvoření instance spravované aplikace
- Vytvoření šablony nasazení s využitím vlastního zprostředkovatele Azure, účtu služby Azure Storage a funkce Azure Functions
- Vytvoření artefaktu definice zobrazení s vlastními akcemi a prostředky
- Nasazení definice spravované aplikace
- Nasazení instance spravované aplikace
- Provádění vlastních akcí a vytváření vlastních prostředků
Požadavky
K dokončení tohoto kurzu potřebujete vědět:
- Vytvoření a publikování definice spravované aplikace
- Postup nasazení aplikace Katalogu služeb prostřednictvím webu Azure Portal
- Vytvoření uživatelského rozhraní webu Azure Portal pro spravovanou aplikaci
- Zobrazení možností artefaktů definice
- Možnosti vlastního poskytovatele Azure
Definice uživatelského rozhraní
V tomto kurzu vytvoříte spravovanou aplikaci a její spravovanou skupinu prostředků obsahuje vlastní instanci poskytovatele, účet úložiště a funkci. Funkce Azure použitá v tomto příkladu implementuje rozhraní API, které zpracovává vlastní operace poskytovatele pro akce a prostředky. Účet úložiště Azure se používá jako základní úložiště pro prostředky vašeho vlastního poskytovatele.
Definice uživatelského rozhraní pro vytvoření instance spravované aplikace zahrnuje funcname a storagename vstupní prvky. Název účtu úložiště a název funkce musí být globálně jedinečný. Ve výchozím nastavení se soubory funkcí nasazují z ukázkového balíčku funkcí, ale můžete ho změnit přidáním vstupního prvku pro odkaz na balíček v 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
}
Výstup v createUiDefinition.json:
"funcname": "[steps('applicationSettings').funcname]",
"storageName": "[steps('applicationSettings').storagename]",
"zipFileBlobUri": "[steps('applicationSettings').zipFileBlobUri]"
Kompletní createUiDefinition.json ukázku najdete v referenčních informacích: Artefakty prvků uživatelského rozhraní.
Šablona s vlastním poskytovatelem
Pokud chcete vytvořit instanci spravované aplikace s vlastním poskytovatelem, musíte definovat vlastní prostředek poskytovatele s veřejným názvem a zadáním do mainTemplate.jsonMicrosoft.CustomProviders/resourceProviders. V daném prostředku definujete typy prostředků a akce pro vaši službu. Nasazení služby Azure Functions a instancí účtu úložiště Azure definuje prostředky typu Microsoft.Web/sites a Microsoft.Storage/storageAccounts v uvedeném pořadí.
V tomto kurzu vytvoříte jeden users typ prostředku, ping vlastní akci a users/contextAction vlastní akci, která se provádí v kontextu vlastního users prostředku. Pro každý typ prostředku a akci zadejte koncový bod odkazující na funkci s názvem zadaným v createUiDefinition.json.
routingType Zadejte typ Proxy,Cache prostředku a Proxy akce:
{
"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'))]"
]
}
Kompletní mainTemplate.json ukázku najdete v referenčních informacích: Artefakt šablony nasazení.
Zobrazení definičních artefaktů
Pokud chcete definovat uživatelské rozhraní, které zahrnuje vlastní akce a vlastní prostředky ve spravované aplikaci, musíte vytvořit viewDefinition.json artefaktu. Další informace o artefaktu definice zobrazení najdete v tématu Zobrazení artefaktu definice ve spravovaných aplikacích Azure.
V tomto kurzu definujete:
- Stránka Přehled s tlačítkem panelu nástrojů, která představuje vlastní akci
TestActionse základním textovým vstupem. - Stránka Uživatelé , která představuje vlastní typ
usersprostředku . - Vlastní akce
users/contextActionprostředku na stránce Uživatelé , která se provede v kontextu vlastního prostředku typuusers.
Následující příklad ukazuje konfiguraci zobrazení stránky Přehled:
{
"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"
}
]
}
}
Následující příklad obsahuje konfiguraci stránky prostředky Users s vlastní akcí prostředku:
{
"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
}
]
}
}
Kompletní viewDefinition.json ukázku najdete v referenčních informacích: Zobrazit artefakt definice.
Definice spravované aplikace
Zabalte následující artefakty spravované aplikace do archivu zip a nahrajte ho do úložiště:
- createUiDefinition.json
- mainTemplate.json
- viewDefinition.json
Všechny soubory musí být na kořenové úrovni. Balíček s artefakty je možné uložit v libovolném úložišti, například v objektu blob GitHubu nebo objektu blob účtu úložiště Azure. Tady je skript pro nahrání balíčku aplikace do účtu úložiště:
$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
Spusťte následující skript Azure CLI nebo postupujte podle kroků na webu Azure Portal a nasaďte definici spravované aplikace katalogu služeb:
Pokud chcete tuto ukázku spustit, nainstalujte nejnovější verzi Azure CLI. Spuštěním příkazu az login vytvořte připojení k Azure.
Ukázky pro Azure CLI jsou napsané pro bash prostředí. Pokud chcete tuto ukázku spustit ve Windows PowerShellu nebo příkazovém řádku, budete možná muset změnit prvky skriptu.
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"
Instance spravované aplikace
Po nasazení definice spravované aplikace spusťte následující skript nebo postupujte podle kroků na webu Azure Portal a nasaďte instanci spravované aplikace s vlastním poskytovatelem:
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\"}}"
Vlastní akce a prostředky
Po nasazení instance aplikace katalogu služeb máte dvě nové skupiny prostředků. Skupina applicationGroup prostředků obsahuje instanci spravované aplikace a skupiny managedResourceGroup prostředků obsahuje prostředky pro spravovanou aplikaci, včetně vlastního poskytovatele.
Můžete přejít do instance spravované aplikace a provést vlastní akci na stránce Přehled, vytvořit vlastní prostředek na stránce Uživatelé a spustit vlastní kontextovou akci u vlastního prostředku.
- Přejděte na Přehled a vyberte Akci ping:
- Přejděte na Uživatelé a vyberte Přidat. Zadejte vstupy pro vytvoření prostředku a odešlete formulář:
- Přejděte na Uživatelé a vyberte prostředek uživatele a vyberte vlastní kontextovou akci:
Vyčištění prostředků
V předchozích krocích jste vytvořili prostředky Azure ve skupině prostředků. Pokud v budoucnu tyto prostředky nepotřebujete, můžete je odstranit odstraněním skupiny prostředků:
V nabídce webu Azure Portal nebo na domovské stránce vyberte skupiny> prostředkůmyResourceGroup.
V podokně myResourceGroup se ujistěte, že uvedené prostředky jsou ty, které chcete odstranit.
Vyberte odstranit skupinu zdrojů. Do textového pole zadejte myResourceGroup a potvrďte to a pak vyberte Odstranit.
Hledáte nápovědu
Pokud máte dotazy nebo potřebujete odpověď na spravované aplikace Azure, můžete na webu Stack Overflow publikovat otázku
Další kroky
Informace o publikování spravované aplikace na webu Azure Marketplace najdete v tématu Spravované aplikace Azure v Marketplace.
Přečtěte si další informace o vlastních poskytovateli Azure.