Por padrão, o MaxCompute não permite que funções definidas pelo usuário (UDFs) acessem diretamente uma Virtual Private Cloud (VPC). Para acessar recursos em uma VPC a partir de uma UDF, estabeleça primeiro uma conexão de rede entre o MaxCompute e a VPC de destino. Este tópico demonstra como acessar recursos de VPC por meio de uma UDF.
Pré-requisitos
Certifique-se de atender às seguintes condições:
-
Escreva o código da UDF.
Para mais informações sobre como escrever e registrar UDFs, consulte Java UDFs ou Python UDF.
-
Instale o cliente do MaxCompute.
Para mais detalhes sobre como instalar e configurar o cliente do MaxCompute, consulte Install and configure the MaxCompute client.
Informações básicas
Para acessar recursos de VPC a partir de uma UDF, crie uma conexão de rede entre o MaxCompute e a VPC de destino. Para mais informações, consulte Create a network connection. Após criar a conexão de rede, adicione a propriedade set odps.session.networklink=<networklink_name>; antes da instrução SQL que chama a UDF e envie-as juntas. O parâmetro networklink_name corresponde ao nome da conexão de rede criada.
Limites
Devido a limitações específicas de cada região, o acesso a recursos de VPC por meio de UDF está disponível apenas nas seguintes regiões: China (Beijing), China (Shanghai), China (Zhangjiakou), China (Hangzhou), China (Shenzhen), China (Hong Kong), Singapore, Germany (Frankfurt) e US (Virginia).
Etapa 1: Criar uma conexão de rede
Faça login no console do MaxCompute. No canto superior esquerdo, selecione uma região. No painel de navegação à esquerda, escolha Tenants > Network Connection para criar a conexão de rede. Para instruções detalhadas, consulte Create a network connection.
Etapa 2: Acessar recursos de VPC via UDF
-
Registre a função.
Baixe o arquivo udf-3.jar.
-
Coloque o arquivo JAR baixado no diretório
binda instalação local do seu cliente MaxCompute. Em seguida, execute o comando abaixo para fazer upload do arquivo JAR como recurso.NotaCaso o arquivo JAR esteja em outro diretório, inclua o caminho completo no comando.
add jar udf-3.jar; -
Execute o seguinte comando para registrar a função:
create FUNCTION t_telnet as 'com.ali.odps.udf.Telnet' USING 'udf-3.jar';
-
Execute uma instrução SQL para chamar a UDF.
set odps.sql.type.system.odps2=true; -- Specify the name of the network connection configured for the VPC. This setting is valid only for the current session. set odps.session.networklink=testLink; -- Run the SQL statement to call the UDF and access the VPC resource. select t_telnet("172.16.xxx.xxx",<port>,<timeout>);Se o comando retornar
True, a conexão de rede foi estabelecida com sucesso e você poderá chamar a UDF. Caso ocorra algum erro, verifique a configuração da sua conexão de rede.