Skip to content

Utilice nombres de registro válidos#

Excelencia operativa · Container Registry · Rule · 2020_06 · Consciente

Sinopsis#

Los nombres de registro de contenedores deben cumplir con los requisitos de denominación.

Descripción#

Al nombrar los recursos de Azure, los nombres de los recursos deben cumplir con los requisitos del servicio. Los requisitos para los nombres de registro de contenedores son:

  • Entre 5 y 50 caracteres de longitud.
  • Alfanuméricos.
  • Los nombres de registros de contenedores deben ser únicos a nivel mundial.

Recomendación#

Considere usar nombres que cumplan con los requisitos de nombres del registro de contenedores. Además, considere nombrar recursos con una convención de nomenclatura estándar.

Ejemplos#

Configurar con plantilla de ARM#

Puede asegurarse de que el parámetro acrName cumpla con los requisitos de nomenclatura utilizando las propiedades de los parámetros MinLength y maxLength. También puede usar una función uniqueString() para asegurarse de que el nombre sea globalmente único.

Por ejemplo

Azure Template snippet
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "acrName": {
      "type": "string",
      "defaultValue": "[format('acr{0}', uniqueString(resourceGroup().id))]",
      "maxLength": 50,
      "minLength": 5,
      "metadata": {
        "description": "Globally unique name of your Azure Container Registry"
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Location for registry home replica."
      }
    },
    "acrSku": {
      "type": "string",
      "defaultValue": "Premium",
      "allowedValues": [
        "Standard"
        "Premium"
      ],
      "metadata": {
        "description": "Tier of your Azure Container Registry."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.ContainerRegistry/registries",
      "apiVersion": "2019-12-01-preview",
      "name": "[parameters('acrName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('acrSku')]"
      },
      "tags": {
        "displayName": "Container Registry",
        "container.registry": "[parameters('acrName')]"
      }
    }
  ],
  "outputs": {
    "acrLoginServer": {
      "type": "string",
      "value": "[reference(resourceId('Microsoft.ContainerRegistry/registries', parameters('acrName'))).loginServer]"
    }
  }
}

Configurar con Bicep#

Puede asegurarse de que el parámetro acrName cumpla con los requisitos de nomenclatura utilizando las propiedades de los parámetros MinLength y maxLength. También puede usar una función uniqueString() para asegurarse de que el nombre sea globalmente único.

Por ejemplo:

Azure Bicep snippet
@description('Globally unique name of your Azure Container Registry')
@minLength(5)
@maxLength(50)
param acrName string = 'acr${uniqueString(resourceGroup().id)}'

@description('Location for registry home replica.')
param location string = resourceGroup().location

@description('Tier of your Azure Container Registry. Geo-replication requires Premium SKU.')
@allowed([
  'Standard'
  'Premium'
])
param acrSku string = 'Premium'

resource containerRegistry 'Microsoft.ContainerRegistry/registries@2019-12-01-preview' = {
  name: acrName
  location: location
  sku: {
    name: acrSku
  }
  tags: {
    displayName: 'Container Registry'
    'container.registry': acrName
  }
}

output acrLoginServer string = containerRegistry.properties.loginServer

Notas#

Esta regla no comprueba si los nombres de registro de contenedores son únicos.

Enlaces#

Comments