Microsoft.AppPlatform Primavera/aplicaciones/implementaciones 01/12/2023

Observaciones

Nota: Azure Spring Apps Application Deployments (Microsoft.AppPlatform/Spring/apps/deployments) ya está obsoleto y se retirará el 31-05-2028. Consulte https://aka.ms/asaretirement para obtener más información.

Definición de recursos de Bicep

El tipo de recurso Spring/apps/deployments se puede implementar con operaciones destinadas a:

  • Grupos de recursos - Véase grupos de recursos c1

Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.

Formato de recurso

Para crear un recurso Microsoft.AppPlatform/Spring/apps/deployments, agregue el siguiente bicep a la plantilla.

resource symbolicname 'Microsoft.AppPlatform/Spring/apps/deployments@2023-12-01' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    active: bool
    deploymentSettings: {
      addonConfigs: {
        {customized property}: any(...)
      }
      apms: [
        {
          resourceId: 'string'
        }
      ]
      containerProbeSettings: {
        disableProbe: bool
      }
      environmentVariables: {
        {customized property}: 'string'
      }
      livenessProbe: {
        disableProbe: bool
        failureThreshold: int
        initialDelaySeconds: int
        periodSeconds: int
        probeAction: {
          type: 'string'
          // For remaining properties, see ProbeAction objects
        }
        successThreshold: int
        timeoutSeconds: int
      }
      readinessProbe: {
        disableProbe: bool
        failureThreshold: int
        initialDelaySeconds: int
        periodSeconds: int
        probeAction: {
          type: 'string'
          // For remaining properties, see ProbeAction objects
        }
        successThreshold: int
        timeoutSeconds: int
      }
      resourceRequests: {
        cpu: 'string'
        memory: 'string'
      }
      startupProbe: {
        disableProbe: bool
        failureThreshold: int
        initialDelaySeconds: int
        periodSeconds: int
        probeAction: {
          type: 'string'
          // For remaining properties, see ProbeAction objects
        }
        successThreshold: int
        timeoutSeconds: int
      }
      terminationGracePeriodSeconds: int
    }
    source: {
      version: 'string'
      type: 'string'
      // For remaining properties, see UserSourceInfo objects
    }
  }
  sku: {
    capacity: int
    name: 'string'
    tier: 'string'
  }
}

Objetos ProbeAction

Establezca el tipo propiedad para especificar el tipo de objeto.

Para ExecAction, use:

{
  command: [
    'string'
  ]
  type: 'ExecAction'
}

Para HTTPGetAction, use:

{
  path: 'string'
  scheme: 'string'
  type: 'HTTPGetAction'
}

Para tcpSocketAction, use:

{
  type: 'TCPSocketAction'
}

Objetos UserSourceInfo

Establezca el tipo propiedad para especificar el tipo de objeto.

Para BuildResult, use:

{
  buildResultId: 'string'
  type: 'BuildResult'
}

Para container, use:

{
  customContainer: {
    args: [
      'string'
    ]
    command: [
      'string'
    ]
    containerImage: 'string'
    imageRegistryCredential: {
      password: 'string'
      username: 'string'
    }
    languageFramework: 'string'
    server: 'string'
  }
  type: 'Container'
}

Para jar, use:

{
  jvmOptions: 'string'
  relativePath: 'string'
  runtimeVersion: 'string'
  type: 'Jar'
}

Para netCoreZip, use:

{
  netCoreMainEntryPath: 'string'
  relativePath: 'string'
  runtimeVersion: 'string'
  type: 'NetCoreZip'
}

Para source, use:

{
  artifactSelector: 'string'
  relativePath: 'string'
  runtimeVersion: 'string'
  type: 'Source'
}

Para War, use:

{
  jvmOptions: 'string'
  relativePath: 'string'
  runtimeVersion: 'string'
  serverVersion: 'string'
  type: 'War'
}

Valores de propiedad

Microsoft.AppPlatform/Spring/apps/deployments

Name Description Value
name El nombre del recurso string (obligatorio)
parent En Bicep, puede especificar el recurso primario para un recurso secundario. Solo tiene que agregar esta propiedad cuando el recurso secundario se declara fuera del recurso primario.

Para más información, consulte Child resource externo al padre.
Nombre simbólico del recurso de tipo: spring/apps
properties Propiedades del recurso de implementación DeploymentResourceProperties
sku SKU del recurso de implementación Sku

ApmReference

Name Description Value
resourceId Identificador de recurso del APM string (obligatorio)

BuildResultUserSourceInfo

Name Description Value
buildResultId Identificador de recurso de un resultado de compilación correcta existente en la misma instancia de Spring. string
type Tipo del origen cargado 'BuildResult' (obligatorio)

ContainerProbeSettings

Name Description Value
disableProbe Indica si deshabilita el sondeo de ejecución y preparación. bool

CustomContainer

Name Description Value
args Argumentos para el punto de entrada. El CMD de la imagen de Docker se usa si no se proporciona. string[]
command Matriz de puntos de entrada. No se ejecuta dentro de un shell. El ENTRYPOINT de la imagen de Docker se usa si no se proporciona. string[]
containerImage Imagen de contenedor del contenedor personalizado. Debe estar en forma de <repositorio>:<etiqueta> sin el nombre del servidor del Registro string
imageRegistryCredential Credencial del registro de imágenes ImageRegistryCredential
languageFramework Marco de lenguaje de la imagen de contenedor cargada. Valores admitidos: "springboot", "", null. string
server Nombre del registro que contiene la imagen de contenedor string

CustomContainerUserSourceInfo

Name Description Value
customContainer Carga de contenedor personalizada CustomContainer
type Tipo del origen cargado 'Contenedor' (obligatorio)

DeploymentResourceProperties

Name Description Value
active Indica si la implementación está activa. bool
deploymentSettings Configuración de implementación de la implementación DeploymentSettings
source Información de origen cargada de la implementación. UserSourceInfo

DeploymentSettings

Name Description Value
addonConfigs Colección de complementos DeploymentSettingsAddonConfigs
apms Colección de ApmReferences ApmReference[]
containerProbeSettings Configuración del sondeo de preparación y ejecución de contenedores ContainerProbeSettings
environmentVariables Colección de variables de entorno DeploymentSettingsEnvironmentVariables
livenessProbe Sondeo periódico de la ejecución de la instancia de aplicación. La instancia de la aplicación se reiniciará si se produce un error en el sondeo. Más información: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Probe
readinessProbe Sondeo periódico de la preparación de App Instance Service. La instancia de la aplicación se quitará de los puntos de conexión de servicio si se produce un error en el sondeo. Más información: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Probe
resourceRequests Cantidad de recursos solicitada para la CPU y la memoria necesarias. Se recomienda usar este campo para representar la CPU y la memoria necesarias, la cpu de campo anterior y memoryInGB quedará en desuso más adelante. ResourceRequests
startupProbe StartupProbe indica que la instancia de la aplicación se ha inicializado correctamente. Si se especifica, no se ejecutan otros sondeos hasta que se complete correctamente. Si se produce un error en este sondeo, se reiniciará el pod, igual que si se produjo un error en livenessProbe. Esto se puede usar para proporcionar diferentes parámetros de sondeo al principio del ciclo de vida de una instancia de aplicación, cuando puede tardar mucho tiempo en cargar datos o calentar una memoria caché, que durante la operación de estado estable. No se puede actualizar. Más información: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Probe
terminationGracePeriodSeconds Duración opcional en segundos que la instancia de la aplicación debe finalizar correctamente. Puede reducirse en la solicitud de eliminación. El valor debe ser entero no negativo. El valor cero indica que se detiene inmediatamente a través de la señal de eliminación (sin oportunidad de apagar). Si este valor es nulo, se usará en su lugar el período de gracia predeterminado. El período de gracia es la duración en segundos después de que los procesos que se ejecutan en la instancia de la aplicación se envíen una señal de terminación y el tiempo en que los procesos se detengan forzosamente con una señal de eliminación. Establezca este valor más largo que el tiempo de limpieza esperado para el proceso. El valor predeterminado es de 90 segundos. int

DeploymentSettingsAddonConfigs

Name Description Value

DeploymentSettingsEnvironmentVariables

Name Description Value

ExecAction

Name Description Value
command El comando es la línea de comandos que se va a ejecutar dentro del contenedor, el directorio de trabajo del comando es raíz ('/') en el sistema de archivos del contenedor. El comando no se ejecuta dentro de un shell, por lo que las instrucciones de shell tradicionales ('|', etc.) no funcionarán. Para usar un shell, debe llamar explícitamente a ese shell. El estado de salida de 0 se trata como activo/correcto y no cero es incorrecto. string[]
type Tipo de la acción que se va a realizar para realizar la comprobación de estado. 'ExecAction' (obligatorio)

HttpGetAction

Name Description Value
path Ruta para el acceso en el servidor HTTP. string
scheme Esquema que se va a usar para conectarse al host. El valor predeterminado es HTTP.

Posibles valores de enumeración:
- "HTTP" significa que el esquema usado se http://
- "HTTPS" significa que el esquema usado se https://
'HTTP'
'HTTPS'
type Tipo de la acción que se va a realizar para realizar la comprobación de estado. 'HTTPGetAction' (obligatorio)

ImageRegistryCredential

Name Description Value
password Contraseña de la credencial del Registro de imágenes string
username Nombre de usuario de la credencial del Registro de imágenes string

JarUploadedUserSourceInfo

Name Description Value
jvmOptions Parámetro JVM string
relativePath Camino relativo del storage que almacena la fuente string
runtimeVersion Versión en tiempo de ejecución del archivo Jar string
type Tipo del origen cargado 'Tarro' (obligatorio)

NetCoreZipUploadedUserSourceInfo

Name Description Value
netCoreMainEntryPath La ruta hacia el ejecutable .NET relativa a la raíz zip string
relativePath Camino relativo del storage que almacena la fuente string
runtimeVersion Versión de ejecución del archivo .Net string
type Tipo del origen cargado 'NetCoreZip' (obligatorio)

Probe

Name Description Value
disableProbe Indica si el sondeo está deshabilitado. bool (obligatorio)
failureThreshold Se han producido errores consecutivos mínimos para que el sondeo se considere erróneo después de haber realizado correctamente. El valor mínimo es 1. int
initialDelaySeconds Número de segundos después de que se haya iniciado la instancia de aplicación antes de que se inicien los sondeos. Más información: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes int
periodSeconds Frecuencia (en segundos) para realizar el sondeo. El valor mínimo es 1. int
probeAction Acción del sondeo. ProbeAction
successThreshold Número mínimo de éxitos consecutivos para que el sondeo se considere correcto después de haber producido un error. Debe ser 1 para la vida y el inicio. El valor mínimo es 1. int
timeoutSeconds Número de segundos después del cual el sondeo agota el tiempo de espera. El valor mínimo es 1. int

ProbeAction

Name Description Value
type Establezca en "ExecAction" para el tipo ExecAction. Establezca en "HTTPGetAction" para el tipo HttpGetAction. Establezca en "TCPSocketAction" para el tipo TCPSocketAction. 'ExecAction'
'HTTPGetAction'
'TCPSocketAction' (obligatorio)

ResourceRequests

Name Description Value
cpu CPU necesaria. 1 núcleo se puede representar mediante 1 o 1000m. Debe ser de 500 m o 1 para el nivel Básico y {500m, 1, 2, 3, 4} para el nivel Estándar. string
memory Memoria necesaria. 1 GB se puede representar mediante 1Gi o 1024Mi. Debe ser {512Mi, 1Gi, 2Gi} para el nivel Básico y {512Mi, 1Gi, 2Gi, ..., 8Gi} para el nivel Estándar. string

Sku

Name Description Value
capacity Capacidad actual del recurso de destino int
name Nombre de la SKU string
tier Nivel de la SKU string

SourceUploadedUserSourceInfo

Name Description Value
artifactSelector Selector del artefacto que se va a usar para la implementación de proyectos de varios módulos. Debe ser
la ruta relativa al módulo/proyecto objetivo.
string
relativePath Camino relativo del storage que almacena la fuente string
runtimeVersion Versión en tiempo de ejecución del archivo de origen string
type Tipo del origen cargado 'Fuente' (obligatorio)

TCPSocketAction

Name Description Value
type Tipo de la acción que se va a realizar para realizar la comprobación de estado. 'TCPSocketAction' (obligatorio)

UserSourceInfo

Name Description Value
type Establezca en "BuildResult" para el tipo BuildResultUserSourceInfo. Establezca en "Container" para el tipo CustomContainerUserSourceInfo. Establezca en "Jar" para el tipo JarUploadedUserSourceInfo. Establezca en "NetCoreZip" para el tipo NetCoreZipUploadedUserSourceInfo. Establezca en "Source" para el tipo SourceUploadedUserSourceInfo. Establezca en "War" para el tipo WarUploadedUserSourceInfo. 'BuildResult'
'Container'
'Jar'
'NetCoreZip'
'Source'
'Guerra' (obligatorio)
version Versión del origen string

WarUploadedUserSourceInfo

Name Description Value
jvmOptions Parámetro JVM string
relativePath Camino relativo del storage que almacena la fuente string
runtimeVersion Versión en tiempo de ejecución del archivo de guerra string
serverVersion Versión del servidor, actualmente solo se admite Apache Tomcat. string
type Tipo del origen cargado 'Guerra' (obligatorio)

Ejemplos de uso

Ejemplos de Bicep

Un ejemplo básico de implementación de Spring Cloud Deployment.

param resourceName string = 'acctest0001'
param location string = 'westeurope'

resource spring 'Microsoft.AppPlatform/Spring@2023-05-01-preview' = {
  name: resourceName
  location: location
  properties: {
    zoneRedundant: false
  }
  sku: {
    name: 'E0'
  }
}

resource app 'Microsoft.AppPlatform/Spring/apps@2023-05-01-preview' = {
  parent: spring
  name: resourceName
  location: location
  properties: {
    customPersistentDisks: []
    enableEndToEndTLS: false
    public: false
  }
}

resource deployment 'Microsoft.AppPlatform/Spring/apps/deployments@2023-05-01-preview' = {
  parent: app
  name: resourceName
  properties: {
    deploymentSettings: {
      environmentVariables: {}
    }
    source: {
      customContainer: {
        args: []
        command: []
        containerImage: 'springio/gs-spring-boot-docker'
        languageFramework: ''
        server: 'docker.io'
      }
      type: 'Container'
    }
  }
  sku: {
    capacity: 1
    name: 'E0'
    tier: 'Enterprise'
  }
}

Ejemplos de inicio rápido de Azure

Las siguientes plantillas Azure Quickstart contienen muestras de Bicep para desplegar este tipo de recurso.

Archivo Bicep Description
Despliega una aplicación sencilla de microservicios Azure Spring Apps Esta plantilla despliega una aplicación sencilla de microservicios de Azure Spring Apps para ejecutarse en Azure.

Definición de recursos de plantilla de ARM

El tipo de recurso Spring/apps/deployments se puede implementar con operaciones destinadas a:

  • Grupos de recursos - Véase grupos de recursos c1

Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.

Formato de recurso

Para crear un recurso Microsoft.AppPlatform/Spring/apps/deployments, agregue el siguiente JSON a la plantilla.

{
  "type": "Microsoft.AppPlatform/Spring/apps/deployments",
  "apiVersion": "2023-12-01",
  "name": "string",
  "properties": {
    "active": "bool",
    "deploymentSettings": {
      "addonConfigs": {
        "{customized property}": {}
      },
      "apms": [
        {
          "resourceId": "string"
        }
      ],
      "containerProbeSettings": {
        "disableProbe": "bool"
      },
      "environmentVariables": {
        "{customized property}": "string"
      },
      "livenessProbe": {
        "disableProbe": "bool",
        "failureThreshold": "int",
        "initialDelaySeconds": "int",
        "periodSeconds": "int",
        "probeAction": {
          "type": "string"
          // For remaining properties, see ProbeAction objects
        },
        "successThreshold": "int",
        "timeoutSeconds": "int"
      },
      "readinessProbe": {
        "disableProbe": "bool",
        "failureThreshold": "int",
        "initialDelaySeconds": "int",
        "periodSeconds": "int",
        "probeAction": {
          "type": "string"
          // For remaining properties, see ProbeAction objects
        },
        "successThreshold": "int",
        "timeoutSeconds": "int"
      },
      "resourceRequests": {
        "cpu": "string",
        "memory": "string"
      },
      "startupProbe": {
        "disableProbe": "bool",
        "failureThreshold": "int",
        "initialDelaySeconds": "int",
        "periodSeconds": "int",
        "probeAction": {
          "type": "string"
          // For remaining properties, see ProbeAction objects
        },
        "successThreshold": "int",
        "timeoutSeconds": "int"
      },
      "terminationGracePeriodSeconds": "int"
    },
    "source": {
      "version": "string",
      "type": "string"
      // For remaining properties, see UserSourceInfo objects
    }
  },
  "sku": {
    "capacity": "int",
    "name": "string",
    "tier": "string"
  }
}

Objetos ProbeAction

Establezca el tipo propiedad para especificar el tipo de objeto.

Para ExecAction, use:

{
  "command": [ "string" ],
  "type": "ExecAction"
}

Para HTTPGetAction, use:

{
  "path": "string",
  "scheme": "string",
  "type": "HTTPGetAction"
}

Para tcpSocketAction, use:

{
  "type": "TCPSocketAction"
}

Objetos UserSourceInfo

Establezca el tipo propiedad para especificar el tipo de objeto.

Para BuildResult, use:

{
  "buildResultId": "string",
  "type": "BuildResult"
}

Para container, use:

{
  "customContainer": {
    "args": [ "string" ],
    "command": [ "string" ],
    "containerImage": "string",
    "imageRegistryCredential": {
      "password": "string",
      "username": "string"
    },
    "languageFramework": "string",
    "server": "string"
  },
  "type": "Container"
}

Para jar, use:

{
  "jvmOptions": "string",
  "relativePath": "string",
  "runtimeVersion": "string",
  "type": "Jar"
}

Para netCoreZip, use:

{
  "netCoreMainEntryPath": "string",
  "relativePath": "string",
  "runtimeVersion": "string",
  "type": "NetCoreZip"
}

Para source, use:

{
  "artifactSelector": "string",
  "relativePath": "string",
  "runtimeVersion": "string",
  "type": "Source"
}

Para War, use:

{
  "jvmOptions": "string",
  "relativePath": "string",
  "runtimeVersion": "string",
  "serverVersion": "string",
  "type": "War"
}

Valores de propiedad

Microsoft.AppPlatform/Spring/apps/deployments

Name Description Value
apiVersion La versión de api '2023-12-01'
name El nombre del recurso string (obligatorio)
properties Propiedades del recurso de implementación DeploymentResourceProperties
sku SKU del recurso de implementación Sku
type El tipo de recurso 'Microsoft.AppPlatform/Spring/apps/deployments'

ApmReference

Name Description Value
resourceId Identificador de recurso del APM string (obligatorio)

BuildResultUserSourceInfo

Name Description Value
buildResultId Identificador de recurso de un resultado de compilación correcta existente en la misma instancia de Spring. string
type Tipo del origen cargado 'BuildResult' (obligatorio)

ContainerProbeSettings

Name Description Value
disableProbe Indica si deshabilita el sondeo de ejecución y preparación. bool

CustomContainer

Name Description Value
args Argumentos para el punto de entrada. El CMD de la imagen de Docker se usa si no se proporciona. string[]
command Matriz de puntos de entrada. No se ejecuta dentro de un shell. El ENTRYPOINT de la imagen de Docker se usa si no se proporciona. string[]
containerImage Imagen de contenedor del contenedor personalizado. Debe estar en forma de <repositorio>:<etiqueta> sin el nombre del servidor del Registro string
imageRegistryCredential Credencial del registro de imágenes ImageRegistryCredential
languageFramework Marco de lenguaje de la imagen de contenedor cargada. Valores admitidos: "springboot", "", null. string
server Nombre del registro que contiene la imagen de contenedor string

CustomContainerUserSourceInfo

Name Description Value
customContainer Carga de contenedor personalizada CustomContainer
type Tipo del origen cargado 'Contenedor' (obligatorio)

DeploymentResourceProperties

Name Description Value
active Indica si la implementación está activa. bool
deploymentSettings Configuración de implementación de la implementación DeploymentSettings
source Información de origen cargada de la implementación. UserSourceInfo

DeploymentSettings

Name Description Value
addonConfigs Colección de complementos DeploymentSettingsAddonConfigs
apms Colección de ApmReferences ApmReference[]
containerProbeSettings Configuración del sondeo de preparación y ejecución de contenedores ContainerProbeSettings
environmentVariables Colección de variables de entorno DeploymentSettingsEnvironmentVariables
livenessProbe Sondeo periódico de la ejecución de la instancia de aplicación. La instancia de la aplicación se reiniciará si se produce un error en el sondeo. Más información: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Probe
readinessProbe Sondeo periódico de la preparación de App Instance Service. La instancia de la aplicación se quitará de los puntos de conexión de servicio si se produce un error en el sondeo. Más información: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Probe
resourceRequests Cantidad de recursos solicitada para la CPU y la memoria necesarias. Se recomienda usar este campo para representar la CPU y la memoria necesarias, la cpu de campo anterior y memoryInGB quedará en desuso más adelante. ResourceRequests
startupProbe StartupProbe indica que la instancia de la aplicación se ha inicializado correctamente. Si se especifica, no se ejecutan otros sondeos hasta que se complete correctamente. Si se produce un error en este sondeo, se reiniciará el pod, igual que si se produjo un error en livenessProbe. Esto se puede usar para proporcionar diferentes parámetros de sondeo al principio del ciclo de vida de una instancia de aplicación, cuando puede tardar mucho tiempo en cargar datos o calentar una memoria caché, que durante la operación de estado estable. No se puede actualizar. Más información: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Probe
terminationGracePeriodSeconds Duración opcional en segundos que la instancia de la aplicación debe finalizar correctamente. Puede reducirse en la solicitud de eliminación. El valor debe ser entero no negativo. El valor cero indica que se detiene inmediatamente a través de la señal de eliminación (sin oportunidad de apagar). Si este valor es nulo, se usará en su lugar el período de gracia predeterminado. El período de gracia es la duración en segundos después de que los procesos que se ejecutan en la instancia de la aplicación se envíen una señal de terminación y el tiempo en que los procesos se detengan forzosamente con una señal de eliminación. Establezca este valor más largo que el tiempo de limpieza esperado para el proceso. El valor predeterminado es de 90 segundos. int

DeploymentSettingsAddonConfigs

Name Description Value

DeploymentSettingsEnvironmentVariables

Name Description Value

ExecAction

Name Description Value
command El comando es la línea de comandos que se va a ejecutar dentro del contenedor, el directorio de trabajo del comando es raíz ('/') en el sistema de archivos del contenedor. El comando no se ejecuta dentro de un shell, por lo que las instrucciones de shell tradicionales ('|', etc.) no funcionarán. Para usar un shell, debe llamar explícitamente a ese shell. El estado de salida de 0 se trata como activo/correcto y no cero es incorrecto. string[]
type Tipo de la acción que se va a realizar para realizar la comprobación de estado. 'ExecAction' (obligatorio)

HttpGetAction

Name Description Value
path Ruta para el acceso en el servidor HTTP. string
scheme Esquema que se va a usar para conectarse al host. El valor predeterminado es HTTP.

Posibles valores de enumeración:
- "HTTP" significa que el esquema usado se http://
- "HTTPS" significa que el esquema usado se https://
'HTTP'
'HTTPS'
type Tipo de la acción que se va a realizar para realizar la comprobación de estado. 'HTTPGetAction' (obligatorio)

ImageRegistryCredential

Name Description Value
password Contraseña de la credencial del Registro de imágenes string
username Nombre de usuario de la credencial del Registro de imágenes string

JarUploadedUserSourceInfo

Name Description Value
jvmOptions Parámetro JVM string
relativePath Camino relativo del storage que almacena la fuente string
runtimeVersion Versión en tiempo de ejecución del archivo Jar string
type Tipo del origen cargado 'Tarro' (obligatorio)

NetCoreZipUploadedUserSourceInfo

Name Description Value
netCoreMainEntryPath La ruta hacia el ejecutable .NET relativa a la raíz zip string
relativePath Camino relativo del storage que almacena la fuente string
runtimeVersion Versión de ejecución del archivo .Net string
type Tipo del origen cargado 'NetCoreZip' (obligatorio)

Probe

Name Description Value
disableProbe Indica si el sondeo está deshabilitado. bool (obligatorio)
failureThreshold Se han producido errores consecutivos mínimos para que el sondeo se considere erróneo después de haber realizado correctamente. El valor mínimo es 1. int
initialDelaySeconds Número de segundos después de que se haya iniciado la instancia de aplicación antes de que se inicien los sondeos. Más información: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes int
periodSeconds Frecuencia (en segundos) para realizar el sondeo. El valor mínimo es 1. int
probeAction Acción del sondeo. ProbeAction
successThreshold Número mínimo de éxitos consecutivos para que el sondeo se considere correcto después de haber producido un error. Debe ser 1 para la vida y el inicio. El valor mínimo es 1. int
timeoutSeconds Número de segundos después del cual el sondeo agota el tiempo de espera. El valor mínimo es 1. int

ProbeAction

Name Description Value
type Establezca en "ExecAction" para el tipo ExecAction. Establezca en "HTTPGetAction" para el tipo HttpGetAction. Establezca en "TCPSocketAction" para el tipo TCPSocketAction. 'ExecAction'
'HTTPGetAction'
'TCPSocketAction' (obligatorio)

ResourceRequests

Name Description Value
cpu CPU necesaria. 1 núcleo se puede representar mediante 1 o 1000m. Debe ser de 500 m o 1 para el nivel Básico y {500m, 1, 2, 3, 4} para el nivel Estándar. string
memory Memoria necesaria. 1 GB se puede representar mediante 1Gi o 1024Mi. Debe ser {512Mi, 1Gi, 2Gi} para el nivel Básico y {512Mi, 1Gi, 2Gi, ..., 8Gi} para el nivel Estándar. string

Sku

Name Description Value
capacity Capacidad actual del recurso de destino int
name Nombre de la SKU string
tier Nivel de la SKU string

SourceUploadedUserSourceInfo

Name Description Value
artifactSelector Selector del artefacto que se va a usar para la implementación de proyectos de varios módulos. Debe ser
la ruta relativa al módulo/proyecto objetivo.
string
relativePath Camino relativo del storage que almacena la fuente string
runtimeVersion Versión en tiempo de ejecución del archivo de origen string
type Tipo del origen cargado 'Fuente' (obligatorio)

TCPSocketAction

Name Description Value
type Tipo de la acción que se va a realizar para realizar la comprobación de estado. 'TCPSocketAction' (obligatorio)

UserSourceInfo

Name Description Value
type Establezca en "BuildResult" para el tipo BuildResultUserSourceInfo. Establezca en "Container" para el tipo CustomContainerUserSourceInfo. Establezca en "Jar" para el tipo JarUploadedUserSourceInfo. Establezca en "NetCoreZip" para el tipo NetCoreZipUploadedUserSourceInfo. Establezca en "Source" para el tipo SourceUploadedUserSourceInfo. Establezca en "War" para el tipo WarUploadedUserSourceInfo. 'BuildResult'
'Container'
'Jar'
'NetCoreZip'
'Source'
'Guerra' (obligatorio)
version Versión del origen string

WarUploadedUserSourceInfo

Name Description Value
jvmOptions Parámetro JVM string
relativePath Camino relativo del storage que almacena la fuente string
runtimeVersion Versión en tiempo de ejecución del archivo de guerra string
serverVersion Versión del servidor, actualmente solo se admite Apache Tomcat. string
type Tipo del origen cargado 'Guerra' (obligatorio)

Ejemplos de uso

Plantillas de inicio rápido de Azure

Las siguientes plantillas Azure Quickstart despliegan este tipo de recurso.

Template Description
Despliega una aplicación sencilla de microservicios Azure Spring Apps

Despliega en Azure
Esta plantilla despliega una aplicación sencilla de microservicios de Azure Spring Apps para ejecutarse en Azure.

Definición de recursos de Terraform (proveedor AzAPI)

El tipo de recurso Spring/apps/deployments se puede implementar con operaciones destinadas a:

  • Grupos de recursos

Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.

Formato de recurso

Para crear un recurso Microsoft.AppPlatform/Spring/apps/deployments, agregue el siguiente terraform a la plantilla.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.AppPlatform/Spring/apps/deployments@2023-12-01"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      active = bool
      deploymentSettings = {
        addonConfigs = {
          {customized property} = ?
        }
        apms = [
          {
            resourceId = "string"
          }
        ]
        containerProbeSettings = {
          disableProbe = bool
        }
        environmentVariables = {
          {customized property} = "string"
        }
        livenessProbe = {
          disableProbe = bool
          failureThreshold = int
          initialDelaySeconds = int
          periodSeconds = int
          probeAction = {
            type = "string"
            // For remaining properties, see ProbeAction objects
          }
          successThreshold = int
          timeoutSeconds = int
        }
        readinessProbe = {
          disableProbe = bool
          failureThreshold = int
          initialDelaySeconds = int
          periodSeconds = int
          probeAction = {
            type = "string"
            // For remaining properties, see ProbeAction objects
          }
          successThreshold = int
          timeoutSeconds = int
        }
        resourceRequests = {
          cpu = "string"
          memory = "string"
        }
        startupProbe = {
          disableProbe = bool
          failureThreshold = int
          initialDelaySeconds = int
          periodSeconds = int
          probeAction = {
            type = "string"
            // For remaining properties, see ProbeAction objects
          }
          successThreshold = int
          timeoutSeconds = int
        }
        terminationGracePeriodSeconds = int
      }
      source = {
        version = "string"
        type = "string"
        // For remaining properties, see UserSourceInfo objects
      }
    }
    sku = {
      capacity = int
      name = "string"
      tier = "string"
    }
  }
}

Objetos ProbeAction

Establezca el tipo propiedad para especificar el tipo de objeto.

Para ExecAction, use:

{
  command = [
    "string"
  ]
  type = "ExecAction"
}

Para HTTPGetAction, use:

{
  path = "string"
  scheme = "string"
  type = "HTTPGetAction"
}

Para tcpSocketAction, use:

{
  type = "TCPSocketAction"
}

Objetos UserSourceInfo

Establezca el tipo propiedad para especificar el tipo de objeto.

Para BuildResult, use:

{
  buildResultId = "string"
  type = "BuildResult"
}

Para container, use:

{
  customContainer = {
    args = [
      "string"
    ]
    command = [
      "string"
    ]
    containerImage = "string"
    imageRegistryCredential = {
      password = "string"
      username = "string"
    }
    languageFramework = "string"
    server = "string"
  }
  type = "Container"
}

Para jar, use:

{
  jvmOptions = "string"
  relativePath = "string"
  runtimeVersion = "string"
  type = "Jar"
}

Para netCoreZip, use:

{
  netCoreMainEntryPath = "string"
  relativePath = "string"
  runtimeVersion = "string"
  type = "NetCoreZip"
}

Para source, use:

{
  artifactSelector = "string"
  relativePath = "string"
  runtimeVersion = "string"
  type = "Source"
}

Para War, use:

{
  jvmOptions = "string"
  relativePath = "string"
  runtimeVersion = "string"
  serverVersion = "string"
  type = "War"
}

Valores de propiedad

Microsoft.AppPlatform/Spring/apps/deployments

Name Description Value
name El nombre del recurso string (obligatorio)
parent_id Identificador del recurso que es el elemento primario de este recurso. Identificador del recurso de tipo: spring/apps
properties Propiedades del recurso de implementación DeploymentResourceProperties
sku SKU del recurso de implementación Sku
type El tipo de recurso "Microsoft.AppPlatform/Spring/apps/deployments@2023-12-01"

ApmReference

Name Description Value
resourceId Identificador de recurso del APM string (obligatorio)

BuildResultUserSourceInfo

Name Description Value
buildResultId Identificador de recurso de un resultado de compilación correcta existente en la misma instancia de Spring. string
type Tipo del origen cargado 'BuildResult' (obligatorio)

ContainerProbeSettings

Name Description Value
disableProbe Indica si deshabilita el sondeo de ejecución y preparación. bool

CustomContainer

Name Description Value
args Argumentos para el punto de entrada. El CMD de la imagen de Docker se usa si no se proporciona. string[]
command Matriz de puntos de entrada. No se ejecuta dentro de un shell. El ENTRYPOINT de la imagen de Docker se usa si no se proporciona. string[]
containerImage Imagen de contenedor del contenedor personalizado. Debe estar en forma de <repositorio>:<etiqueta> sin el nombre del servidor del Registro string
imageRegistryCredential Credencial del registro de imágenes ImageRegistryCredential
languageFramework Marco de lenguaje de la imagen de contenedor cargada. Valores admitidos: "springboot", "", null. string
server Nombre del registro que contiene la imagen de contenedor string

CustomContainerUserSourceInfo

Name Description Value
customContainer Carga de contenedor personalizada CustomContainer
type Tipo del origen cargado 'Contenedor' (obligatorio)

DeploymentResourceProperties

Name Description Value
active Indica si la implementación está activa. bool
deploymentSettings Configuración de implementación de la implementación DeploymentSettings
source Información de origen cargada de la implementación. UserSourceInfo

DeploymentSettings

Name Description Value
addonConfigs Colección de complementos DeploymentSettingsAddonConfigs
apms Colección de ApmReferences ApmReference[]
containerProbeSettings Configuración del sondeo de preparación y ejecución de contenedores ContainerProbeSettings
environmentVariables Colección de variables de entorno DeploymentSettingsEnvironmentVariables
livenessProbe Sondeo periódico de la ejecución de la instancia de aplicación. La instancia de la aplicación se reiniciará si se produce un error en el sondeo. Más información: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Probe
readinessProbe Sondeo periódico de la preparación de App Instance Service. La instancia de la aplicación se quitará de los puntos de conexión de servicio si se produce un error en el sondeo. Más información: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Probe
resourceRequests Cantidad de recursos solicitada para la CPU y la memoria necesarias. Se recomienda usar este campo para representar la CPU y la memoria necesarias, la cpu de campo anterior y memoryInGB quedará en desuso más adelante. ResourceRequests
startupProbe StartupProbe indica que la instancia de la aplicación se ha inicializado correctamente. Si se especifica, no se ejecutan otros sondeos hasta que se complete correctamente. Si se produce un error en este sondeo, se reiniciará el pod, igual que si se produjo un error en livenessProbe. Esto se puede usar para proporcionar diferentes parámetros de sondeo al principio del ciclo de vida de una instancia de aplicación, cuando puede tardar mucho tiempo en cargar datos o calentar una memoria caché, que durante la operación de estado estable. No se puede actualizar. Más información: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Probe
terminationGracePeriodSeconds Duración opcional en segundos que la instancia de la aplicación debe finalizar correctamente. Puede reducirse en la solicitud de eliminación. El valor debe ser entero no negativo. El valor cero indica que se detiene inmediatamente a través de la señal de eliminación (sin oportunidad de apagar). Si este valor es nulo, se usará en su lugar el período de gracia predeterminado. El período de gracia es la duración en segundos después de que los procesos que se ejecutan en la instancia de la aplicación se envíen una señal de terminación y el tiempo en que los procesos se detengan forzosamente con una señal de eliminación. Establezca este valor más largo que el tiempo de limpieza esperado para el proceso. El valor predeterminado es de 90 segundos. int

DeploymentSettingsAddonConfigs

Name Description Value

DeploymentSettingsEnvironmentVariables

Name Description Value

ExecAction

Name Description Value
command El comando es la línea de comandos que se va a ejecutar dentro del contenedor, el directorio de trabajo del comando es raíz ('/') en el sistema de archivos del contenedor. El comando no se ejecuta dentro de un shell, por lo que las instrucciones de shell tradicionales ('|', etc.) no funcionarán. Para usar un shell, debe llamar explícitamente a ese shell. El estado de salida de 0 se trata como activo/correcto y no cero es incorrecto. string[]
type Tipo de la acción que se va a realizar para realizar la comprobación de estado. 'ExecAction' (obligatorio)

HttpGetAction

Name Description Value
path Ruta para el acceso en el servidor HTTP. string
scheme Esquema que se va a usar para conectarse al host. El valor predeterminado es HTTP.

Posibles valores de enumeración:
- "HTTP" significa que el esquema usado se http://
- "HTTPS" significa que el esquema usado se https://
'HTTP'
'HTTPS'
type Tipo de la acción que se va a realizar para realizar la comprobación de estado. 'HTTPGetAction' (obligatorio)

ImageRegistryCredential

Name Description Value
password Contraseña de la credencial del Registro de imágenes string
username Nombre de usuario de la credencial del Registro de imágenes string

JarUploadedUserSourceInfo

Name Description Value
jvmOptions Parámetro JVM string
relativePath Camino relativo del storage que almacena la fuente string
runtimeVersion Versión en tiempo de ejecución del archivo Jar string
type Tipo del origen cargado 'Tarro' (obligatorio)

NetCoreZipUploadedUserSourceInfo

Name Description Value
netCoreMainEntryPath La ruta hacia el ejecutable .NET relativa a la raíz zip string
relativePath Camino relativo del storage que almacena la fuente string
runtimeVersion Versión de ejecución del archivo .Net string
type Tipo del origen cargado 'NetCoreZip' (obligatorio)

Probe

Name Description Value
disableProbe Indica si el sondeo está deshabilitado. bool (obligatorio)
failureThreshold Se han producido errores consecutivos mínimos para que el sondeo se considere erróneo después de haber realizado correctamente. El valor mínimo es 1. int
initialDelaySeconds Número de segundos después de que se haya iniciado la instancia de aplicación antes de que se inicien los sondeos. Más información: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes int
periodSeconds Frecuencia (en segundos) para realizar el sondeo. El valor mínimo es 1. int
probeAction Acción del sondeo. ProbeAction
successThreshold Número mínimo de éxitos consecutivos para que el sondeo se considere correcto después de haber producido un error. Debe ser 1 para la vida y el inicio. El valor mínimo es 1. int
timeoutSeconds Número de segundos después del cual el sondeo agota el tiempo de espera. El valor mínimo es 1. int

ProbeAction

Name Description Value
type Establezca en "ExecAction" para el tipo ExecAction. Establezca en "HTTPGetAction" para el tipo HttpGetAction. Establezca en "TCPSocketAction" para el tipo TCPSocketAction. 'ExecAction'
'HTTPGetAction'
'TCPSocketAction' (obligatorio)

ResourceRequests

Name Description Value
cpu CPU necesaria. 1 núcleo se puede representar mediante 1 o 1000m. Debe ser de 500 m o 1 para el nivel Básico y {500m, 1, 2, 3, 4} para el nivel Estándar. string
memory Memoria necesaria. 1 GB se puede representar mediante 1Gi o 1024Mi. Debe ser {512Mi, 1Gi, 2Gi} para el nivel Básico y {512Mi, 1Gi, 2Gi, ..., 8Gi} para el nivel Estándar. string

Sku

Name Description Value
capacity Capacidad actual del recurso de destino int
name Nombre de la SKU string
tier Nivel de la SKU string

SourceUploadedUserSourceInfo

Name Description Value
artifactSelector Selector del artefacto que se va a usar para la implementación de proyectos de varios módulos. Debe ser
la ruta relativa al módulo/proyecto objetivo.
string
relativePath Camino relativo del storage que almacena la fuente string
runtimeVersion Versión en tiempo de ejecución del archivo de origen string
type Tipo del origen cargado 'Fuente' (obligatorio)

TCPSocketAction

Name Description Value
type Tipo de la acción que se va a realizar para realizar la comprobación de estado. 'TCPSocketAction' (obligatorio)

UserSourceInfo

Name Description Value
type Establezca en "BuildResult" para el tipo BuildResultUserSourceInfo. Establezca en "Container" para el tipo CustomContainerUserSourceInfo. Establezca en "Jar" para el tipo JarUploadedUserSourceInfo. Establezca en "NetCoreZip" para el tipo NetCoreZipUploadedUserSourceInfo. Establezca en "Source" para el tipo SourceUploadedUserSourceInfo. Establezca en "War" para el tipo WarUploadedUserSourceInfo. 'BuildResult'
'Container'
'Jar'
'NetCoreZip'
'Source'
'Guerra' (obligatorio)
version Versión del origen string

WarUploadedUserSourceInfo

Name Description Value
jvmOptions Parámetro JVM string
relativePath Camino relativo del storage que almacena la fuente string
runtimeVersion Versión en tiempo de ejecución del archivo de guerra string
serverVersion Versión del servidor, actualmente solo se admite Apache Tomcat. string
type Tipo del origen cargado 'Guerra' (obligatorio)

Ejemplos de uso

Ejemplos de Terraform

Un ejemplo básico de implementación de Spring Cloud Deployment.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westeurope"
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "Spring" {
  type      = "Microsoft.AppPlatform/Spring@2023-05-01-preview"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      zoneRedundant = false
    }
    sku = {
      name = "E0"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "app" {
  type      = "Microsoft.AppPlatform/Spring/apps@2023-05-01-preview"
  parent_id = azapi_resource.Spring.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      customPersistentDisks = [
      ]
      enableEndToEndTLS = false
      public            = false
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "deployment" {
  type      = "Microsoft.AppPlatform/Spring/apps/deployments@2023-05-01-preview"
  parent_id = azapi_resource.app.id
  name      = var.resource_name
  body = {
    properties = {
      deploymentSettings = {
        environmentVariables = {
        }
      }
      source = {
        customContainer = {
          args = [
          ]
          command = [
          ]
          containerImage    = "springio/gs-spring-boot-docker"
          languageFramework = ""
          server            = "docker.io"
        }
        type = "Container"
      }
    }
    sku = {
      capacity = 1
      name     = "E0"
      tier     = "Enterprise"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}