Microsoft.AppPlatform Primavera/aplicativos/implantações 2022-05-01-visualização

Observações

Nota: Azure Spring Apps Application Deployments (Microsoft.AppPlatform/Spring/apps/deployments) está agora obsoleto e será aposentado em 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 direcionadas:

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

Formato de 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-05-01-preview' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    active: bool
    deploymentSettings: {
      addonConfigs: {
        {customized property}: {
          {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 de Contêiner, 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 de origem, 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

Nome Descrição Valor
nome O nome do recurso cadeia de caracteres (obrigatório)
pai No Bicep, você pode 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 o recurso do tipo: spring/apps
propriedades Propriedades do recurso de implantação deploymentResourceProperties
Sku Sku do recurso de implantação Sku

Perfil de addon

Nome Descrição Valor

BuildResultUserSourceInfo

Nome Descrição Valor
buildResultId ID de recurso de um resultado de build com êxito existente na mesma instância do Spring. cadeia
tipo Tipo da origem carregada 'BuildResult' (obrigatório)

Configurações de contêiner

Nome Descrição Valor
DisableProbe Indica se desabilitar a investigação de disponibilidade e preparação Bool

Contêiner personalizado

Nome Descrição Valor
argumentos Argumentos para o ponto de entrada. O CMD da imagem do Docker será usado se isso não for fornecido. cadeia de caracteres[]
comando Matriz de ponto de entrada. Não executado dentro de um shell. O ENTRYPOINT da imagem do Docker será usado se isso não for fornecido. cadeia de caracteres[]
imagem de contêiner Imagem de contêiner do contêiner personalizado. Isso deve estar na forma de <>de repositório:<marca> sem o nome do servidor do registro cadeia
imageRegistryCredential Credencial do registro de imagem ImageRegistryCredential
languageFramework Estrutura de linguagem da imagem de contêiner carregada cadeia
servidor O nome do registro que contém a imagem do contêiner cadeia

CustomContainerUserSourceInfo

Nome Descrição Valor
Contêiner personalizado Conteúdo do contêiner personalizado CustomContainer
tipo Tipo da origem carregada 'Contêiner' (obrigatório)

DeploymentResourceProperties

Nome Descrição Valor
ativo Indica se a implantação está ativa Bool
Configurações de implantação Configurações de implantação da Implantação Configurações de implantação
fonte Informações de origem carregadas da implantação. UserSourceInfo

Configurações de implantação

Nome Descrição Valor
addonConfigs Coleção de complementos DeploymentSettingsAddonConfigs
containerProbeSettings Configurações de investigação de disponibilidade e preparação do contêiner ContainerProbeSettings
variáveis de ambiente Coleção de variáveis de ambiente DeploymentSettingsEnvironmentVariables
livenessProbe Investigação periódica da atividade da Instância de 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 Investigação
prontidãoSonda Investigação periódica da preparação do serviço da Instância de Aplicativo. A Instância do Aplicativo será removida dos pontos de extremidade de serviço se a investigação falhar. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Investigação
solicitações de recursos A quantidade de recursos solicitada para cpu e memória necessárias. É recomendável que, usando esse campo para representar a CPU e a Memória necessárias, a CPU do campo antigo e o memoryInGB serão preteridos posteriormente. ResourceRequests
startup Probe StartupProbe indica que a Instância de Aplicativo foi inicializada com êxito. Se especificado, nenhuma outra investigação será executada até que isso seja concluído com êxito. Se essa investigação falhar, o Pod será reiniciado, assim como se o livenessProbe tivesse falhado. Isso pode ser usado para fornecer diferentes parâmetros de investigação 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 de estado estável. Isso não pode ser atualizado. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Investigação
terminationGracePeriodSeconds Duração opcional em segundos que a Instância de Aplicativo precisa terminar normalmente. Pode ser reduzido na solicitação de exclusão. O valor deve ser inteiro não negativo. O valor zero indica parar imediatamente por meio do sinal de eliminação (sem oportunidade de desligar). 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 de Aplicativo serem enviados um sinal de encerramento e a hora em que os processos são interrompidos à força com um sinal de encerramento. Defina esse valor por mais tempo do que o tempo de limpeza esperado para o processo. O padrão é 90 segundos. int

DeploymentSettingsAddonConfigs

Nome Descrição Valor

DeploymentSettingsEnvironmentVariables

Nome Descrição Valor

Execução

Nome Descrição Valor
comando O comando é a linha de comando a ser executada dentro do contêiner, o diretório de trabalho do comando é raiz ('/') no sistema de arquivos do contêiner. O comando não é executado dentro de um shell, portanto, as instruções de shell tradicionais ('|', etc) não funcionarão. Para usar um shell, você precisa chamar explicitamente esse shell. O status de saída de 0 é tratado como ativo/íntegro e não zero não está íntegro. cadeia de caracteres[]
tipo O tipo da ação a ser executada para executar a verificação de integridade. 'ExecAction' (obrigatório)

Ação HttpGetAction

Nome Descrição Valor
caminho Caminho para acesso no servidor HTTP. cadeia
esquema Esquema a ser usado para se conectar ao host. O padrão é HTTP.

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

Credencial de registro de imagem

Nome Descrição Valor
senha A senha da credencial do registro de imagem cadeia
nome de usuário O nome de usuário da credencial do registro de imagem cadeia

JarUploadedUserSourceInfo

Nome Descrição Valor
Opções jvm Parâmetro JVM cadeia
caminho relativo Caminho relativo do armazenamento que armazena a origem cadeia
runtimeVersion Versão de runtime do arquivo Jar cadeia
tipo Tipo da origem carregada 'Jar' (obrigatório)

NetCoreZipUploadedUserSourceInfo

Nome Descrição Valor
netCoreMainEntryPath O caminho para o executável .NET em relação à raiz zip cadeia
caminho relativo Caminho relativo do armazenamento que armazena a origem cadeia
runtimeVersion Versão de runtime do arquivo .Net cadeia
tipo Tipo da origem carregada 'NetCoreZip' (obrigatório)

Sonda

Nome Descrição Valor
DisableProbe Indique se a investigação está desabilitada. bool (obrigatório)
limite de falha Falhas consecutivas mínimas para que a investigação 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 de Aplicativo antes de as investigações serem iniciadas. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes int
periodSegundos Com que frequência (em segundos) executar a investigação. O valor mínimo é 1. int
sondaAção A ação da investigação. ProbeAction
successThreshold Sucessos mínimos consecutivos para que a investigação seja considerada bem-sucedida após ter falhado. Deve ser 1 para animação e inicialização. O valor mínimo é 1. int
timeoutSegundos Número de segundos após o qual a investigação atinge o tempo limite. O valor mínimo é 1. int

SondaAção

Nome Descrição Valor
tipo Defina como 'ExecAction' para o tipoExecAction . Defina como 'HTTPGetAction' para o tipo httpGetAction. Defina como 'TCPSocketAction' para o tipo TCPSocketAction . 'Ação Executiva'
'HTTPGetAction'
'TCPSocketAction' (obrigatório)

Solicitações de recursos

Nome Descrição Valor
CPU CPU necessária. Um núcleo pode ser representado por 1 ou 1000m. Isso deve ser de 500m ou 1 para a camada Básica e {500m, 1, 2, 3, 4} para a camada Standard. cadeia
memória Memória necessária. 1 GB pode ser representado por 1Gi ou 1024Mi. Isso deve ser {512Mi, 1Gi, 2Gi} para a camada Básica e {512Mi, 1Gi, 2Gi, ..., 8Gi} para a camada Standard. cadeia

Sku

Nome Descrição Valor
capacidade Capacidade atual do recurso de destino int
nome Nome do Sku cadeia
nível Camada do Sku cadeia

SourceUploadedUserSourceInfo

Nome Descrição Valor
seletor de artefatos Seletor para o artefato a ser usado para a implantação para projetos de vários módulos. Isso deve ser
o caminho relativo para o módulo/projeto de destino.
cadeia
caminho relativo Caminho relativo do armazenamento que armazena a origem cadeia
runtimeVersion Versão de runtime do arquivo de origem cadeia
tipo Tipo da origem carregada 'Origem' (obrigatório)

Ação TCPSocket

Nome Descrição Valor
tipo O tipo da ação a ser executada para executar a verificação de integridade. 'TCPSocketAction' (obrigatório)

UserSourceInfo

Nome Descrição Valor
tipo Defina como 'BuildResult' para o tipo BuildResultUserSourceInfo. Defina como 'Contêiner' para o tipo CustomContainerUserSourceInfo . Defina como 'Jar' para o tipo JarUploadedUserSourceInfo . Defina como 'NetCoreZip' para o tipo NetCoreZipUploadedUserSourceInfo. Defina como 'Source' para o tipo SourceUploadedUserSourceInfo. 'Resultado de construção'
'Contêiner'
'Jarro'
'NetCoreZip'
'Origem' (obrigatório)
versão Versão da origem cadeia

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 implantar esse tipo de recurso.

Arquivo Bicep Descrição
Implante uma aplicação simples de microserviço Azure Spring Apps Este modelo implanta uma aplicação simples de microserviços Azure Spring Apps para rodar no Azure.

Definição de recurso de modelo do ARM

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

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

Formato de recurso

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

{
  "type": "Microsoft.AppPlatform/Spring/apps/deployments",
  "apiVersion": "2022-05-01-preview",
  "name": "string",
  "properties": {
    "active": "bool",
    "deploymentSettings": {
      "addonConfigs": {
        "{customized property}": {
          "{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 de Contêiner, 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 de origem, 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

Nome Descrição Valor
apiVersion A versão da API '2022-05-01-preview'
nome O nome do recurso cadeia de caracteres (obrigatório)
propriedades 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'

Perfil de addon

Nome Descrição Valor

BuildResultUserSourceInfo

Nome Descrição Valor
buildResultId ID de recurso de um resultado de build com êxito existente na mesma instância do Spring. cadeia
tipo Tipo da origem carregada 'BuildResult' (obrigatório)

Configurações de contêiner

Nome Descrição Valor
DisableProbe Indica se desabilitar a investigação de disponibilidade e preparação Bool

Contêiner personalizado

Nome Descrição Valor
argumentos Argumentos para o ponto de entrada. O CMD da imagem do Docker será usado se isso não for fornecido. cadeia de caracteres[]
comando Matriz de ponto de entrada. Não executado dentro de um shell. O ENTRYPOINT da imagem do Docker será usado se isso não for fornecido. cadeia de caracteres[]
imagem de contêiner Imagem de contêiner do contêiner personalizado. Isso deve estar na forma de <>de repositório:<marca> sem o nome do servidor do registro cadeia
imageRegistryCredential Credencial do registro de imagem ImageRegistryCredential
languageFramework Estrutura de linguagem da imagem de contêiner carregada cadeia
servidor O nome do registro que contém a imagem do contêiner cadeia

CustomContainerUserSourceInfo

Nome Descrição Valor
Contêiner personalizado Conteúdo do contêiner personalizado CustomContainer
tipo Tipo da origem carregada 'Contêiner' (obrigatório)

DeploymentResourceProperties

Nome Descrição Valor
ativo Indica se a implantação está ativa Bool
Configurações de implantação Configurações de implantação da Implantação Configurações de implantação
fonte Informações de origem carregadas da implantação. UserSourceInfo

Configurações de implantação

Nome Descrição Valor
addonConfigs Coleção de complementos DeploymentSettingsAddonConfigs
containerProbeSettings Configurações de investigação de disponibilidade e preparação do contêiner ContainerProbeSettings
variáveis de ambiente Coleção de variáveis de ambiente DeploymentSettingsEnvironmentVariables
livenessProbe Investigação periódica da atividade da Instância de 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 Investigação
prontidãoSonda Investigação periódica da preparação do serviço da Instância de Aplicativo. A Instância do Aplicativo será removida dos pontos de extremidade de serviço se a investigação falhar. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Investigação
solicitações de recursos A quantidade de recursos solicitada para cpu e memória necessárias. É recomendável que, usando esse campo para representar a CPU e a Memória necessárias, a CPU do campo antigo e o memoryInGB serão preteridos posteriormente. ResourceRequests
startup Probe StartupProbe indica que a Instância de Aplicativo foi inicializada com êxito. Se especificado, nenhuma outra investigação será executada até que isso seja concluído com êxito. Se essa investigação falhar, o Pod será reiniciado, assim como se o livenessProbe tivesse falhado. Isso pode ser usado para fornecer diferentes parâmetros de investigação 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 de estado estável. Isso não pode ser atualizado. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Investigação
terminationGracePeriodSeconds Duração opcional em segundos que a Instância de Aplicativo precisa terminar normalmente. Pode ser reduzido na solicitação de exclusão. O valor deve ser inteiro não negativo. O valor zero indica parar imediatamente por meio do sinal de eliminação (sem oportunidade de desligar). 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 de Aplicativo serem enviados um sinal de encerramento e a hora em que os processos são interrompidos à força com um sinal de encerramento. Defina esse valor por mais tempo do que o tempo de limpeza esperado para o processo. O padrão é 90 segundos. int

DeploymentSettingsAddonConfigs

Nome Descrição Valor

DeploymentSettingsEnvironmentVariables

Nome Descrição Valor

Execução

Nome Descrição Valor
comando O comando é a linha de comando a ser executada dentro do contêiner, o diretório de trabalho do comando é raiz ('/') no sistema de arquivos do contêiner. O comando não é executado dentro de um shell, portanto, as instruções de shell tradicionais ('|', etc) não funcionarão. Para usar um shell, você precisa chamar explicitamente esse shell. O status de saída de 0 é tratado como ativo/íntegro e não zero não está íntegro. cadeia de caracteres[]
tipo O tipo da ação a ser executada para executar a verificação de integridade. 'ExecAction' (obrigatório)

Ação HttpGetAction

Nome Descrição Valor
caminho Caminho para acesso no servidor HTTP. cadeia
esquema Esquema a ser usado para se conectar ao host. O padrão é HTTP.

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

Credencial de registro de imagem

Nome Descrição Valor
senha A senha da credencial do registro de imagem cadeia
nome de usuário O nome de usuário da credencial do registro de imagem cadeia

JarUploadedUserSourceInfo

Nome Descrição Valor
Opções jvm Parâmetro JVM cadeia
caminho relativo Caminho relativo do armazenamento que armazena a origem cadeia
runtimeVersion Versão de runtime do arquivo Jar cadeia
tipo Tipo da origem carregada 'Jar' (obrigatório)

NetCoreZipUploadedUserSourceInfo

Nome Descrição Valor
netCoreMainEntryPath O caminho para o executável .NET em relação à raiz zip cadeia
caminho relativo Caminho relativo do armazenamento que armazena a origem cadeia
runtimeVersion Versão de runtime do arquivo .Net cadeia
tipo Tipo da origem carregada 'NetCoreZip' (obrigatório)

Sonda

Nome Descrição Valor
DisableProbe Indique se a investigação está desabilitada. bool (obrigatório)
limite de falha Falhas consecutivas mínimas para que a investigação 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 de Aplicativo antes de as investigações serem iniciadas. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes int
periodSegundos Com que frequência (em segundos) executar a investigação. O valor mínimo é 1. int
sondaAção A ação da investigação. ProbeAction
successThreshold Sucessos mínimos consecutivos para que a investigação seja considerada bem-sucedida após ter falhado. Deve ser 1 para animação e inicialização. O valor mínimo é 1. int
timeoutSegundos Número de segundos após o qual a investigação atinge o tempo limite. O valor mínimo é 1. int

SondaAção

Nome Descrição Valor
tipo Defina como 'ExecAction' para o tipoExecAction . Defina como 'HTTPGetAction' para o tipo httpGetAction. Defina como 'TCPSocketAction' para o tipo TCPSocketAction . 'Ação Executiva'
'HTTPGetAction'
'TCPSocketAction' (obrigatório)

Solicitações de recursos

Nome Descrição Valor
CPU CPU necessária. Um núcleo pode ser representado por 1 ou 1000m. Isso deve ser de 500m ou 1 para a camada Básica e {500m, 1, 2, 3, 4} para a camada Standard. cadeia
memória Memória necessária. 1 GB pode ser representado por 1Gi ou 1024Mi. Isso deve ser {512Mi, 1Gi, 2Gi} para a camada Básica e {512Mi, 1Gi, 2Gi, ..., 8Gi} para a camada Standard. cadeia

Sku

Nome Descrição Valor
capacidade Capacidade atual do recurso de destino int
nome Nome do Sku cadeia
nível Camada do Sku cadeia

SourceUploadedUserSourceInfo

Nome Descrição Valor
seletor de artefatos Seletor para o artefato a ser usado para a implantação para projetos de vários módulos. Isso deve ser
o caminho relativo para o módulo/projeto de destino.
cadeia
caminho relativo Caminho relativo do armazenamento que armazena a origem cadeia
runtimeVersion Versão de runtime do arquivo de origem cadeia
tipo Tipo da origem carregada 'Origem' (obrigatório)

Ação TCPSocket

Nome Descrição Valor
tipo O tipo da ação a ser executada para executar a verificação de integridade. 'TCPSocketAction' (obrigatório)

UserSourceInfo

Nome Descrição Valor
tipo Defina como 'BuildResult' para o tipo BuildResultUserSourceInfo. Defina como 'Contêiner' para o tipo CustomContainerUserSourceInfo . Defina como 'Jar' para o tipo JarUploadedUserSourceInfo . Defina como 'NetCoreZip' para o tipo NetCoreZipUploadedUserSourceInfo. Defina como 'Source' para o tipo SourceUploadedUserSourceInfo. 'Resultado de construção'
'Contêiner'
'Jarro'
'NetCoreZip'
'Origem' (obrigatório)
versão Versão da origem cadeia

Exemplos de uso

Modelos de Início Rápido do Azure

Os seguintes modelos Azure Quickstart implantam esse tipo de recurso.

Modelo Descrição
Implante uma aplicação simples de microserviço Azure Spring Apps

Implantar para Azure
Este modelo implanta uma aplicação simples de microserviços Azure Spring Apps para rodar no Azure.

Definição de recurso do Terraform (provedor de AzAPI)

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

  • Grupos de recursos

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

Formato de recurso

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

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.AppPlatform/Spring/apps/deployments@2022-05-01-preview"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      active = bool
      deploymentSettings = {
        addonConfigs = {
          {customized property} = {
            {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 de Contêiner, 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 de origem, 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

Nome Descrição Valor
nome O nome do recurso cadeia de caracteres (obrigatório)
parent_id A ID do recurso que é o pai desse recurso. ID do recurso do tipo: Spring/apps
propriedades 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-05-01-preview"

Perfil de addon

Nome Descrição Valor

BuildResultUserSourceInfo

Nome Descrição Valor
buildResultId ID de recurso de um resultado de build com êxito existente na mesma instância do Spring. cadeia
tipo Tipo da origem carregada 'BuildResult' (obrigatório)

Configurações de contêiner

Nome Descrição Valor
DisableProbe Indica se desabilitar a investigação de disponibilidade e preparação Bool

Contêiner personalizado

Nome Descrição Valor
argumentos Argumentos para o ponto de entrada. O CMD da imagem do Docker será usado se isso não for fornecido. cadeia de caracteres[]
comando Matriz de ponto de entrada. Não executado dentro de um shell. O ENTRYPOINT da imagem do Docker será usado se isso não for fornecido. cadeia de caracteres[]
imagem de contêiner Imagem de contêiner do contêiner personalizado. Isso deve estar na forma de <>de repositório:<marca> sem o nome do servidor do registro cadeia
imageRegistryCredential Credencial do registro de imagem ImageRegistryCredential
languageFramework Estrutura de linguagem da imagem de contêiner carregada cadeia
servidor O nome do registro que contém a imagem do contêiner cadeia

CustomContainerUserSourceInfo

Nome Descrição Valor
Contêiner personalizado Conteúdo do contêiner personalizado CustomContainer
tipo Tipo da origem carregada 'Contêiner' (obrigatório)

DeploymentResourceProperties

Nome Descrição Valor
ativo Indica se a implantação está ativa Bool
Configurações de implantação Configurações de implantação da Implantação Configurações de implantação
fonte Informações de origem carregadas da implantação. UserSourceInfo

Configurações de implantação

Nome Descrição Valor
addonConfigs Coleção de complementos DeploymentSettingsAddonConfigs
containerProbeSettings Configurações de investigação de disponibilidade e preparação do contêiner ContainerProbeSettings
variáveis de ambiente Coleção de variáveis de ambiente DeploymentSettingsEnvironmentVariables
livenessProbe Investigação periódica da atividade da Instância de 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 Investigação
prontidãoSonda Investigação periódica da preparação do serviço da Instância de Aplicativo. A Instância do Aplicativo será removida dos pontos de extremidade de serviço se a investigação falhar. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Investigação
solicitações de recursos A quantidade de recursos solicitada para cpu e memória necessárias. É recomendável que, usando esse campo para representar a CPU e a Memória necessárias, a CPU do campo antigo e o memoryInGB serão preteridos posteriormente. ResourceRequests
startup Probe StartupProbe indica que a Instância de Aplicativo foi inicializada com êxito. Se especificado, nenhuma outra investigação será executada até que isso seja concluído com êxito. Se essa investigação falhar, o Pod será reiniciado, assim como se o livenessProbe tivesse falhado. Isso pode ser usado para fornecer diferentes parâmetros de investigação 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 de estado estável. Isso não pode ser atualizado. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Investigação
terminationGracePeriodSeconds Duração opcional em segundos que a Instância de Aplicativo precisa terminar normalmente. Pode ser reduzido na solicitação de exclusão. O valor deve ser inteiro não negativo. O valor zero indica parar imediatamente por meio do sinal de eliminação (sem oportunidade de desligar). 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 de Aplicativo serem enviados um sinal de encerramento e a hora em que os processos são interrompidos à força com um sinal de encerramento. Defina esse valor por mais tempo do que o tempo de limpeza esperado para o processo. O padrão é 90 segundos. int

DeploymentSettingsAddonConfigs

Nome Descrição Valor

DeploymentSettingsEnvironmentVariables

Nome Descrição Valor

Execução

Nome Descrição Valor
comando O comando é a linha de comando a ser executada dentro do contêiner, o diretório de trabalho do comando é raiz ('/') no sistema de arquivos do contêiner. O comando não é executado dentro de um shell, portanto, as instruções de shell tradicionais ('|', etc) não funcionarão. Para usar um shell, você precisa chamar explicitamente esse shell. O status de saída de 0 é tratado como ativo/íntegro e não zero não está íntegro. cadeia de caracteres[]
tipo O tipo da ação a ser executada para executar a verificação de integridade. 'ExecAction' (obrigatório)

Ação HttpGetAction

Nome Descrição Valor
caminho Caminho para acesso no servidor HTTP. cadeia
esquema Esquema a ser usado para se conectar ao host. O padrão é HTTP.

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

Credencial de registro de imagem

Nome Descrição Valor
senha A senha da credencial do registro de imagem cadeia
nome de usuário O nome de usuário da credencial do registro de imagem cadeia

JarUploadedUserSourceInfo

Nome Descrição Valor
Opções jvm Parâmetro JVM cadeia
caminho relativo Caminho relativo do armazenamento que armazena a origem cadeia
runtimeVersion Versão de runtime do arquivo Jar cadeia
tipo Tipo da origem carregada 'Jar' (obrigatório)

NetCoreZipUploadedUserSourceInfo

Nome Descrição Valor
netCoreMainEntryPath O caminho para o executável .NET em relação à raiz zip cadeia
caminho relativo Caminho relativo do armazenamento que armazena a origem cadeia
runtimeVersion Versão de runtime do arquivo .Net cadeia
tipo Tipo da origem carregada 'NetCoreZip' (obrigatório)

Sonda

Nome Descrição Valor
DisableProbe Indique se a investigação está desabilitada. bool (obrigatório)
limite de falha Falhas consecutivas mínimas para que a investigação 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 de Aplicativo antes de as investigações serem iniciadas. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes int
periodSegundos Com que frequência (em segundos) executar a investigação. O valor mínimo é 1. int
sondaAção A ação da investigação. ProbeAction
successThreshold Sucessos mínimos consecutivos para que a investigação seja considerada bem-sucedida após ter falhado. Deve ser 1 para animação e inicialização. O valor mínimo é 1. int
timeoutSegundos Número de segundos após o qual a investigação atinge o tempo limite. O valor mínimo é 1. int

SondaAção

Nome Descrição Valor
tipo Defina como 'ExecAction' para o tipoExecAction . Defina como 'HTTPGetAction' para o tipo httpGetAction. Defina como 'TCPSocketAction' para o tipo TCPSocketAction . 'Ação Executiva'
'HTTPGetAction'
'TCPSocketAction' (obrigatório)

Solicitações de recursos

Nome Descrição Valor
CPU CPU necessária. Um núcleo pode ser representado por 1 ou 1000m. Isso deve ser de 500m ou 1 para a camada Básica e {500m, 1, 2, 3, 4} para a camada Standard. cadeia
memória Memória necessária. 1 GB pode ser representado por 1Gi ou 1024Mi. Isso deve ser {512Mi, 1Gi, 2Gi} para a camada Básica e {512Mi, 1Gi, 2Gi, ..., 8Gi} para a camada Standard. cadeia

Sku

Nome Descrição Valor
capacidade Capacidade atual do recurso de destino int
nome Nome do Sku cadeia
nível Camada do Sku cadeia

SourceUploadedUserSourceInfo

Nome Descrição Valor
seletor de artefatos Seletor para o artefato a ser usado para a implantação para projetos de vários módulos. Isso deve ser
o caminho relativo para o módulo/projeto de destino.
cadeia
caminho relativo Caminho relativo do armazenamento que armazena a origem cadeia
runtimeVersion Versão de runtime do arquivo de origem cadeia
tipo Tipo da origem carregada 'Origem' (obrigatório)

Ação TCPSocket

Nome Descrição Valor
tipo O tipo da ação a ser executada para executar a verificação de integridade. 'TCPSocketAction' (obrigatório)

UserSourceInfo

Nome Descrição Valor
tipo Defina como 'BuildResult' para o tipo BuildResultUserSourceInfo. Defina como 'Contêiner' para o tipo CustomContainerUserSourceInfo . Defina como 'Jar' para o tipo JarUploadedUserSourceInfo . Defina como 'NetCoreZip' para o tipo NetCoreZipUploadedUserSourceInfo. Defina como 'Source' para o tipo SourceUploadedUserSourceInfo. 'Resultado de construção'
'Contêiner'
'Jarro'
'NetCoreZip'
'Origem' (obrigatório)
versão Versão da origem cadeia

Exemplos de uso

Exemplos do 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    = ["*"]
}