Todos os produtos
Search
Central de documentação

MaxCompute:Acessar a rede pública

Última atualização: Oct 12, 2026

Você pode usar este método para acessar um endereço IP público ou nome de domínio usando uma função definida pelo usuário (UDF) do MaxCompute, Spark, MapReduce (MR), PyODPS ou Mars.

Observações de uso

  • Nomes de domínio de nível superior suportados: aliyun.com, amap.com, dingtalk.com, alicloudapi.com, cainiao.com, alicdn.com, taobao.com, alibaba.com, alipaydev.com e alibabadns.com.

  • Endereços IPv6 não podem ser configurados. O número de endereços IP públicos não é limitado.

  • Se um endereço de rede externa falhar na verificação automática, exclua o endereço e reenvie-o. Se o endereço ainda for necessário, você pode enviar um formulário de solicitação para configurar o endereço de rede externa. Para mais informações, consulte Processo de ativação de rede.

Procedimento

Etapa 1: Preparar uma conta e um projeto

Antes de habilitar a conectividade de rede entre o MaxCompute e o serviço de destino, certifique-se de que as seguintes condições sejam atendidas.

  1. Criar um projeto MaxCompute. Em um cenário de data lakehouse, defina o tipo de dados do projeto MaxCompute como um tipo compatível com Hive.

  2. Para acessar um serviço de destino em uma VPC, certifique-se de que a conta proprietária da VPC, a conta Alibaba Cloud usada para acessar o projeto MaxCompute e a conta de administrador do ambiente ou cluster do serviço de destino pertençam à mesma conta raiz.

Etapa 2: Editar endereços de rede externa no Project Management

Para endereços IP públicos ou nomes de domínio frequentemente usados, como aliyun.com, você pode adicioná-los e excluí-los diretamente na seção Project Management do console MaxCompute:

  1. Faça login no MaxCompute console e selecione uma região no canto superior esquerdo.

  2. No painel de navegação à esquerda, escolha Manage Configurations > Projects.

  3. Na página Projects, clique em Manage na coluna Actions do projeto de destino.

  4. Na página Project Settings, clique na guia Parameter Configuration.

  5. Na seção MaxCompute External Network, clique em Edit.

    Defina os endereços de rede externa que o MaxCompute tem permissão para acessar.

  6. Clique em Submit.

Para endereços IP públicos ou nomes de domínio que falharem na verificação automática, execute as seguintes etapas:

  1. Envie um formulário de solicitação para adicionar os endereços IP públicos ou nomes de domínio e portas à lista de permissões.

  2. Após a equipe de suporte técnico do MaxCompute receber sua solicitação, eles a revisam e concluem a configuração. A solicitação é normalmente processada em até três dias úteis. Após o processamento da solicitação, você pode prosseguir com as etapas subsequentes. Se tiver alguma objeção ao resultado da revisão, você pode enviar um ticket.

Etapa 3: Acessar o endereço de rede pública

Ao usar uma UDF SQL, Spark ou um job MaxFrame para acessar a rede pública, adicione as seguintes configurações.

Para outros tipos de jobs, ajuste as informações de configuração com base no tipo de job.



  • Os parâmetros são definidos da seguinte forma:

    -- Set the public IP address or domain name and port that you configured in the network connectivity request form. This is the public IP address or domain name that the following SQL statement will access.
    -- To access multiple domain names or ports, separate them with commas (,).
    SET odps.internet.access.list=<ip_address:port|realm_name:port>;
    -- Execute the SQL statement to call the UDF.
    SELECT <UDF_name>("<http://ip_address|realm_name>");
  • ip_address:port | domain_name:port: Obrigatório. O endereço IP público ou nome de domínio e porta de destino.

  • UDF_name: O nome da UDF usada para acessar o endereço IP público ou nome de domínio.

  • O código a seguir fornece um exemplo de job:

    package com.aliyun.odps.test.udf;
    import com.aliyun.odps.udf.UDF;
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.net.URL;
    public class <UDF_name> extends UDF {
        public String evaluate(String urlStr) throws IOException {
            URL url = new URL(urlStr);
            StringBuilder sb = new StringBuilder();
            try (BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()))) {
                String line;
                while ((line = reader.readLine()) != null) {
                    sb.append(line).append('\n');
                }
            }
            return sb.toString();
        }
    }
  • Execução: Suponha que o nome da UDF criada com base no código de exemplo seja url_fetch. Após a aprovação da solicitação de conectividade de rede, você pode executar os seguintes comandos de exemplo.

    SET odps.internet.access.list=www.aliyun.com:80;
    SELECT url_fetch("http://www.aliyun.com");



Adicione este item de configuração ao arquivo conf do cliente Spark ou aos itens de configuração ao enviar um job Spark no DataWorks.

spark.hadoop.odps.cupid.smartnat.enable = true;
spark.hadoop.odps.cupid.internet.access.list=<ip_address:port>



Os parâmetros são definidos da seguinte forma:

from maxframe import options
options.sql.settings = {
    "odps.internet.access.list": "<host>:80,<host>:443",
}

(Opcional) Etapa 4: Adicionar endereços IP à lista de permissões

Se o controle de acesso estiver habilitado no lado do servidor, adicione os endereços IP de egresso que o MaxCompute usa para acesso à rede pública à lista de permissões do serviço.