Todos os produtos
Search
Central de documentação

DataWorks:Usar um nó de gatilho HTTP para executar nós entre tenants

Última atualização: Jun 27, 2026

O DataWorks oferece o nó de gatilho HTTP para acionar e executar tarefas em diferentes tenants. Este tópico descreve como configurar esse nó no DataWorks para orquestrar fluxos de trabalho entre tenants.

Contexto

Em muitas organizações, os fluxos de trabalho de processamento e análise de dados operam em vários tenants ou em diferentes regiões sob o mesmo tenant. O DataWorks fornece o nó de gatilho HTTP para dar suporte a esses cenários:

  • Orquestrar tarefas dependentes em diferentes ambientes de tenant.

  • Coordenar fluxos de trabalho entre diferentes sistemas de agendamento em várias regiões sob o mesmo tenant. Por exemplo, um fluxo de trabalho no Sistema B pode iniciar somente após a conclusão da tarefa de um nó no Sistema A.

O diagrama a seguir ilustra o funcionamento do mecanismo de gatilho em um cenário entre tenants.

image

Descrição do diagrama: Um fluxo de trabalho no ambiente do Tenant B contém um nó de gatilho HTTP e está implantado no Operation Center. Durante a execução do fluxo, os nós upstream são executados sequencialmente conforme seus agendamentos. Ao chegar ao nó de gatilho HTTP, tanto ele quanto suas tarefas downstream entram em estado de espera. Após o nó de gatilho HTTP receber e validar um comando de gatilho do Tenant A, ele e suas tarefas downstream iniciam a execução em sequência.

Pré-requisitos

  • Você possui dois ambientes de tenant, cada um com uma conta raiz separada.

  • Você criou um workspace em cada um dos dois ambientes.

  • Você associou um grupo de recursos serverless ao workspace em cada ambiente.

  • Você configurou um Internet NAT Gateway e um EIP para a VPC do grupo de recursos serverless associado ao workspace acionador.

    Importante

    Quando um nó shell aciona um nó de gatilho HTTP, o comando de gatilho deve ser enviado pela internet pública.

  • Você associou um recurso de computação MaxCompute ao workspace que contém o nó shell responsável por enviar o comando de gatilho. Para mais informações, consulte Gerenciar recursos de computação.

Observações

  • O nó de gatilho HTTP funciona apenas como acionador. Não é necessário configurar código para esse nó.

  • Siga o exemplo correspondente ao tipo do seu workspace:

    • Workspaces Use Data Studio (New Version): Siga o exemplo do Data Studio (nova versão).

    • Workspaces que não utilizam o Use Data Studio (New Version): Siga o exemplo do Data Studio legado.

      Nota

      Para workspaces que não ativaram o Use Data Studio (New Version), apenas a Enterprise Edition do DataWorks suporta nós de gatilho HTTP.

Exemplo do Data Studio (nova versão)

Para acionar a execução de nós no ambiente do Data Studio (nova versão) do Tenant B a partir do Tenant A, siga as instruções abaixo.

Ambiente do Tenant B: Criar um fluxo de trabalho com nó de gatilho HTTP

Crie um fluxo de trabalho no workspace do Tenant B para ser acionado remotamente. O fluxo deve conter um nó de gatilho HTTP para receber o comando de acionamento e um nó de negócio downstream (neste tópico, usa-se um nó shell como exemplo), permitindo verificar o efeito do acionamento entre tenants.

  1. Acesse o Data Studio.

    Na página de lista de workspaces do DataWorks, mude para a região desejada na barra de navegação superior, localize o workspace alvo e clique em Shortcuts > Data Studio na coluna Operation para entrar no Data Studio.

  2. Crie um fluxo de trabalho.

    1. No painel de navegação à esquerda, clique em image, clique no ícone image ao lado de Project Directory e selecione Create Workflow para abrir a caixa de diálogo Create Workflow.

    2. Na caixa de diálogo Create Workflow, especifique um Name personalizado para o fluxo (HTTP_Workflow neste exemplo) e clique em Confirm para acessar a página de edição do fluxo.

  3. Crie os nós.

    1. No painel Create Node da página de edição do fluxo, arraste o nó General > HTTP Trigger e o nó General > Shell para a área de edição.

    2. Adicione o nó shell como downstream do nó de gatilho HTTP.

  4. Edite o nó shell no fluxo de trabalho.

    Importante

    O nó de gatilho HTTP atua apenas como acionador. Não é necessário configurar código para este nó.

    1. Passe o mouse sobre o nó shell e clique em Open Node. Insira o seguinte conteúdo na página de edição do nó.

      echo "DataWorks";
    2. No lado direito da página de edição do nó shell, em Scheduling Settings, defina o Resource Group como o grupo de recursos serverless associado ao seu workspace.

    3. Clique em Save na barra de ferramentas no topo da página de edição do nó shell.

  5. Implante o fluxo de trabalho.

    1. Localize o fluxo HTTP_Workflow criado no diretório do projeto. No lado direito da página de edição do fluxo, em Scheduling Settings, defina o Instance generation method como Instant generation after publishing.

    2. Clique no botão image na barra de ferramentas para abrir o painel de implantação e, em seguida, clique em Start Release Production. A tarefa passará pelo processo de verificação de implantação. Para mais detalhes, consulte Implantar nós.

  6. Registre as informações de parâmetros da instância HTTP.

    Como o nó de gatilho HTTP gera instâncias agendadas imediatamente, acesse o Operation Center para visualizar e registrar os parâmetros da instância HTTP.

    1. Faça login no console do DataWorks. Na região desejada, clique em Data Development and O&M > Operation Center no painel de navegação à esquerda. Selecione um workspace na lista suspensa e clique em Go to Operation Center.

    2. No painel de navegação à esquerda, clique em Auto Triggered Task O&M > Cycle Examples para acessar a página Cycle Examples.

    3. Encontre a instância do nó de gatilho HTTP criada e anote o Task ID e o Scheduled Time da instância.

      Nota

      Passe o mouse sobre o nome da instância do nó de gatilho HTTP para visualizar o Task ID.

Ambiente local: Preparar o código de exemplo

  1. Adicione as dependências POM.

    Acesse a página de depuração TriggerSchedulerTaskInstance e visualize as informações completas de instalação do SDK na aba SDK Example.

        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>3.3.0</version>
                    <configuration>
                        <archive>
                            <manifest>
                                <mainClass>com.example.demo.CrossTenantTriggerSchedulerTaskInstance</mainClass>  <!-- Replace this with your main class -->
                            </manifest>
                        </archive>
                        <descriptorRefs>
                            <descriptorRef>jar-with-dependencies</descriptorRef>
                        </descriptorRefs>
                    </configuration>
                    <executions>
                        <execution>
                            <id>make-assembly</id>
                            <phase>package</phase> <!-- Execute during the package phase -->
                            <goals>
                                <goal>single</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
        <dependencies>
            <dependency>
                <groupId>com.aliyun</groupId>
                <artifactId>dataworks_public20240518</artifactId>
                <version>6.2.0</version>
            </dependency>
        </dependencies>
    Importante

    Após concluir o desenvolvimento do código, substitua o parâmetro mainClass pelo nome da classe principal do código Java criado. O nome da classe principal segue o formato do nome completo do pacote seguido pelo nome da classe. Exemplo: com.example.demo.CrossTenantTriggerSchedulerTaskInstance.

  2. Desenvolva o código.

    package com.example.demo;
    import com.aliyun.dataworks_public20240518.Client;
    import com.aliyun.dataworks_public20240518.models.TriggerSchedulerTaskInstanceRequest;
    import com.aliyun.dataworks_public20240518.models.TriggerSchedulerTaskInstanceResponse;
    import com.aliyun.teautil.models.RuntimeOptions;
    
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    
    public class CrossTenantTriggerSchedulerTaskInstance {
        // Method to create an Alibaba Cloud DataWorks client
        public static Client createClient20240518(String accessId, String accessKey, String endpoint) throws Exception {
            // Initialize OpenAPI configuration object
            com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
            config.setAccessKeyId(accessId); // Set AccessKey ID
            config.setAccessKeySecret(accessKey); // Set AccessKey Secret
            config.setEndpoint(endpoint); // Set service endpoint
            return new Client(config); // Return the initialized client instance
        }
        // Method to trigger a DataWorks node run
        public static TriggerSchedulerTaskInstanceResponse runTriggerScheduler(Client client, Long nodeId, String EnvType,Long TriggerTime) throws Exception {
            TriggerSchedulerTaskInstanceRequest request = new TriggerSchedulerTaskInstanceRequest(); // Create API request object
            request.setTaskId(nodeId); // Set the node ID to trigger
            request.setEnvType(EnvType); // Set the project environment
            request.setTriggerTime(TriggerTime); // Set the scheduled trigger time (millisecond timestamp)
            RuntimeOptions runtime = new RuntimeOptions(); // Initialize runtime options
            return client.triggerSchedulerTaskInstanceWithOptions(request, runtime); // Execute the API call and return the response
        }
        // Main entry method
        public static void main(String[] args) throws Exception {
            // Initialize node ID (example value)
            String nodeId1 = "";
            // Initialize project environment (example value)
            String EnvTypeStr = "";
            // Initialize scheduled time (example value)
            String cycTimeStr = "";
            // Process command-line arguments in a for loop, assigning values to nodeId1, cycTimeParam, and bizTimeParam
            int i;
            for(i = 0; i < args.length; ++i) {
                if (i == 0) {
                    nodeId1 = args[i];
                } else if (i == 1) {
                    EnvTypeStr = args[i];
                }else if (i == 2) {
                    cycTimeStr = args[i];
                }
            }
            // Convert string to Long type node ID
            Long nodeId = Long.parseLong(nodeId1);
            // Print usage instructions
            System.out.println("Usage: java -jar test-1.0-SNAPSHOT.jar nodeId EnvTypeStr cycTimeParam");
            // Parse scheduled time and convert to timestamp
            SimpleDateFormat sdft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(sdft.parse(cycTimeStr)); // Parse time string
            Long cycTime = calendar.getTimeInMillis(); // Get millisecond timestamp
            // Print debug info (timestamp)
            System.out.println("Scheduled timestamp: " + cycTime);
            // Configure Alibaba Cloud service parameters
            String endpoint = "dataworks.cn-hangzhou.aliyuncs.com"; // Service endpoint
            String accessId = "xxx"; // AccessKey ID
            String accessKey = "xxx"; // AccessKey Secret
            // Create Alibaba Cloud client instance
            Client client = createClient20240518(accessId, accessKey, endpoint);
            // Execute trigger node operation
            TriggerSchedulerTaskInstanceResponse response = runTriggerScheduler(client, nodeId,EnvTypeStr, cycTime);
            // Print API response result (JSON format)
            System.out.println(com.aliyun.teautil.Common.toJSONString(com.aliyun.teautil.Common.toMap(response)));
        }
    }

    Substitua os parâmetros endpoint, accessId e accessKey no código acima pelos valores reais, conforme as descrições a seguir.

    Parâmetro

    Descrição

    endpoint

    O endpoint do workspace onde reside o nó de gatilho HTTP alvo. Para mais informações, consulte endpoints do Portal do Desenvolvedor OpenAPI da Alibaba Cloud.

    accessId

    O AccessKey ID da conta Alibaba Cloud proprietária do workspace onde reside o nó de gatilho HTTP alvo.

    Faça login no console do DataWorks, passe o mouse sobre o ícone de perfil no canto superior direito da barra de navegação e acesse AccessKey para obter o AccessKey ID e o AccessKey Secret do usuário ram proprietário do nó de gatilho HTTP alvo.

    Aviso

    O AK de uma conta raiz da Alibaba Cloud possui permissões totais. Se o AK vazar, riscos graves de segurança podem ocorrer. Recomendamos o uso do AK de um usuário ram que tenha apenas a função de administrador do workspace no workspace alvo.

    accessKey

    O AccessKey Secret da conta Alibaba Cloud proprietária do workspace onde reside o nó de gatilho HTTP alvo.

  3. Empacote o código acima em um arquivo JAR com o sufixo jar-with-dependencies.jar.

Ambiente do Tenant A: Configurar um nó shell

Crie e configure um nó shell no workspace do Tenant A para enviar o comando de gatilho.

  1. Acesse o Data Studio.

    Na página de lista de workspaces do DataWorks, mude para a região desejada na barra de navegação superior, localize o workspace alvo e clique em Shortcuts > Data Studio na coluna Operation para entrar no Data Studio.

  2. Carregue um recurso JAR.

    1. No painel de navegação à esquerda, clique no ícone image para acessar o gerenciamento de recursos.

    2. Na página Resource Management, clique no botão Create ou no ícone image e selecione New Resource > Maxcompute Jar.

    3. Na caixa de diálogo New Resource and Function, insira o nome do recurso http_node_work.jar e clique em Confirm.

    4. Na página de detalhes do recurso, clique no botão Click Upload para carregar o arquivo JAR gerado na etapa Ambiente local: Preparar o código de exemplo e defina Data Sources como a source de dados MaxCompute associada.

  3. Salve e implante o recurso.

    Após o carregamento do recurso JAR, clique no botão image na barra de ferramentas para abrir o painel de implantação e clique em Start Release Production. Conclua o processo de verificação de implantação. Para mais informações, consulte Implantar nós.

  4. Crie um nó shell de acionamento.

    1. No painel de navegação à esquerda, clique em image e, em seguida, clique no ícone image ao lado de Project Directory.

    2. Selecione General > Shell para abrir a caixa de diálogo New Node.

    3. Especifique um Name personalizado para o nó e clique em Confirm para acessar a página de edição do nó.

  5. Edite o nó shell de acionamento.

    1. No painel de navegação à esquerda da página de edição do nó shell, clique no ícone image e localize o recurso JAR carregado (http_node_work.jar).

    2. Clique com o botão direito no recurso JAR carregado e selecione Insert Resource Path.

    3. Preencha os parâmetros de execução do código de gatilho no nó shell.

    ##@resource_reference{"http_node_work.jar"}
     java -jar http_node_work.jar nodeId "EnvTypeStr" "cycTimeParam"

    Parâmetro

    Descrição

    java -jar

    Comando de execução do JAR.

    http_node_work.jar

    Nome do recurso referenciado.

    nodeId

    O Task ID do nó de gatilho HTTP registrado na etapa Ambiente do Tenant B: Criar um fluxo de trabalho com nó de gatilho HTTP.

    EnvTypeStr

    Ambiente do projeto do nó de gatilho HTTP alvo. Neste tópico, o nó está implantado no ambiente de produção. Defina este parâmetro como Prod.

    Para executar o nó no ambiente de desenvolvimento, defina como Dev.

    cycTimeParam

    O Scheduled Time da tarefa do nó de gatilho HTTP registrado na etapa Ambiente do Tenant B: Criar um fluxo de trabalho com nó de gatilho HTTP. O formato de tempo é yyyy-MM-dd HH:mm:ss.

  6. Configure o nó shell de acionamento.

    No lado direito da página de edição do nó shell, em Scheduling Settings, navegue até Scheduling Policy > Resource Group e selecione o grupo de recursos serverless associado ao workspace como o Resource Group.

Executar e visualizar resultados

Execute o nó shell no Tenant A para acionar o nó de gatilho HTTP e suas tarefas downstream no Tenant B.

  1. Execute o nó shell de acionamento.

    Clique em Run na barra de ferramentas acima do nó shell configurado na etapa Ambiente do Tenant A: Configurar um nó shell.

  2. Visualize os resultados da execução.

    Acesse o ambiente do Tenant B e siga os passos abaixo para verificar os resultados.

    1. Faça login no console do DataWorks. Na região desejada, clique em Data Development and O&M > Operation Center no painel de navegação à esquerda. Selecione um workspace na lista suspensa e clique em Go to Operation Center.

    2. No painel de navegação à esquerda, clique em Auto Triggered Task O&M > Cycle Examples para acessar a página de instâncias agendadas.

    3. Localize a instância do nó de gatilho HTTP que deseja acionar e verifique os resultados da execução.

Exemplo do Data Studio legado

Para acionar a execução de nós no ambiente do Data Studio legado do Tenant B a partir do Tenant A, siga as instruções abaixo.

Ambiente do Tenant B: Criar um fluxo de trabalho com nó de gatilho HTTP

Crie um fluxo de trabalho no workspace do Tenant B para ser acionado remotamente. O fluxo deve conter um nó de gatilho HTTP para receber o comando de acionamento e um nó de negócio downstream (neste tópico, usa-se um nó shell como exemplo), permitindo verificar o efeito do acionamento entre tenants.

  1. Crie um nó de gatilho HTTP. Para mais informações, consulte Criar um nó de gatilho HTTP.

  2. Crie um nó shell. Para mais informações, consulte Criar um nó shell.

    Insira o seguinte conteúdo na página de edição do nó. No lado direito da página de edição do nó shell, configure RUN Attribute e Resource Group for Scheduling nas configurações de agendamento. Em seguida, clique em Save para salvar a configuração do nó.

    echo "DataWorks";
  3. Implante o fluxo de trabalho no Operation Center.

  4. Registre as informações de parâmetros da instância HTTP.

    Como o nó de gatilho HTTP suporta apenas geração de instâncias agendadas no modelo T+1, clique no ícone image no canto superior direito do fluxo de trabalho no dia seguinte para visualizar as informações de parâmetros da instância HTTP no Operation and Maintenance Center em Auto Triggered Task O&M > Cycle Examples.

    Localize a instância do nó de gatilho HTTP criada e anote o Task ID, Scheduled Time e Business Date.

    Nota

    Passe o mouse sobre o nome da instância do nó de gatilho HTTP para visualizar o Task ID.

Ambiente local: Preparar o código

  1. Adicione as dependências POM.

    Acesse a página de depuração RunTriggerNode e visualize as informações completas de instalação do SDK na aba SDK Example.

        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>3.3.0</version>
                    <configuration>
                        <archive>
                            <manifest>
                                <mainClass>com.example.demo.CrossTenantTriggerNode</mainClass>  <!-- Replace this with your main class -->
                            </manifest>
                        </archive>
                        <descriptorRefs>
                            <descriptorRef>jar-with-dependencies</descriptorRef>
                        </descriptorRefs>
                    </configuration>
                    <executions>
                        <execution>
                            <id>make-assembly</id>
                            <phase>package</phase> 
                            <goals>
                                <goal>single</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    
        <dependencies>
            <dependency>
                <groupId>com.aliyun</groupId>
                <artifactId>dataworks_public20200518</artifactId>
                <version>7.0.1</version>
            </dependency>
            <dependency>
                <groupId>com.aliyun</groupId>
                <artifactId>tea-openapi</artifactId>
                <version>0.3.8</version>
            </dependency>
            <dependency>
                <groupId>com.aliyun</groupId>
                <artifactId>tea-console</artifactId>
                <version>0.0.1</version>
            </dependency>
            <dependency>
                <groupId>com.aliyun</groupId>
                <artifactId>tea-util</artifactId>
                <version>0.2.23</version>
            </dependency>
            <dependency>
                <groupId>com.aliyun</groupId>
                <artifactId>credentials-java</artifactId>
                <version>1.0.1</version>
            </dependency>
        </dependencies>
    Importante

    Após concluir o desenvolvimento do código, substitua o parâmetro mainClass pelo nome da classe principal do código Java criado. O nome da classe principal segue o formato do nome completo do pacote seguido pelo nome da classe. Exemplo: com.example.demo. CrossTenantTriggerNode.

  2. Desenvolva o código.

    package com.example.demo;
    
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import com.aliyun.dataworks_public20200518.Client;
    import com.aliyun.dataworks_public20200518.models.RunTriggerNodeRequest;
    import com.aliyun.dataworks_public20200518.models.RunTriggerNodeResponse;
    import com.aliyun.teautil.models.RuntimeOptions;
    
    public class CrossTenantTriggerNode {
        // Method to create an Alibaba Cloud DataWorks client
        public static Client createClient20200518(String accessId, String accessKey, String endpoint) throws Exception {
            // Initialize OpenAPI configuration object
            com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
            config.setAccessKeyId(accessId); // Set AccessKey ID
            config.setAccessKeySecret(accessKey); // Set AccessKey Secret
            config.setEndpoint(endpoint); // Set service endpoint
            return new Client(config); // Return the initialized client instance
        }
        // Method to trigger a DataWorks node run
        public static RunTriggerNodeResponse runTriggerNode(Client client, Long nodeId, Long cycleTime, Long bizDate, Long appId) throws Exception {
            RunTriggerNodeRequest request = new RunTriggerNodeRequest(); // Create API request object
            request.setNodeId(nodeId); // Set the node ID to trigger
            request.setCycleTime(cycleTime); // Set cycle time (millisecond timestamp)
            request.setBizDate(bizDate); // Set business date (millisecond timestamp)
            request.setAppId(appId); // Set application ID
            RuntimeOptions runtime = new RuntimeOptions(); // Initialize runtime options
            return client.runTriggerNodeWithOptions(request, runtime); // Execute the API call and return the response
        }
        // Main entry method
        public static void main(String[] args) throws Exception {
            // Initialize node ID (example value)
            String nodeId1 = "";
            // Initialize scheduled time and business date (example values)
            String cycTimeStr = "";
            String bizTimeParam = "";
            // Process command-line arguments in a for loop, assigning values to nodeId1, cycTimeParam, and bizTimeParam
            int i;
            for(i = 0; i < args.length; ++i) {
                if (i == 0) {
                    nodeId1 = args[i];
                } else if (i == 1) {
                    cycTimeStr = args[i];
                }else if (i == 2) {
                    bizTimeParam = args[i];
                }
            }
            // Convert string to Long type node ID
            Long nodeId = Long.parseLong(nodeId1);
            // Print usage instructions
            System.out.println("Usage: java -jar test-1.0-SNAPSHOT.jar nodeId cycTimeParam bizTimeParam");
            // Parse scheduled time and convert to timestamp
            SimpleDateFormat sdft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(sdft.parse(cycTimeStr)); // Parse time string
            Long cycTime = calendar.getTimeInMillis(); // Get millisecond timestamp
            // Parse business date and convert to timestamp
            SimpleDateFormat sdfti = new SimpleDateFormat("yyyy-MM-dd");
            Calendar calendari = Calendar.getInstance();
            calendari.setTime(sdfti.parse(bizTimeParam));
            Long bizTime = calendari.getTimeInMillis();
            // Print debug info (timestamps)
            System.out.println("Scheduled timestamp: " + cycTime);
            System.out.println("Business date timestamp: " + bizTime);
            // Configure Alibaba Cloud service parameters
            String endpoint = "dataworks.cn-hangzhou.aliyuncs.com"; // Service endpoint
            String accessId = "xxx"; // AccessKey ID
            String accessKey = "xxx"; // AccessKey Secret
            Long appId = Long.valueOf(xxx); // Application ID (replace with actual value)
            // Create Alibaba Cloud client instance
            Client client = createClient20200518(accessId, accessKey, endpoint);
            // Execute trigger node operation
            RunTriggerNodeResponse response = runTriggerNode(client, nodeId, cycTime, bizTime, appId);
            // Print API response result (JSON format)
            System.out.println(com.aliyun.teautil.Common.toJSONString(com.aliyun.teautil.Common.toMap(response)));
        }
    }
    

    Substitua os parâmetros endpoint, accessId, accessKey e appId no código acima pelos valores reais.

    Parâmetro

    Descrição

    endpoint

    O endpoint do workspace onde reside o nó de gatilho HTTP alvo. Para mais informações, consulte endpoints do Portal do Desenvolvedor OpenAPI da Alibaba Cloud.

    accessId

    O AccessKey ID da conta Alibaba Cloud proprietária do workspace onde reside o nó de gatilho HTTP alvo.

    Faça login no console do DataWorks, passe o mouse sobre o ícone de perfil no canto superior direito da barra de navegação e acesse AccessKey para obter o AccessKey ID e o AccessKey Secret.

    Aviso

    O AK de uma conta raiz da Alibaba Cloud possui permissões totais. Se o AK vazar, riscos graves de segurança podem ocorrer. Recomendamos o uso do AK de um usuário ram que tenha apenas a função de administrador do workspace no workspace alvo.

    accessKey

    O AccessKey Secret da conta Alibaba Cloud proprietária do workspace onde reside o nó de gatilho HTTP alvo.

    appId

    O ID do workspace onde reside o nó de gatilho HTTP alvo. Você pode visualizar o ID do workspace em Administration.

  3. Empacote o código acima em um arquivo JAR com o sufixo jar-with-dependencies.jar.

Ambiente do Tenant A: Configurar um nó shell

Siga estas etapas para configurar um nó shell no workspace do Tenant A visando acionar o nó de gatilho HTTP no workspace do Tenant B.

  1. Crie e carregue um recurso JAR.

    Crie o arquivo JAR empacotado na etapa Ambiente local: Preparar o código como um recurso MaxCompute. Para mais informações, consulte Criar e usar recursos.

  2. Desenvolva o nó shell de acionamento.

    Crie um nó shell e referencie um recurso MaxCompute no nó shell. Preencha os parâmetros de execução do código de gatilho no nó shell. O código de exemplo é fornecido abaixo:

    ##@resource_reference{"http_node_work.jar"}
     java -jar http_node_work.jar nodeId "cycleTime" "bizDate"

    Parâmetro

    Descrição

    http_node_work.jar

    Nome do recurso referenciado.

    nodeId

    O task ID do nó de gatilho HTTP registrado na etapa Ambiente do Tenant B: Criar um fluxo de trabalho com nó de gatilho HTTP.

    cycleTime

    O Scheduled Time da tarefa do nó de gatilho registrado na etapa Ambiente do Tenant B: Criar um fluxo de trabalho com nó de gatilho HTTP. O formato de tempo é yyyy-MM-dd HH:mm:ss.

    bizDate

    A Business Date da tarefa do nó de gatilho registrada na etapa Ambiente do Tenant B: Criar um fluxo de trabalho com nó de gatilho HTTP. O formato de tempo é yyyy-MM-dd HH:mm:ss.

  3. Configure o nó shell de acionamento.

    No lado direito da página de edição do nó shell, em Scheduling Settings, navegue até Resource Group > Resource Group for Scheduling e defina-o como o grupo de recursos serverless associado ao workspace.

Executar e visualizar resultados

Execute o nó shell no Tenant A para acionar o nó de gatilho HTTP e suas tarefas downstream no Tenant B.

  1. Execute o nó shell de acionamento.

    Clique no ícone image na barra de ferramentas acima do nó shell configurado na etapa Ambiente do Tenant A: Configurar um nó shell para executar a tarefa do nó.

  2. Visualize os resultados da execução.

    Acesse o ambiente do Tenant B e siga os passos abaixo para verificar os resultados.

    1. Faça login no console do DataWorks. Na região desejada, clique em Data Development and O&M > Operation Center no painel de navegação à esquerda. Selecione um workspace na lista suspensa e clique em Go to Operation Center.

    2. No painel de navegação à esquerda, clique em Auto Triggered Task O&M > Cycle Examples para acessar a página de instâncias agendadas.

    3. Localize a instância do nó de gatilho HTTP que deseja acionar e verifique os resultados da execução.