Microsoft. Sql servers/jobAgents/jobs/steps 2021-08-01-preview

Definição de recurso Bicep

O tipo de recurso servers/jobAgents/jobs/steps pode ser implantado com operações direcionadas:

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

Exemplos de uso

Amostras do Bicep

Um exemplo básico de implantação do Elastic Job Step.

param location string = 'westus'
@secure()
@description('The administrator login password for the SQL server')
param administratorLoginPassword string
@secure()
@description('The password for the SQL job credential')
param jobCredentialPassword string
param resourceName string = 'acctest0001'

var maintenanceConfigId = '/subscriptions/${subscription().subscriptionId}/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default'

resource server 'Microsoft.Sql/servers@2023-08-01-preview' = {
  name: '${resourceName}-server'
  location: location
  properties: {
    administratorLogin: '4dm1n157r470r'
    administratorLoginPassword: administratorLoginPassword
    minimalTlsVersion: '1.2'
    publicNetworkAccess: 'Enabled'
    restrictOutboundNetworkAccess: 'Disabled'
    version: '12.0'
  }
}

resource jobAgent 'Microsoft.Sql/servers/jobAgents@2023-08-01-preview' = {
  name: '${resourceName}-job-agent'
  location: location
  parent: server
  sku: {
    name: 'JA100'
  }
  properties: {
    databaseId: database.id
  }
}

resource credential 'Microsoft.Sql/servers/jobAgents/credentials@2023-08-01-preview' = {
  name: '${resourceName}-job-credential'
  parent: jobAgent
  properties: {
    password: jobCredentialPassword
    username: 'testusername'
  }
}

resource job 'Microsoft.Sql/servers/jobAgents/jobs@2023-08-01-preview' = {
  name: '${resourceName}-job'
  parent: jobAgent
  properties: {
    description: ''
  }
}

resource targetGroup 'Microsoft.Sql/servers/jobAgents/targetGroups@2023-08-01-preview' = {
  name: '${resourceName}-target-group'
  parent: jobAgent
  properties: {
    members: []
  }
}

resource step 'Microsoft.Sql/servers/jobAgents/jobs/steps@2023-08-01-preview' = {
  name: '${resourceName}-job-step'
  parent: job
  properties: {
    action: {
      value: '''IF NOT EXISTS (SELECT * FROM sys.objects WHERE [name] = N''Person'')
  CREATE TABLE Person (
    FirstName NVARCHAR(50),
    LastName NVARCHAR(50),
  );
'''
    }
    credential: credential.id
    executionOptions: {
      initialRetryIntervalSeconds: 1
      maximumRetryIntervalSeconds: 120
      retryAttempts: 10
      retryIntervalBackoffMultiplier: 2
      timeoutSeconds: 43200
    }
    stepId: 1
    targetGroup: targetGroup.id
  }
}

resource database 'Microsoft.Sql/servers/databases@2023-08-01-preview' = {
  name: '${resourceName}-db'
  location: location
  parent: server
  sku: {
    name: 'S1'
  }
  properties: {
    collation: 'SQL_Latin1_General_CP1_CI_AS'
    createMode: 'Default'
    maintenanceConfigurationId: maintenanceConfigId
  }
}

Formato do recurso

Para criar uma Microsoft. Recurso Sql/servers/jobAgents/jobs/steps, adicione o seguinte Bicep ao seu modelo.

resource symbolicname 'Microsoft.Sql/servers/jobAgents/jobs/steps@2021-08-01-preview' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    action: {
      source: 'string'
      type: 'string'
      value: 'string'
    }
    credential: 'string'
    executionOptions: {
      initialRetryIntervalSeconds: int
      maximumRetryIntervalSeconds: int
      retryAttempts: int
      retryIntervalBackoffMultiplier: int
      timeoutSeconds: int
    }
    output: {
      credential: 'string'
      databaseName: 'string'
      resourceGroupName: 'string'
      schemaName: 'string'
      serverName: 'string'
      subscriptionId: 'string'
      tableName: 'string'
      type: 'string'
    }
    stepId: int
    targetGroup: 'string'
  }
}

Valores de propriedade

Microsoft. SQL/servidores/jobAgents/jobs/steps

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 o recurso do tipo: servidores/jobAgents/jobs
properties Propriedades do recurso. JobStepProperties

JobStepAction

Name Description Value
origem A origem da ação a ser executada. 'Inline'
tipo Tipo de ação sendo executada pela etapa de trabalho. 'TSql'
value O valor da ação, por exemplo, o texto do script T-SQL a ser executado. string (obrigatório)

JobStepExecutionOptions

Name Description Value
initialRetryIntervalSeconds Atraso inicial entre novas tentativas para a execução da etapa do trabalho. int
maximumRetryIntervalSeconds A quantidade máxima de tempo de espera entre novas tentativas para a execução da etapa de trabalho. int
retryAttempts Número máximo de vezes que a etapa do trabalho será repetida se a primeira tentativa falhar. int
retryIntervalBackoffMultiplier O multiplicador de backoff para o tempo entre as tentativas. int
timeoutSeconds Tempo limite de execução para a etapa de trabalho. int

JobStepOutput

Name Description Value
credencial A ID do recurso da credencial a ser usada para se conectar ao destino de saída. string (obrigatório)
databaseName O banco de dados de destino de saída. string (obrigatório)
resourceGroupName O grupo de recursos de destino de saída. cadeia (de caracteres)
schemaName O esquema de destino de saída. cadeia (de caracteres)
serverName O nome do servidor de destino de saída. string (obrigatório)
subscriptionId A ID da assinatura de destino de saída. string

Constraints:
Comprimento mínimo = 36
Comprimento máximo = 36
Padrão = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
tableName A tabela de destino de saída. string (obrigatório)
tipo O tipo de destino de saída. 'SqlDatabase'

JobStepProperties

Name Description Value
ação A carga útil da ação da etapa de trabalho. JobStepAction (obrigatório)
credencial O ID do recurso da credencial de trabalho que será usada para se conectar aos destinos. string (obrigatório)
executionOptions Opções de execução para a etapa do trabalho. JobStepExecutionOptions
output Propriedades de destino de saída da etapa de trabalho. JobStepOutput
stepId O índice da etapa do trabalho dentro do trabalho. Se não for especificado ao criar a etapa de trabalho, ela será criada como a última etapa. Se não for especificado ao atualizar a etapa de trabalho, a ID da etapa não será modificada. int
targetGroup A ID do recurso do grupo-alvo no qual a etapa de trabalho será executada. string (obrigatório)

Definição de recurso de modelo ARM

O tipo de recurso servers/jobAgents/jobs/steps pode ser implantado com operações direcionadas:

Exemplos de uso

Formato do recurso

Para criar uma Microsoft. Sql/servers/jobAgents/jobs/steps, adicione o seguinte JSON ao seu modelo.

{
  "type": "Microsoft.Sql/servers/jobAgents/jobs/steps",
  "apiVersion": "2021-08-01-preview",
  "name": "string",
  "properties": {
    "action": {
      "source": "string",
      "type": "string",
      "value": "string"
    },
    "credential": "string",
    "executionOptions": {
      "initialRetryIntervalSeconds": "int",
      "maximumRetryIntervalSeconds": "int",
      "retryAttempts": "int",
      "retryIntervalBackoffMultiplier": "int",
      "timeoutSeconds": "int"
    },
    "output": {
      "credential": "string",
      "databaseName": "string",
      "resourceGroupName": "string",
      "schemaName": "string",
      "serverName": "string",
      "subscriptionId": "string",
      "tableName": "string",
      "type": "string"
    },
    "stepId": "int",
    "targetGroup": "string"
  }
}

Valores de propriedade

Microsoft. SQL/servidores/jobAgents/jobs/steps

Name Description Value
apiVersion A versão api '2021-08-01-preview'
name O nome do recurso string (obrigatório)
properties Propriedades do recurso. JobStepProperties
tipo O tipo de recurso 'Microsoft. Sql/servidores/jobAgents/jobs/steps

JobStepAction

Name Description Value
origem A origem da ação a ser executada. 'Inline'
tipo Tipo de ação sendo executada pela etapa de trabalho. 'TSql'
value O valor da ação, por exemplo, o texto do script T-SQL a ser executado. string (obrigatório)

JobStepExecutionOptions

Name Description Value
initialRetryIntervalSeconds Atraso inicial entre novas tentativas para a execução da etapa do trabalho. int
maximumRetryIntervalSeconds A quantidade máxima de tempo de espera entre novas tentativas para a execução da etapa de trabalho. int
retryAttempts Número máximo de vezes que a etapa do trabalho será repetida se a primeira tentativa falhar. int
retryIntervalBackoffMultiplier O multiplicador de backoff para o tempo entre as tentativas. int
timeoutSeconds Tempo limite de execução para a etapa de trabalho. int

JobStepOutput

Name Description Value
credencial A ID do recurso da credencial a ser usada para se conectar ao destino de saída. string (obrigatório)
databaseName O banco de dados de destino de saída. string (obrigatório)
resourceGroupName O grupo de recursos de destino de saída. cadeia (de caracteres)
schemaName O esquema de destino de saída. cadeia (de caracteres)
serverName O nome do servidor de destino de saída. string (obrigatório)
subscriptionId A ID da assinatura de destino de saída. string

Constraints:
Comprimento mínimo = 36
Comprimento máximo = 36
Padrão = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
tableName A tabela de destino de saída. string (obrigatório)
tipo O tipo de destino de saída. 'SqlDatabase'

JobStepProperties

Name Description Value
ação A carga útil da ação da etapa de trabalho. JobStepAction (obrigatório)
credencial O ID do recurso da credencial de trabalho que será usada para se conectar aos destinos. string (obrigatório)
executionOptions Opções de execução para a etapa do trabalho. JobStepExecutionOptions
output Propriedades de destino de saída da etapa de trabalho. JobStepOutput
stepId O índice da etapa do trabalho dentro do trabalho. Se não for especificado ao criar a etapa de trabalho, ela será criada como a última etapa. Se não for especificado ao atualizar a etapa de trabalho, a ID da etapa não será modificada. int
targetGroup A ID do recurso do grupo-alvo no qual a etapa de trabalho será executada. string (obrigatório)

Definição de recursos Terraform (provedor AzAPI)

O tipo de recurso servers/jobAgents/jobs/steps pode ser implantado com operações direcionadas:

  • Grupos de recursos Para uma lista das propriedades alteradas em cada versão da API, veja registo de alterações.

Exemplos de uso

Amostras Terraform

Um exemplo básico de implantação do Elastic Job Step.

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 = "westus"
}

variable "administrator_login_password" {
  type        = string
  sensitive   = true
  description = "The administrator login password for the SQL server"
}

variable "job_credential_password" {
  type        = string
  sensitive   = true
  description = "The password for the SQL job credential"
}

data "azapi_client_config" "current" {}

locals {
  maintenance_config_id = "/subscriptions/${data.azapi_client_config.current.subscription_id}/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default"
}

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

resource "azapi_resource" "server" {
  type      = "Microsoft.Sql/servers@2023-08-01-preview"
  parent_id = azapi_resource.resourceGroup.id
  name      = "${var.resource_name}-server"
  location  = var.location
  body = {
    properties = {
      administratorLogin            = "4dm1n157r470r"
      administratorLoginPassword    = var.administrator_login_password
      minimalTlsVersion             = "1.2"
      publicNetworkAccess           = "Enabled"
      restrictOutboundNetworkAccess = "Disabled"
      version                       = "12.0"
    }
  }
}

resource "azapi_resource" "database" {
  type      = "Microsoft.Sql/servers/databases@2023-08-01-preview"
  parent_id = azapi_resource.server.id
  name      = "${var.resource_name}-db"
  location  = var.location
  body = {
    properties = {
      collation                  = "SQL_Latin1_General_CP1_CI_AS"
      createMode                 = "Default"
      maintenanceConfigurationId = local.maintenance_config_id
    }
    sku = {
      name = "S1"
    }
  }
}

resource "azapi_resource" "jobAgent" {
  type      = "Microsoft.Sql/servers/jobAgents@2023-08-01-preview"
  parent_id = azapi_resource.server.id
  name      = "${var.resource_name}-job-agent"
  location  = var.location
  body = {
    properties = {
      databaseId = azapi_resource.database.id
    }
    sku = {
      name = "JA100"
    }
  }
}

resource "azapi_resource" "job" {
  type      = "Microsoft.Sql/servers/jobAgents/jobs@2023-08-01-preview"
  parent_id = azapi_resource.jobAgent.id
  name      = "${var.resource_name}-job"
  body = {
    properties = {
      description = ""
    }
  }
}

resource "azapi_resource" "credential" {
  type      = "Microsoft.Sql/servers/jobAgents/credentials@2023-08-01-preview"
  parent_id = azapi_resource.jobAgent.id
  name      = "${var.resource_name}-job-credential"
  body = {
    properties = {
      password = var.job_credential_password
      username = "testusername"
    }
  }
}

resource "azapi_resource" "targetGroup" {
  type      = "Microsoft.Sql/servers/jobAgents/targetGroups@2023-08-01-preview"
  parent_id = azapi_resource.jobAgent.id
  name      = "${var.resource_name}-target-group"
  body = {
    properties = {
      members = []
    }
  }
}

resource "azapi_resource" "step" {
  type      = "Microsoft.Sql/servers/jobAgents/jobs/steps@2023-08-01-preview"
  parent_id = azapi_resource.job.id
  name      = "${var.resource_name}-job-step"
  body = {
    properties = {
      action = {
        value = "IF NOT EXISTS (SELECT * FROM sys.objects WHERE [name] = N'Person')\n  CREATE TABLE Person (\n    FirstName NVARCHAR(50),\n    LastName NVARCHAR(50),\n  );\n"
      }
      credential = azapi_resource.credential.id
      executionOptions = {
        initialRetryIntervalSeconds    = 1
        maximumRetryIntervalSeconds    = 120
        retryAttempts                  = 10
        retryIntervalBackoffMultiplier = 2
        timeoutSeconds                 = 43200
      }
      stepId      = 1
      targetGroup = azapi_resource.targetGroup.id
    }
  }
}

Formato do recurso

Para criar uma Microsoft. Sql/servers/jobAgents/jobs/steps, adiciona o seguinte Terraform ao teu modelo.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Sql/servers/jobAgents/jobs/steps@2021-08-01-preview"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      action = {
        source = "string"
        type = "string"
        value = "string"
      }
      credential = "string"
      executionOptions = {
        initialRetryIntervalSeconds = int
        maximumRetryIntervalSeconds = int
        retryAttempts = int
        retryIntervalBackoffMultiplier = int
        timeoutSeconds = int
      }
      output = {
        credential = "string"
        databaseName = "string"
        resourceGroupName = "string"
        schemaName = "string"
        serverName = "string"
        subscriptionId = "string"
        tableName = "string"
        type = "string"
      }
      stepId = int
      targetGroup = "string"
    }
  }
}

Valores de propriedade

Microsoft. SQL/servidores/jobAgents/jobs/steps

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: servidores/jobAgents/jobs
properties Propriedades do recurso. JobStepProperties
tipo O tipo de recurso "Microsoft. Sql/servidores/jobAgents/jobs/steps@2021-08-01-pré-visualização"

JobStepAction

Name Description Value
origem A origem da ação a ser executada. 'Inline'
tipo Tipo de ação sendo executada pela etapa de trabalho. 'TSql'
value O valor da ação, por exemplo, o texto do script T-SQL a ser executado. string (obrigatório)

JobStepExecutionOptions

Name Description Value
initialRetryIntervalSeconds Atraso inicial entre novas tentativas para a execução da etapa do trabalho. int
maximumRetryIntervalSeconds A quantidade máxima de tempo de espera entre novas tentativas para a execução da etapa de trabalho. int
retryAttempts Número máximo de vezes que a etapa do trabalho será repetida se a primeira tentativa falhar. int
retryIntervalBackoffMultiplier O multiplicador de backoff para o tempo entre as tentativas. int
timeoutSeconds Tempo limite de execução para a etapa de trabalho. int

JobStepOutput

Name Description Value
credencial A ID do recurso da credencial a ser usada para se conectar ao destino de saída. string (obrigatório)
databaseName O banco de dados de destino de saída. string (obrigatório)
resourceGroupName O grupo de recursos de destino de saída. cadeia (de caracteres)
schemaName O esquema de destino de saída. cadeia (de caracteres)
serverName O nome do servidor de destino de saída. string (obrigatório)
subscriptionId A ID da assinatura de destino de saída. string

Constraints:
Comprimento mínimo = 36
Comprimento máximo = 36
Padrão = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
tableName A tabela de destino de saída. string (obrigatório)
tipo O tipo de destino de saída. 'SqlDatabase'

JobStepProperties

Name Description Value
ação A carga útil da ação da etapa de trabalho. JobStepAction (obrigatório)
credencial O ID do recurso da credencial de trabalho que será usada para se conectar aos destinos. string (obrigatório)
executionOptions Opções de execução para a etapa do trabalho. JobStepExecutionOptions
output Propriedades de destino de saída da etapa de trabalho. JobStepOutput
stepId O índice da etapa do trabalho dentro do trabalho. Se não for especificado ao criar a etapa de trabalho, ela será criada como a última etapa. Se não for especificado ao atualizar a etapa de trabalho, a ID da etapa não será modificada. int
targetGroup A ID do recurso do grupo-alvo no qual a etapa de trabalho será executada. string (obrigatório)