Microsoft. Servidores SQL/jobAgents/jobs/steps 2025-02-01-preview

Definición de recurso Bicep

El tipo de recurso servers/jobAgents/jobs/steps se puede implementar con operaciones destinadas a:

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

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

Ejemplos de uso

Ejemplos de Bicep

Un ejemplo básico de implementación de 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 de recurso

Para crear un Microsoft. Recurso Sql/servers/jobAgents/jobs/steps, añade el siguiente Bicep a tu plantilla.

resource symbolicname 'Microsoft.Sql/servers/jobAgents/jobs/steps@2025-02-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 propiedad

Microsoft. Sql/servidores/jobAgents/jobs/steps

Nombre Descripción Importancia
nombre El nombre del recurso string (obligatorio)
parent En Bicep, puedes especificar el recurso padre para un recurso hijo. Solo tiene que agregar esta propiedad cuando el recurso secundario se declara fuera del recurso primario.

Para más información, consulte Child resource externo al padre.
Nombre simbólico del recurso de tipo: servers/jobAgents/jobs
Propiedades Propiedades de recursos. JobStepProperties

JobStepAction

Nombre Descripción Importancia
source Origen de la acción que se va a ejecutar. 'Inline'
tipo Tipo de acción que ejecuta el paso de trabajo. 'TSql'
value Valor de acción, por ejemplo, el texto del script T-SQL que se va a ejecutar. string (obligatorio)

JobStepExecutionOptions

Nombre Descripción Importancia
initialRetryIntervalSeconds Retraso inicial entre reintentos para la ejecución del paso de trabajo. int
maximumRetryIntervalSeconds Cantidad máxima de tiempo que se espera entre reintentos para la ejecución del paso de trabajo. int
retryAttempts Número máximo de veces que se volverá a intentar el paso de trabajo si se produce un error en el primer intento. int
retryIntervalBackoffMultiplier Multiplicador de retroceso para el tiempo entre reintentos. int
timeoutSeconds Tiempo de espera de ejecución para el paso de trabajo. int

JobStepOutput

Nombre Descripción Importancia
credential Identificador de recurso de la credencial que se va a usar para conectarse al destino de salida. cuerda / cadena
databaseName Base de datos de destino de salida. string (obligatorio)
resourceGroupName Grupo de recursos de destino de salida. cuerda / cadena
schemaName Esquema de destino de salida. cuerda / cadena
serverName Nombre del servidor de destino de salida. string (obligatorio)
ID de suscripción Identificador de suscripción de destino de salida. cadena

Restricciones:
Longitud mínima = 36
Longitud máxima = 36
Patrón = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
tableName Tabla de destino de salida. string (obligatorio)
tipo Tipo de destino de salida. 'SqlDatabase'

JobStepProperties

Nombre Descripción Importancia
acción Carga de acción del paso de trabajo. JobStepAction (obligatorio)
credential Identificador de recurso de la credencial de trabajo que se usará para conectarse a los destinos. cuerda / cadena
executionOptions Opciones de ejecución para el paso de trabajo. JobStepExecutionOptions
output Propiedades de destino de salida del paso de trabajo. JobStepOutput
stepId Índice del paso de trabajo dentro del trabajo. Si no se especifica al crear el paso de trabajo, se creará como último paso. Si no se especifica al actualizar el paso de trabajo, el identificador del paso no se modifica. int
targetGroup Identificador de recurso del grupo de destino en el que se ejecutará el paso de trabajo. string (obligatorio)

Definición de recursos de plantilla de ARM

El tipo de recurso servers/jobAgents/jobs/steps se puede implementar con operaciones destinadas a:

Ejemplos de uso

Formato de recurso

Para crear un Microsoft. Recurso Sql/servers/jobAgents/jobs/steps, añade el siguiente JSON a tu plantilla.

{
  "type": "Microsoft.Sql/servers/jobAgents/jobs/steps",
  "apiVersion": "2025-02-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 propiedad

Microsoft. Sql/servidores/jobAgents/jobs/steps

Nombre Descripción Importancia
apiVersion La versión de api '2025-02-01-preestreno'
nombre El nombre del recurso string (obligatorio)
Propiedades Propiedades de recursos. JobStepProperties
tipo El tipo de recurso 'Microsoft. Sql/servidores/jobAgents/jobs/steps

JobStepAction

Nombre Descripción Importancia
source Origen de la acción que se va a ejecutar. 'Inline'
tipo Tipo de acción que ejecuta el paso de trabajo. 'TSql'
value Valor de acción, por ejemplo, el texto del script T-SQL que se va a ejecutar. string (obligatorio)

JobStepExecutionOptions

Nombre Descripción Importancia
initialRetryIntervalSeconds Retraso inicial entre reintentos para la ejecución del paso de trabajo. int
maximumRetryIntervalSeconds Cantidad máxima de tiempo que se espera entre reintentos para la ejecución del paso de trabajo. int
retryAttempts Número máximo de veces que se volverá a intentar el paso de trabajo si se produce un error en el primer intento. int
retryIntervalBackoffMultiplier Multiplicador de retroceso para el tiempo entre reintentos. int
timeoutSeconds Tiempo de espera de ejecución para el paso de trabajo. int

JobStepOutput

Nombre Descripción Importancia
credential Identificador de recurso de la credencial que se va a usar para conectarse al destino de salida. cuerda / cadena
databaseName Base de datos de destino de salida. string (obligatorio)
resourceGroupName Grupo de recursos de destino de salida. cuerda / cadena
schemaName Esquema de destino de salida. cuerda / cadena
serverName Nombre del servidor de destino de salida. string (obligatorio)
ID de suscripción Identificador de suscripción de destino de salida. cadena

Restricciones:
Longitud mínima = 36
Longitud máxima = 36
Patrón = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
tableName Tabla de destino de salida. string (obligatorio)
tipo Tipo de destino de salida. 'SqlDatabase'

JobStepProperties

Nombre Descripción Importancia
acción Carga de acción del paso de trabajo. JobStepAction (obligatorio)
credential Identificador de recurso de la credencial de trabajo que se usará para conectarse a los destinos. cuerda / cadena
executionOptions Opciones de ejecución para el paso de trabajo. JobStepExecutionOptions
output Propiedades de destino de salida del paso de trabajo. JobStepOutput
stepId Índice del paso de trabajo dentro del trabajo. Si no se especifica al crear el paso de trabajo, se creará como último paso. Si no se especifica al actualizar el paso de trabajo, el identificador del paso no se modifica. int
targetGroup Identificador de recurso del grupo de destino en el que se ejecutará el paso de trabajo. string (obligatorio)

Definición de recursos de Terraform (proveedor AzAPI)

El tipo de recurso servers/jobAgents/jobs/steps se puede implementar con operaciones destinadas a:

  • Grupos de recursos Para una lista de propiedades modificadas en cada versión de la API, consulte registro de cambios.

Ejemplos de uso

Ejemplos de Terraform

Un ejemplo básico de implementación de 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 de recurso

Para crear un Microsoft. Recurso Sql/servers/jobAgents/jobs/steps, añade el siguiente Terraform a tu plantilla.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Sql/servers/jobAgents/jobs/steps@2025-02-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 propiedad

Microsoft. Sql/servidores/jobAgents/jobs/steps

Nombre Descripción Importancia
nombre El nombre del recurso string (obligatorio)
parent_id Identificador del recurso que es el elemento primario de este recurso. Identificador del recurso de tipo: servers/jobAgents/jobs
Propiedades Propiedades de recursos. JobStepProperties
tipo El tipo de recurso "Microsoft. Sql/servidores/jobAgents/jobs/steps@2025-02-01-preview"

JobStepAction

Nombre Descripción Importancia
source Origen de la acción que se va a ejecutar. 'Inline'
tipo Tipo de acción que ejecuta el paso de trabajo. 'TSql'
value Valor de acción, por ejemplo, el texto del script T-SQL que se va a ejecutar. string (obligatorio)

JobStepExecutionOptions

Nombre Descripción Importancia
initialRetryIntervalSeconds Retraso inicial entre reintentos para la ejecución del paso de trabajo. int
maximumRetryIntervalSeconds Cantidad máxima de tiempo que se espera entre reintentos para la ejecución del paso de trabajo. int
retryAttempts Número máximo de veces que se volverá a intentar el paso de trabajo si se produce un error en el primer intento. int
retryIntervalBackoffMultiplier Multiplicador de retroceso para el tiempo entre reintentos. int
timeoutSeconds Tiempo de espera de ejecución para el paso de trabajo. int

JobStepOutput

Nombre Descripción Importancia
credential Identificador de recurso de la credencial que se va a usar para conectarse al destino de salida. cuerda / cadena
databaseName Base de datos de destino de salida. string (obligatorio)
resourceGroupName Grupo de recursos de destino de salida. cuerda / cadena
schemaName Esquema de destino de salida. cuerda / cadena
serverName Nombre del servidor de destino de salida. string (obligatorio)
ID de suscripción Identificador de suscripción de destino de salida. cadena

Restricciones:
Longitud mínima = 36
Longitud máxima = 36
Patrón = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
tableName Tabla de destino de salida. string (obligatorio)
tipo Tipo de destino de salida. 'SqlDatabase'

JobStepProperties

Nombre Descripción Importancia
acción Carga de acción del paso de trabajo. JobStepAction (obligatorio)
credential Identificador de recurso de la credencial de trabajo que se usará para conectarse a los destinos. cuerda / cadena
executionOptions Opciones de ejecución para el paso de trabajo. JobStepExecutionOptions
output Propiedades de destino de salida del paso de trabajo. JobStepOutput
stepId Índice del paso de trabajo dentro del trabajo. Si no se especifica al crear el paso de trabajo, se creará como último paso. Si no se especifica al actualizar el paso de trabajo, el identificador del paso no se modifica. int
targetGroup Identificador de recurso del grupo de destino en el que se ejecutará el paso de trabajo. string (obligatorio)