Microsoft. Servidores SQL/jobAgents/jobs/steps 2020-02-02-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 de log de alterações.

Exemplos de uso

Exemplos de 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 de 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@2020-02-02-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 da propriedade

Microsoft. SQL/servidores/jobAgents/jobs/steps

Name Description Value
name 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: servidores/jobAgents/jobs
properties Propriedades do recurso. JobStepProperties

JobStepAction

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

JobStepExecutionOptions

Name Description Value
initialRetryIntervalSeconds Atraso inicial entre novas tentativas para execução da etapa de trabalho. int
maximumRetryIntervalSeconds O período máximo de tempo para aguardar entre as tentativas de execução da etapa de trabalho. int
retryAttempts Número máximo de vezes que a etapa de trabalho será reattempada se a primeira tentativa falhar. int
retryIntervalBackoffMultiplier O multiplicador de retirada para o tempo entre novas 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. cadeia de caracteres (obrigatório)
databaseName O banco de dados de destino de saída. cadeia de caracteres (obrigatório)
resourceGroupName O grupo de recursos de destino de saída. cadeia
schemaName O esquema de destino de saída. cadeia
serverName O nome do servidor de destino de saída. cadeia de caracteres (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. cadeia de caracteres (obrigatório)
tipo O tipo de destino de saída. 'SqlDatabase'

JobStepProperties

Name Description Value
ação O conteúdo da ação da etapa de trabalho. JobStepAction (obrigatório)
credencial A ID do recurso da credencial de trabalho que será usada para se conectar aos destinos. cadeia de caracteres (obrigatório)
executionOptions Opções de execução para a etapa de trabalho. JobStepExecutionOptions
saída Propriedades de destino de saída da etapa de trabalho. JobStepOutput
stepId O índice da etapa de 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 de destino no qual a etapa de trabalho será executada. cadeia de caracteres (obrigatório)

Definição de recurso de modelo do ARM

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

Exemplos de uso

Formato de recurso

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

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

Microsoft. SQL/servidores/jobAgents/jobs/steps

Name Description Value
apiVersion A versão da API '2020-02-02-preview'
name O nome do recurso cadeia de caracteres (obrigatório)
properties Propriedades do recurso. JobStepProperties
tipo O tipo de recurso 'Microsoft. SQL/servidores/jobAgents/jobs/steps

JobStepAction

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

JobStepExecutionOptions

Name Description Value
initialRetryIntervalSeconds Atraso inicial entre novas tentativas para execução da etapa de trabalho. int
maximumRetryIntervalSeconds O período máximo de tempo para aguardar entre as tentativas de execução da etapa de trabalho. int
retryAttempts Número máximo de vezes que a etapa de trabalho será reattempada se a primeira tentativa falhar. int
retryIntervalBackoffMultiplier O multiplicador de retirada para o tempo entre novas 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. cadeia de caracteres (obrigatório)
databaseName O banco de dados de destino de saída. cadeia de caracteres (obrigatório)
resourceGroupName O grupo de recursos de destino de saída. cadeia
schemaName O esquema de destino de saída. cadeia
serverName O nome do servidor de destino de saída. cadeia de caracteres (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. cadeia de caracteres (obrigatório)
tipo O tipo de destino de saída. 'SqlDatabase'

JobStepProperties

Name Description Value
ação O conteúdo da ação da etapa de trabalho. JobStepAction (obrigatório)
credencial A ID do recurso da credencial de trabalho que será usada para se conectar aos destinos. cadeia de caracteres (obrigatório)
executionOptions Opções de execução para a etapa de trabalho. JobStepExecutionOptions
saída Propriedades de destino de saída da etapa de trabalho. JobStepOutput
stepId O índice da etapa de 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 de destino no qual a etapa de trabalho será executada. cadeia de caracteres (obrigatório)

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

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

Exemplos de uso

Exemplos do 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 de recurso

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

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

Microsoft. SQL/servidores/jobAgents/jobs/steps

Name Description Value
name 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: servers/jobAgents/jobs
properties Propriedades do recurso. JobStepProperties
tipo O tipo de recurso "Microsoft. Sql/servidores/jobAgents/jobs/steps@2020-02-02-prévia"

JobStepAction

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

JobStepExecutionOptions

Name Description Value
initialRetryIntervalSeconds Atraso inicial entre novas tentativas para execução da etapa de trabalho. int
maximumRetryIntervalSeconds O período máximo de tempo para aguardar entre as tentativas de execução da etapa de trabalho. int
retryAttempts Número máximo de vezes que a etapa de trabalho será reattempada se a primeira tentativa falhar. int
retryIntervalBackoffMultiplier O multiplicador de retirada para o tempo entre novas 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. cadeia de caracteres (obrigatório)
databaseName O banco de dados de destino de saída. cadeia de caracteres (obrigatório)
resourceGroupName O grupo de recursos de destino de saída. cadeia
schemaName O esquema de destino de saída. cadeia
serverName O nome do servidor de destino de saída. cadeia de caracteres (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. cadeia de caracteres (obrigatório)
tipo O tipo de destino de saída. 'SqlDatabase'

JobStepProperties

Name Description Value
ação O conteúdo da ação da etapa de trabalho. JobStepAction (obrigatório)
credencial A ID do recurso da credencial de trabalho que será usada para se conectar aos destinos. cadeia de caracteres (obrigatório)
executionOptions Opções de execução para a etapa de trabalho. JobStepExecutionOptions
saída Propriedades de destino de saída da etapa de trabalho. JobStepOutput
stepId O índice da etapa de 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 de destino no qual a etapa de trabalho será executada. cadeia de caracteres (obrigatório)