Microsoft.AppPlatform Spring/apps/deployments 01/12/2022

Observações

Nota: Azure Spring Apps Application Deployments (Microsoft.AppPlatform/Spring/apps/deployments) está agora obsoleto e será retirado a 31-05-2028. Consulte https://aka.ms/asaretirement para obter mais informações.

Definição de recurso Bicep

O tipo de recurso Spring/apps/deployments pode ser implantado com operações que visam:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.

Formato do recurso

Para criar um recurso Microsoft.AppPlatform/Spring/apps/deployments, adicione o seguinte Bicep ao seu modelo.

resource symbolicname 'Microsoft.AppPlatform/Spring/apps/deployments@2022-12-01' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    active: bool
    deploymentSettings: {
      addonConfigs: {
        {customized property}: any(...)
      }
      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 UserSourceInfo

Defina a propriedade type para especificar o tipo de objeto.

Para BuildResult, use:

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

Para o recipiente, use:

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

Para o frasco, 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'
}

Objetos ProbeAction

Defina a propriedade type para especificar o tipo de objeto.

Para ExecAction, use:

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

Para HTTPGetAction, use:

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

Para TCPSocketAction, use:

{
  type: 'TCPSocketAction'
}

Valores de propriedade

Microsoft.AppPlatform/Spring/apps/deployments

Name Description Value
name O nome do recurso string (obrigatório)
elemento principal No Bicep, podes especificar o recurso pai para um recurso filho. Você só precisa adicionar essa propriedade quando o recurso filho é declarado fora do recurso pai.

Para obter mais informações, consulte recurso filho fora do recurso pai.
Nome simbólico para recurso do tipo: Spring/apps
properties Propriedades do recurso de implantação DeploymentResourceProperties
sku Sku do recurso de implantação Sku

BuildResultUserSourceInfo

Name Description Value
buildResultId ID de recurso de um resultado de compilação bem-sucedido existente na mesma instância do Spring. cadeia (de caracteres)
tipo Tipo de fonte carregada 'BuildResult' (obrigatório)

ContainerProbeSettings

Name Description Value
disableProbe Indica se a sonda de vivacidade e prontidão desativa bool

CustomContainer

Name Description Value
args Argumentos para o ponto de entrada. O CMD da imagem do docker é usado se isso não for fornecido. string[]
command Matriz de ponto de entrada. Não executado dentro de um shell. O ENTRYPOINT da imagem do docker é usado se isso não for fornecido. string[]
containerImage Imagem de contêiner do contêiner personalizado. Isso deve ser na forma de <repositório>:<tag> sem o nome do servidor do registro cadeia (de caracteres)
imageRegistryCredential Credencial do registo de imagens ImageRegistryCredential
languageFramework Estrutura de linguagem da imagem de contêiner carregada cadeia (de caracteres)
servidor O nome do registro que contém a imagem do contêiner cadeia (de caracteres)

CustomContainerUserSourceInfo

Name Description Value
customContainer Carga útil personalizada do contentor CustomContainer
tipo Tipo de fonte carregada «Contentor» (obrigatório)

DeploymentResourceProperties

Name Description Value
active Indica se a implantação está ativa bool
deploymentSettings Configurações de implantação da implantação DeploymentSettings
origem Informações de origem carregadas da implantação. UserSourceInfo

DeploymentSettings

Name Description Value
addonConfigs Coleção de addons DeploymentSettingsAddonConfigs
containerProbeSettings Configurações da sonda de prontidão e vivacidade do contêiner ContainerProbeSettings
environmentVariables Recolha de variáveis de ambiente DeploymentSettingsEnvironmentVariables
livenessProbe Teste periódico da vivacidade da instância do aplicativo. A Instância do Aplicativo será reiniciada se a investigação falhar. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Probe
readinessProbe Investigação periódica da prontidão do serviço de Instância de Aplicativo. A Instância do Aplicativo será removida dos pontos de extremidade do serviço se a investigação falhar. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Probe
resourceRequests A quantidade de recursos solicitada para CPU e memória necessárias. Recomenda-se que usando este campo para representar a CPU e a memória necessárias, a cpu de campo antigo e o memoryInGB serão preteridos posteriormente. ResourceRequests
startupProbe StartupProbe indica que a Instância do Aplicativo foi inicializada com êxito. Se especificado, nenhum outro teste será executado até que isso seja concluído com êxito. Se esta sonda falhar, o Pod será reiniciado, como se a livenessProbe falhasse. Isso pode ser usado para fornecer parâmetros de teste diferentes no início do ciclo de vida de uma instância de aplicativo, quando pode levar muito tempo para carregar dados ou aquecer um cache, do que durante a operação em estado estacionário. Isso não pode ser atualizado. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Probe
terminationGracePeriodSeconds Duração opcional: em segundos, a Instância do Aplicativo precisa ser encerrada normalmente. Pode ser diminuído na solicitação de exclusão. O valor deve ser inteiro não negativo. O valor zero indica parar imediatamente através do sinal de morte (sem oportunidade de encerrar). Se esse valor for nulo, o período de carência padrão será usado. O período de carência é a duração em segundos após os processos em execução na Instância do Aplicativo receberem um sinal de encerramento e o tempo em que os processos são interrompidos à força com um sinal de eliminação. Defina esse valor por mais tempo do que o tempo de limpeza esperado para o seu processo. O padrão é 90 segundos. int

DeploymentSettingsAddonConfigs

Name Description Value

DeploymentSettingsEnvironmentVariables

Name Description Value

ExecAction

Name Description Value
command Command é a linha de comando a ser executada dentro do contêiner, o diretório de trabalho para o comando é root ('/') no sistema de arquivos do contêiner. O comando não é executado dentro de um shell, então as instruções tradicionais do shell ('|', etc) não funcionarão. Para usar um shell, você precisa chamar explicitamente para esse shell. O status de saída de 0 é tratado como vivo/saudável e diferente de zero não é íntegro. string[]
tipo O tipo de ação a ser executada para executar a verificação de integridade. 'ExecAction' (obrigatório)

HttpGetAction

Name Description Value
caminho Caminho de acesso no servidor HTTP. cadeia (de caracteres)
scheme Esquema a ser usado para se conectar ao host. O padrão é HTTP.

Valores possíveis de enum:
- "HTTP" significa que o esquema utilizado será http://
- "HTTPS" significa que o esquema utilizado será https://
'HTTP'
'HTTPS'
tipo O tipo de ação a ser executada para executar a verificação de integridade. 'HTTPGetAction' (obrigatório)

ImageRegistryCredential

Name Description Value
palavra-passe A senha da credencial de registro de imagem cadeia (de caracteres)
nome de utilizador O nome de usuário da credencial do registro de imagem cadeia (de caracteres)

JarUploadedUserSourceInfo

Name Description Value
jvmOptions Parâmetro JVM cadeia (de caracteres)
relativePath Caminho relativo do armazenamento que armazena a origem cadeia (de caracteres)
runtimeVersion Versão em tempo de execução do arquivo Jar cadeia (de caracteres)
tipo Tipo de fonte carregada 'Jar' (obrigatório)

NetCoreZipUploadedUserSourceInfo

Name Description Value
netCoreMainEntryPath O caminho para o executável .NET relativamente à raiz zip cadeia (de caracteres)
relativePath Caminho relativo do armazenamento que armazena a origem cadeia (de caracteres)
runtimeVersion Versão de tempo de execução do arquivo .Net cadeia (de caracteres)
tipo Tipo de fonte carregada 'NetCoreZip' (obrigatório)

Probe

Name Description Value
disableProbe Indique se a sonda está desativada. bool (obrigatório)
failureThreshold Mínimo de falhas consecutivas para que a sonda seja considerada falha após ter sido bem-sucedida. O valor mínimo é 1. int
initialDelaySeconds Número de segundos após o início da Instância do Aplicativo antes que os testes sejam iniciados. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes int
periodSeconds Com que frequência (em segundos) realizar a sonda. O valor mínimo é 1. int
probeAction A ação da sonda. ProbeAction
successThreshold Mínimo de sucessos consecutivos para que a sonda seja considerada bem-sucedida após ter falhado. Deve ser 1 para liveness e startup. O valor mínimo é 1. int
timeoutSeconds Número de segundos após os quais a sonda atinge o tempo limite. O valor mínimo é 1. int

ProbeAction

Name Description Value
tipo Defina como 'ExecAction' para o tipo ExecAction. Defina como 'HTTPGetAction' para o tipo HttpGetAction. Defina como 'TCPSocketAction' para o tipo TCPSocketAction. 'ExecAction'
'HTTPGetAction'
'TCPSocketAction' (obrigatório)

ResourceRequests

Name Description Value
cpu CPU necessária. 1 núcleo pode ser representado por 1 ou 1000m. Isso deve ser 500m ou 1 para a camada Basic e {500m, 1, 2, 3, 4} para a camada Standard. cadeia (de caracteres)
memória Memória necessária. 1 GB pode ser representado por 1Gi ou 1024Mi. Isso deve ser {512Mi, 1Gi, 2Gi} para a camada Basic e {512Mi, 1Gi, 2Gi, ..., 8Gi} para a camada Standard. cadeia (de caracteres)

Sku

Name Description Value
capacidade Capacidade atual do recurso de destino int
name Nome do Sku cadeia (de caracteres)
escalão Nível do Sku cadeia (de caracteres)

SourceUploadedUserSourceInfo

Name Description Value
artifactSelector Seletor para o artefato a ser usado para a implantação de projetos multimódulo. Isto deve ser
O caminho relativo para o módulo/projeto de destino.
cadeia (de caracteres)
relativePath Caminho relativo do armazenamento que armazena a origem cadeia (de caracteres)
runtimeVersion Versão de tempo de execução do arquivo de origem cadeia (de caracteres)
tipo Tipo de fonte carregada 'Fonte' (obrigatório)

TCPSocketAction

Name Description Value
tipo O tipo de ação a ser executada para executar a verificação de integridade. 'TCPSocketAction' (obrigatório)

UserSourceInfo

Name Description Value
tipo Defina como 'BuildResult' para o tipo BuildResultUserSourceInfo. Defina como 'Container' para o tipo CustomContainerUserSourceInfo. Defina como 'Jar' para o tipo JarUploadedUserSourceInfo. Defina como 'NetCoreZip' para digitar NetCoreZipUploadedUserSourceInfo. Defina como 'Source' para o tipo SourceUploadedUserSourceInfo. 'BuildResult'
'Container'
'Jar'
'NetCoreZip'
'Fonte' (obrigatório)
versão Versão da fonte cadeia (de caracteres)

Exemplos de uso

Amostras de Bicep

Um exemplo básico de implantação do 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'
  }
}

Exemplos de início rápido do Azure

Os seguintes modelos Azure Quickstart contêm Bicep exemplos para implementar este tipo de recurso.

Ficheiro Bicep Description
Implementar uma aplicação simples Azure Spring Apps microserviços Este modelo implementa uma aplicação simples de microserviços Azure Spring Apps para correr no Azure.

Definição de recurso de modelo ARM

O tipo de recurso Spring/apps/deployments pode ser implantado com operações que visam:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.

Formato do recurso

Para criar um recurso Microsoft.AppPlatform/Spring/apps/deployments, adicione o seguinte JSON ao seu modelo.

{
  "type": "Microsoft.AppPlatform/Spring/apps/deployments",
  "apiVersion": "2022-12-01",
  "name": "string",
  "properties": {
    "active": "bool",
    "deploymentSettings": {
      "addonConfigs": {
        "{customized property}": {}
      },
      "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 UserSourceInfo

Defina a propriedade type para especificar o tipo de objeto.

Para BuildResult, use:

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

Para o recipiente, use:

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

Para o frasco, 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"
}

Objetos ProbeAction

Defina a propriedade type para especificar o tipo de objeto.

Para ExecAction, use:

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

Para HTTPGetAction, use:

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

Para TCPSocketAction, use:

{
  "type": "TCPSocketAction"
}

Valores de propriedade

Microsoft.AppPlatform/Spring/apps/deployments

Name Description Value
apiVersion A versão api '2022-12-01'
name O nome do recurso string (obrigatório)
properties Propriedades do recurso de implantação DeploymentResourceProperties
sku Sku do recurso de implantação Sku
tipo O tipo de recurso 'Microsoft.AppPlatform/Spring/apps/deployments'

BuildResultUserSourceInfo

Name Description Value
buildResultId ID de recurso de um resultado de compilação bem-sucedido existente na mesma instância do Spring. cadeia (de caracteres)
tipo Tipo de fonte carregada 'BuildResult' (obrigatório)

ContainerProbeSettings

Name Description Value
disableProbe Indica se a sonda de vivacidade e prontidão desativa bool

CustomContainer

Name Description Value
args Argumentos para o ponto de entrada. O CMD da imagem do docker é usado se isso não for fornecido. string[]
command Matriz de ponto de entrada. Não executado dentro de um shell. O ENTRYPOINT da imagem do docker é usado se isso não for fornecido. string[]
containerImage Imagem de contêiner do contêiner personalizado. Isso deve ser na forma de <repositório>:<tag> sem o nome do servidor do registro cadeia (de caracteres)
imageRegistryCredential Credencial do registo de imagens ImageRegistryCredential
languageFramework Estrutura de linguagem da imagem de contêiner carregada cadeia (de caracteres)
servidor O nome do registro que contém a imagem do contêiner cadeia (de caracteres)

CustomContainerUserSourceInfo

Name Description Value
customContainer Carga útil personalizada do contentor CustomContainer
tipo Tipo de fonte carregada «Contentor» (obrigatório)

DeploymentResourceProperties

Name Description Value
active Indica se a implantação está ativa bool
deploymentSettings Configurações de implantação da implantação DeploymentSettings
origem Informações de origem carregadas da implantação. UserSourceInfo

DeploymentSettings

Name Description Value
addonConfigs Coleção de addons DeploymentSettingsAddonConfigs
containerProbeSettings Configurações da sonda de prontidão e vivacidade do contêiner ContainerProbeSettings
environmentVariables Recolha de variáveis de ambiente DeploymentSettingsEnvironmentVariables
livenessProbe Teste periódico da vivacidade da instância do aplicativo. A Instância do Aplicativo será reiniciada se a investigação falhar. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Probe
readinessProbe Investigação periódica da prontidão do serviço de Instância de Aplicativo. A Instância do Aplicativo será removida dos pontos de extremidade do serviço se a investigação falhar. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Probe
resourceRequests A quantidade de recursos solicitada para CPU e memória necessárias. Recomenda-se que usando este campo para representar a CPU e a memória necessárias, a cpu de campo antigo e o memoryInGB serão preteridos posteriormente. ResourceRequests
startupProbe StartupProbe indica que a Instância do Aplicativo foi inicializada com êxito. Se especificado, nenhum outro teste será executado até que isso seja concluído com êxito. Se esta sonda falhar, o Pod será reiniciado, como se a livenessProbe falhasse. Isso pode ser usado para fornecer parâmetros de teste diferentes no início do ciclo de vida de uma instância de aplicativo, quando pode levar muito tempo para carregar dados ou aquecer um cache, do que durante a operação em estado estacionário. Isso não pode ser atualizado. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Probe
terminationGracePeriodSeconds Duração opcional: em segundos, a Instância do Aplicativo precisa ser encerrada normalmente. Pode ser diminuído na solicitação de exclusão. O valor deve ser inteiro não negativo. O valor zero indica parar imediatamente através do sinal de morte (sem oportunidade de encerrar). Se esse valor for nulo, o período de carência padrão será usado. O período de carência é a duração em segundos após os processos em execução na Instância do Aplicativo receberem um sinal de encerramento e o tempo em que os processos são interrompidos à força com um sinal de eliminação. Defina esse valor por mais tempo do que o tempo de limpeza esperado para o seu processo. O padrão é 90 segundos. int

DeploymentSettingsAddonConfigs

Name Description Value

DeploymentSettingsEnvironmentVariables

Name Description Value

ExecAction

Name Description Value
command Command é a linha de comando a ser executada dentro do contêiner, o diretório de trabalho para o comando é root ('/') no sistema de arquivos do contêiner. O comando não é executado dentro de um shell, então as instruções tradicionais do shell ('|', etc) não funcionarão. Para usar um shell, você precisa chamar explicitamente para esse shell. O status de saída de 0 é tratado como vivo/saudável e diferente de zero não é íntegro. string[]
tipo O tipo de ação a ser executada para executar a verificação de integridade. 'ExecAction' (obrigatório)

HttpGetAction

Name Description Value
caminho Caminho de acesso no servidor HTTP. cadeia (de caracteres)
scheme Esquema a ser usado para se conectar ao host. O padrão é HTTP.

Valores possíveis de enum:
- "HTTP" significa que o esquema utilizado será http://
- "HTTPS" significa que o esquema utilizado será https://
'HTTP'
'HTTPS'
tipo O tipo de ação a ser executada para executar a verificação de integridade. 'HTTPGetAction' (obrigatório)

ImageRegistryCredential

Name Description Value
palavra-passe A senha da credencial de registro de imagem cadeia (de caracteres)
nome de utilizador O nome de usuário da credencial do registro de imagem cadeia (de caracteres)

JarUploadedUserSourceInfo

Name Description Value
jvmOptions Parâmetro JVM cadeia (de caracteres)
relativePath Caminho relativo do armazenamento que armazena a origem cadeia (de caracteres)
runtimeVersion Versão em tempo de execução do arquivo Jar cadeia (de caracteres)
tipo Tipo de fonte carregada 'Jar' (obrigatório)

NetCoreZipUploadedUserSourceInfo

Name Description Value
netCoreMainEntryPath O caminho para o executável .NET relativamente à raiz zip cadeia (de caracteres)
relativePath Caminho relativo do armazenamento que armazena a origem cadeia (de caracteres)
runtimeVersion Versão de tempo de execução do arquivo .Net cadeia (de caracteres)
tipo Tipo de fonte carregada 'NetCoreZip' (obrigatório)

Probe

Name Description Value
disableProbe Indique se a sonda está desativada. bool (obrigatório)
failureThreshold Mínimo de falhas consecutivas para que a sonda seja considerada falha após ter sido bem-sucedida. O valor mínimo é 1. int
initialDelaySeconds Número de segundos após o início da Instância do Aplicativo antes que os testes sejam iniciados. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes int
periodSeconds Com que frequência (em segundos) realizar a sonda. O valor mínimo é 1. int
probeAction A ação da sonda. ProbeAction
successThreshold Mínimo de sucessos consecutivos para que a sonda seja considerada bem-sucedida após ter falhado. Deve ser 1 para liveness e startup. O valor mínimo é 1. int
timeoutSeconds Número de segundos após os quais a sonda atinge o tempo limite. O valor mínimo é 1. int

ProbeAction

Name Description Value
tipo Defina como 'ExecAction' para o tipo ExecAction. Defina como 'HTTPGetAction' para o tipo HttpGetAction. Defina como 'TCPSocketAction' para o tipo TCPSocketAction. 'ExecAction'
'HTTPGetAction'
'TCPSocketAction' (obrigatório)

ResourceRequests

Name Description Value
cpu CPU necessária. 1 núcleo pode ser representado por 1 ou 1000m. Isso deve ser 500m ou 1 para a camada Basic e {500m, 1, 2, 3, 4} para a camada Standard. cadeia (de caracteres)
memória Memória necessária. 1 GB pode ser representado por 1Gi ou 1024Mi. Isso deve ser {512Mi, 1Gi, 2Gi} para a camada Basic e {512Mi, 1Gi, 2Gi, ..., 8Gi} para a camada Standard. cadeia (de caracteres)

Sku

Name Description Value
capacidade Capacidade atual do recurso de destino int
name Nome do Sku cadeia (de caracteres)
escalão Nível do Sku cadeia (de caracteres)

SourceUploadedUserSourceInfo

Name Description Value
artifactSelector Seletor para o artefato a ser usado para a implantação de projetos multimódulo. Isto deve ser
O caminho relativo para o módulo/projeto de destino.
cadeia (de caracteres)
relativePath Caminho relativo do armazenamento que armazena a origem cadeia (de caracteres)
runtimeVersion Versão de tempo de execução do arquivo de origem cadeia (de caracteres)
tipo Tipo de fonte carregada 'Fonte' (obrigatório)

TCPSocketAction

Name Description Value
tipo O tipo de ação a ser executada para executar a verificação de integridade. 'TCPSocketAction' (obrigatório)

UserSourceInfo

Name Description Value
tipo Defina como 'BuildResult' para o tipo BuildResultUserSourceInfo. Defina como 'Container' para o tipo CustomContainerUserSourceInfo. Defina como 'Jar' para o tipo JarUploadedUserSourceInfo. Defina como 'NetCoreZip' para digitar NetCoreZipUploadedUserSourceInfo. Defina como 'Source' para o tipo SourceUploadedUserSourceInfo. 'BuildResult'
'Container'
'Jar'
'NetCoreZip'
'Fonte' (obrigatório)
versão Versão da fonte cadeia (de caracteres)

Exemplos de uso

Modelos de Início Rápido do Azure

Os seguintes modelos Azure Quickstart implementam este tipo de recurso.

Template Description
Implementar uma aplicação simples Azure Spring Apps microserviços

Implementar para Azure
Este modelo implementa uma aplicação simples de microserviços Azure Spring Apps para correr no Azure.

Definição de recursos Terraform (provedor AzAPI)

O tipo de recurso Spring/apps/deployments pode ser implantado com operações que visam:

  • Grupos de recursos

Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.

Formato do recurso

Para criar um recurso Microsoft.AppPlatform/Spring/apps/deployments, adicione o seguinte Terraform ao seu modelo.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.AppPlatform/Spring/apps/deployments@2022-12-01"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      active = bool
      deploymentSettings = {
        addonConfigs = {
          {customized property} = ?
        }
        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 UserSourceInfo

Defina a propriedade type para especificar o tipo de objeto.

Para BuildResult, use:

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

Para o recipiente, use:

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

Para o frasco, 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"
}

Objetos ProbeAction

Defina a propriedade type para especificar o tipo de objeto.

Para ExecAction, use:

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

Para HTTPGetAction, use:

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

Para TCPSocketAction, use:

{
  type = "TCPSocketAction"
}

Valores de propriedade

Microsoft.AppPlatform/Spring/apps/deployments

Name Description Value
name O nome do recurso string (obrigatório)
parent_id A ID do recurso que é o pai para este recurso. ID do recurso do tipo: Spring/apps
properties Propriedades do recurso de implantação DeploymentResourceProperties
sku Sku do recurso de implantação Sku
tipo O tipo de recurso "Microsoft.AppPlatform/Spring/apps/deployments@2022-12-01"

BuildResultUserSourceInfo

Name Description Value
buildResultId ID de recurso de um resultado de compilação bem-sucedido existente na mesma instância do Spring. cadeia (de caracteres)
tipo Tipo de fonte carregada 'BuildResult' (obrigatório)

ContainerProbeSettings

Name Description Value
disableProbe Indica se a sonda de vivacidade e prontidão desativa bool

CustomContainer

Name Description Value
args Argumentos para o ponto de entrada. O CMD da imagem do docker é usado se isso não for fornecido. string[]
command Matriz de ponto de entrada. Não executado dentro de um shell. O ENTRYPOINT da imagem do docker é usado se isso não for fornecido. string[]
containerImage Imagem de contêiner do contêiner personalizado. Isso deve ser na forma de <repositório>:<tag> sem o nome do servidor do registro cadeia (de caracteres)
imageRegistryCredential Credencial do registo de imagens ImageRegistryCredential
languageFramework Estrutura de linguagem da imagem de contêiner carregada cadeia (de caracteres)
servidor O nome do registro que contém a imagem do contêiner cadeia (de caracteres)

CustomContainerUserSourceInfo

Name Description Value
customContainer Carga útil personalizada do contentor CustomContainer
tipo Tipo de fonte carregada «Contentor» (obrigatório)

DeploymentResourceProperties

Name Description Value
active Indica se a implantação está ativa bool
deploymentSettings Configurações de implantação da implantação DeploymentSettings
origem Informações de origem carregadas da implantação. UserSourceInfo

DeploymentSettings

Name Description Value
addonConfigs Coleção de addons DeploymentSettingsAddonConfigs
containerProbeSettings Configurações da sonda de prontidão e vivacidade do contêiner ContainerProbeSettings
environmentVariables Recolha de variáveis de ambiente DeploymentSettingsEnvironmentVariables
livenessProbe Teste periódico da vivacidade da instância do aplicativo. A Instância do Aplicativo será reiniciada se a investigação falhar. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Probe
readinessProbe Investigação periódica da prontidão do serviço de Instância de Aplicativo. A Instância do Aplicativo será removida dos pontos de extremidade do serviço se a investigação falhar. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Probe
resourceRequests A quantidade de recursos solicitada para CPU e memória necessárias. Recomenda-se que usando este campo para representar a CPU e a memória necessárias, a cpu de campo antigo e o memoryInGB serão preteridos posteriormente. ResourceRequests
startupProbe StartupProbe indica que a Instância do Aplicativo foi inicializada com êxito. Se especificado, nenhum outro teste será executado até que isso seja concluído com êxito. Se esta sonda falhar, o Pod será reiniciado, como se a livenessProbe falhasse. Isso pode ser usado para fornecer parâmetros de teste diferentes no início do ciclo de vida de uma instância de aplicativo, quando pode levar muito tempo para carregar dados ou aquecer um cache, do que durante a operação em estado estacionário. Isso não pode ser atualizado. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Probe
terminationGracePeriodSeconds Duração opcional: em segundos, a Instância do Aplicativo precisa ser encerrada normalmente. Pode ser diminuído na solicitação de exclusão. O valor deve ser inteiro não negativo. O valor zero indica parar imediatamente através do sinal de morte (sem oportunidade de encerrar). Se esse valor for nulo, o período de carência padrão será usado. O período de carência é a duração em segundos após os processos em execução na Instância do Aplicativo receberem um sinal de encerramento e o tempo em que os processos são interrompidos à força com um sinal de eliminação. Defina esse valor por mais tempo do que o tempo de limpeza esperado para o seu processo. O padrão é 90 segundos. int

DeploymentSettingsAddonConfigs

Name Description Value

DeploymentSettingsEnvironmentVariables

Name Description Value

ExecAction

Name Description Value
command Command é a linha de comando a ser executada dentro do contêiner, o diretório de trabalho para o comando é root ('/') no sistema de arquivos do contêiner. O comando não é executado dentro de um shell, então as instruções tradicionais do shell ('|', etc) não funcionarão. Para usar um shell, você precisa chamar explicitamente para esse shell. O status de saída de 0 é tratado como vivo/saudável e diferente de zero não é íntegro. string[]
tipo O tipo de ação a ser executada para executar a verificação de integridade. 'ExecAction' (obrigatório)

HttpGetAction

Name Description Value
caminho Caminho de acesso no servidor HTTP. cadeia (de caracteres)
scheme Esquema a ser usado para se conectar ao host. O padrão é HTTP.

Valores possíveis de enum:
- "HTTP" significa que o esquema utilizado será http://
- "HTTPS" significa que o esquema utilizado será https://
'HTTP'
'HTTPS'
tipo O tipo de ação a ser executada para executar a verificação de integridade. 'HTTPGetAction' (obrigatório)

ImageRegistryCredential

Name Description Value
palavra-passe A senha da credencial de registro de imagem cadeia (de caracteres)
nome de utilizador O nome de usuário da credencial do registro de imagem cadeia (de caracteres)

JarUploadedUserSourceInfo

Name Description Value
jvmOptions Parâmetro JVM cadeia (de caracteres)
relativePath Caminho relativo do armazenamento que armazena a origem cadeia (de caracteres)
runtimeVersion Versão em tempo de execução do arquivo Jar cadeia (de caracteres)
tipo Tipo de fonte carregada 'Jar' (obrigatório)

NetCoreZipUploadedUserSourceInfo

Name Description Value
netCoreMainEntryPath O caminho para o executável .NET relativamente à raiz zip cadeia (de caracteres)
relativePath Caminho relativo do armazenamento que armazena a origem cadeia (de caracteres)
runtimeVersion Versão de tempo de execução do arquivo .Net cadeia (de caracteres)
tipo Tipo de fonte carregada 'NetCoreZip' (obrigatório)

Probe

Name Description Value
disableProbe Indique se a sonda está desativada. bool (obrigatório)
failureThreshold Mínimo de falhas consecutivas para que a sonda seja considerada falha após ter sido bem-sucedida. O valor mínimo é 1. int
initialDelaySeconds Número de segundos após o início da Instância do Aplicativo antes que os testes sejam iniciados. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes int
periodSeconds Com que frequência (em segundos) realizar a sonda. O valor mínimo é 1. int
probeAction A ação da sonda. ProbeAction
successThreshold Mínimo de sucessos consecutivos para que a sonda seja considerada bem-sucedida após ter falhado. Deve ser 1 para liveness e startup. O valor mínimo é 1. int
timeoutSeconds Número de segundos após os quais a sonda atinge o tempo limite. O valor mínimo é 1. int

ProbeAction

Name Description Value
tipo Defina como 'ExecAction' para o tipo ExecAction. Defina como 'HTTPGetAction' para o tipo HttpGetAction. Defina como 'TCPSocketAction' para o tipo TCPSocketAction. 'ExecAction'
'HTTPGetAction'
'TCPSocketAction' (obrigatório)

ResourceRequests

Name Description Value
cpu CPU necessária. 1 núcleo pode ser representado por 1 ou 1000m. Isso deve ser 500m ou 1 para a camada Basic e {500m, 1, 2, 3, 4} para a camada Standard. cadeia (de caracteres)
memória Memória necessária. 1 GB pode ser representado por 1Gi ou 1024Mi. Isso deve ser {512Mi, 1Gi, 2Gi} para a camada Basic e {512Mi, 1Gi, 2Gi, ..., 8Gi} para a camada Standard. cadeia (de caracteres)

Sku

Name Description Value
capacidade Capacidade atual do recurso de destino int
name Nome do Sku cadeia (de caracteres)
escalão Nível do Sku cadeia (de caracteres)

SourceUploadedUserSourceInfo

Name Description Value
artifactSelector Seletor para o artefato a ser usado para a implantação de projetos multimódulo. Isto deve ser
O caminho relativo para o módulo/projeto de destino.
cadeia (de caracteres)
relativePath Caminho relativo do armazenamento que armazena a origem cadeia (de caracteres)
runtimeVersion Versão de tempo de execução do arquivo de origem cadeia (de caracteres)
tipo Tipo de fonte carregada 'Fonte' (obrigatório)

TCPSocketAction

Name Description Value
tipo O tipo de ação a ser executada para executar a verificação de integridade. 'TCPSocketAction' (obrigatório)

UserSourceInfo

Name Description Value
tipo Defina como 'BuildResult' para o tipo BuildResultUserSourceInfo. Defina como 'Container' para o tipo CustomContainerUserSourceInfo. Defina como 'Jar' para o tipo JarUploadedUserSourceInfo. Defina como 'NetCoreZip' para digitar NetCoreZipUploadedUserSourceInfo. Defina como 'Source' para o tipo SourceUploadedUserSourceInfo. 'BuildResult'
'Container'
'Jar'
'NetCoreZip'
'Fonte' (obrigatório)
versão Versão da fonte cadeia (de caracteres)

Exemplos de uso

Amostras Terraform

Um exemplo básico de implantação do 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    = ["*"]
}