Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
APLICA-SE A:
Azure Data Factory
Azure Synapse Analytics
Dica
Data Factory no Microsoft Fabric é a próxima geração de Azure Data Factory, com uma arquitetura mais simples, IA interna e novos recursos. Se você não estiver familiarizado com a integração de dados, comece com Fabric Data Factory. As cargas de trabalho existentes do ADF podem ser atualizadas para Fabric para acessar novos recursos em ciência de dados, análise em tempo real e relatórios.
Use a atividade Definir Variável para definir o valor de uma variável existente do tipo String, Bool ou Array definida em um pipeline do Data Factory ou do Synapse ou use a atividade Definir Variável para definir um valor retornado do pipeline (versão prévia).
Criar Atividade Definir Variável com a interface do usuário
Para usar uma atividade de definição de variável em um pipeline, conclua as seguintes etapas:
- Selecione a tela de fundo da tela do pipeline e use a guia Variáveis para adicionar uma variável:
Pesquise Definir Variável no painel Atividades do pipeline e arraste uma Atividade Definir Variável na tela do pipeline.
Selecione a atividade "Definir variável" na tela se ela ainda não estiver selecionada, e selecione a guia Configurações para editar os detalhes.
Selecione Variável do pipeline no seu Tipo de variável.
Selecione a variável na propriedade Nome.
Insira uma expressão para definir o valor das variáveis. Essa expressão pode ser de cadeia de caracteres literal ou uma combinação de expressões e funções dinâmicas, variáveis de sistema ou saídas de outras atividades.
Definir um valor retornado do pipeline com a interface do usuário
Expandimos a atividade Set Variable para incluir uma variável de sistema especial, chamada Pipeline Return Value, permitindo a comunicação do pipeline filho para o pipeline de chamada, no cenário a seguir.
Você não precisa definir a variável antes de usá-la. Para obter mais informações, consulte Valor retornado do pipeline
Propriedades de tipo
| Propriedade | Descrição | Obrigatório |
|---|---|---|
| nome | Nome da atividade no pipeline | sim |
| descrição | Texto descrevendo o que a atividade realiza | não |
| tipo | Deve ser definido como SetVariable | sim |
| variableName | O nome da variável definida por essa atividade | sim |
| value | Valor de objeto de expressão ou literal de cadeia de caracteres ao qual a variável é atribuída | sim |
Incrementando uma variável
Um cenário comum envolvendo variáveis é usar uma variável como um iterador dentro de uma atividade Until ou Foreach. Em uma atividade Definir variável, você não pode referenciar a variável que está sendo configurada no campo value, ou seja, nenhuma autorreferência. Para contornar essa limitação, defina uma variável temporária e, em seguida, crie uma segunda atividade Definir Variável. A segunda atividade Definir Variável define o valor do iterador para a variável temporária. Aqui está um exemplo desse padrão:
- Primeiro você define duas variáveis: uma para o iterador e outra para armazenamento temporário.
- Então você usa duas atividades para incrementar valores
{
"name": "pipeline1",
"properties": {
"activities": [
{
"name": "Increment J",
"type": "SetVariable",
"dependsOn": [],
"policy": {
"secureOutput": false,
"secureInput": false
},
"userProperties": [],
"typeProperties": {
"variableName": "temp_j",
"value": {
"value": "@add(variables('counter_i'),1)",
"type": "Expression"
}
}
},
{
"name": "Set I",
"type": "SetVariable",
"dependsOn": [
{
"activity": "Increment J",
"dependencyConditions": [
"Succeeded"
]
}
],
"policy": {
"secureOutput": false,
"secureInput": false
},
"userProperties": [],
"typeProperties": {
"variableName": "counter_i",
"value": {
"value": "@variables('temp_j')",
"type": "Expression"
}
}
}
],
"variables": {
"counter_i": {
"type": "Integer",
"defaultValue": 0
},
"temp_j": {
"type": "Integer",
"defaultValue": 0
}
},
"annotations": []
}
}
As variáveis têm o escopo no nível do pipeline. Isso significa que elas não são thread-safe e podem causar comportamento inesperado e indesejado se forem acessados de dentro de uma atividade de iteração paralela, como um loop ForEach, especialmente quando o valor também estiver sendo modificado dentro dessa atividade foreach.
Conteúdo relacionado
Saiba mais sobre outra atividade de fluxo de controle relacionada: