Esercizio - Pubblicare un modulo nel registro
È stato creato registro privato per l'uso da parte dell'azienda di giocattoli. In questo esercizio si eseguiranno le seguenti operazioni:
- Creare un modulo per le risorse del sito Web.
- Creare un altro modulo per le risorse nella rete CDN.
- Pubblicare i moduli nel registro.
- Elencare i moduli nel registro.
In questo esercizio viene usata l'estensione Bicep per Visual Studio Code. Assicurarsi di installare questa estensione in Visual Studio Code.
Creare un modulo per un sito Web
In precedenza è stato creato un modulo che distribuisce un sito Web. Qui verrà salvato il file del modulo in modo da poterlo pubblicare.
Aprire Visual Studio Code.
Creare un nuovo file denominato website.bicep.
Copiare il codice seguente nel file website.bicep:
@description('The Azure region into which the resources should be deployed.') param location string @description('The name of the App Service app.') param appServiceAppName string @description('The name of the App Service plan.') param appServicePlanName string @description('The name of the App Service plan SKU.') param appServicePlanSkuName string resource appServicePlan 'Microsoft.Web/serverfarms@2023-12-01' = { name: appServicePlanName location: location sku: { name: appServicePlanSkuName } } resource appServiceApp 'Microsoft.Web/sites@2023-12-01' = { name: appServiceAppName location: location properties: { serverFarmId: appServicePlan.id httpsOnly: true } } @description('The default host name of the App Service app.') output appServiceAppHostName string = appServiceApp.properties.defaultHostName
Salva il file.
È possibile selezionare File>Salva con nome oppure premere CTRL+S in Windows (⌘+S in macOS). Assicurarsi di ricordare dove è stato salvato il file. Ad esempio, è possibile creare una cartella templates in cui salvarlo.
Creare un modulo per una rete CDN
Analogamente ai passaggi precedenti, verrà salvato un file di modulo creato in precedenza in modo che sia possibile pubblicarlo a breve.
Creare un nuovo file denominato cdn.bicep.
Copiare il codice seguente nel file cdn.bicep:
@description('The host name (address) of the origin server.') param originHostName string @description('The name of the CDN profile.') param profileName string = 'cdn-${uniqueString(resourceGroup().id)}' @description('The name of the CDN endpoint') param endpointName string = 'endpoint-${uniqueString(resourceGroup().id)}' @description('Indicates whether the CDN endpoint requires HTTPS connections.') param httpsOnly bool var originName = 'my-origin' resource cdnProfile 'Microsoft.Cdn/profiles@2024-02-01' = { name: profileName location: 'global' sku: { name: 'Standard_Microsoft' } } resource endpoint 'Microsoft.Cdn/profiles/endpoints@2024-02-01' = { parent: cdnProfile name: endpointName location: 'global' properties: { originHostHeader: originHostName isHttpAllowed: !httpsOnly isHttpsAllowed: true queryStringCachingBehavior: 'IgnoreQueryString' contentTypesToCompress: [ 'text/plain' 'text/html' 'text/css' 'application/x-javascript' 'text/javascript' ] isCompressionEnabled: true origins: [ { name: originName properties: { hostName: originHostName } } ] } } @description('The host name of the CDN endpoint.') output endpointHostName string = endpoint.properties.hostName
Salva il file.
Pubblicare i moduli nel registro
Nel terminale di Visual Studio Code eseguire i comandi seguenti. Sostituire
YOUR_CONTAINER_REGISTRY_NAME
con il nome del registro privato.az bicep publish \ --file website.bicep \ --target 'br:YOUR_CONTAINER_REGISTRY_NAME.azurecr.io/website:v1' az bicep publish \ --file cdn.bicep \ --target 'br:YOUR_CONTAINER_REGISTRY_NAME.azurecr.io/cdn:v1'
Si noti che non è necessario eseguire l'accesso. Bicep usa le informazioni di accesso dell'interfaccia della riga di comando di Azure per autenticare l'utente nel registro.
Eseguire il comando seguente per elencare gli artefatti nel registro:
az acr repository list \ --name YOUR_CONTAINER_REGISTRY_NAME
L'output mostra i nomi dei moduli:
[ "cdn", "website" ]
Nel terminale di Visual Studio Code eseguire i comandi seguenti. Sostituire
YOUR_CONTAINER_REGISTRY_NAME
con il nome del registro privato.bicep publish website.bicep ` --target 'br:YOUR_CONTAINER_REGISTRY_NAME.azurecr.io/website:v1' bicep publish cdn.bicep ` --target 'br:YOUR_CONTAINER_REGISTRY_NAME.azurecr.io/cdn:v1'
Si noti che non è necessario eseguire l'accesso. Bicep usa le informazioni di accesso di Azure PowerShell per autenticare l'utente nel registro.
Eseguire il comando seguente per elencare gli artefatti nel registro:
Get-AzContainerRegistryRepository -RegistryName YOUR_CONTAINER_REGISTRY_NAME
L'output mostra i nomi dei moduli:
cdn website
È anche possibile usare il portale di Azure per elencare i moduli nel registro. Nella scheda Panoramica del gruppo di risorse selezionare YOUR_CONTAINER_REGISTRY_NAME
e quindi selezionare Repository. La connessione al portale di Azure viene eseguita più avanti in questo modulo.