Secara default, MaxCompute tidak mengizinkan user-defined function (UDF) untuk mengakses Virtual Private Cloud (VPC) secara langsung. Untuk mengakses resource di dalam VPC dari UDF, Anda harus terlebih dahulu membuat koneksi jaringan antara MaxCompute dan VPC tujuan. Topik ini menjelaskan cara mengakses resource VPC dari UDF.
Prasyarat
Pastikan Anda memenuhi kondisi berikut:
-
Anda telah menulis kode UDF.
Untuk informasi lebih lanjut tentang cara menulis dan mendaftarkan UDF, lihat Java UDFs atau Python UDF.
-
Anda telah menginstal client MaxCompute.
Untuk informasi lebih lanjut tentang cara menginstal dan mengonfigurasi client MaxCompute, lihat Install and configure the MaxCompute client.
Informasi latar belakang
Untuk mengakses resource VPC dari UDF, Anda harus membuat koneksi jaringan antara MaxCompute dan VPC tujuan. Untuk informasi lebih lanjut, lihat Create a network connection. Setelah koneksi jaringan dibuat, tambahkan properti set odps.session.networklink=<networklink_name>; sebelum pernyataan SQL yang memanggil UDF tersebut, lalu kirimkan keduanya bersamaan. networklink_name adalah nama koneksi jaringan yang telah Anda buat.
Batasan
Karena keterbatasan berdasarkan wilayah, Anda hanya dapat mengakses resource VPC dari UDF di wilayah-wilayah berikut: Tiongkok (Beijing), Tiongkok (Shanghai), Tiongkok (Zhangjiakou), Tiongkok (Hangzhou), Tiongkok (Shenzhen), Tiongkok (Hong Kong), Singapura, Jerman (Frankfurt), dan AS (Virginia).
Langkah 1: Membuat koneksi jaringan
Masuk ke Konsol MaxCompute. Di pojok kiri atas, pilih wilayah. Di panel navigasi sebelah kiri, pilih Tenants > Network Connection untuk membuat koneksi jaringan. Untuk petunjuk lengkap, lihat Create a network connection.
Langkah 2: Mengakses resource VPC melalui UDF
-
Daftarkan fungsi.
-
Unduh udf-3.jar.
-
Letakkan file JAR yang telah diunduh ke direktori
binpada instalasi client MaxCompute lokal Anda. Kemudian, jalankan perintah berikut untuk mengunggah file JAR tersebut sebagai resource.CatatanJika file JAR berada di direktori lain, Anda harus menyertakan path lengkap dalam perintah tersebut.
add jar udf-3.jar; -
Jalankan perintah berikut untuk mendaftarkan fungsi:
create FUNCTION t_telnet as 'com.ali.odps.udf.Telnet' USING 'udf-3.jar';
-
-
Jalankan pernyataan SQL untuk memanggil UDF.
set odps.sql.type.system.odps2=true; -- Tentukan nama koneksi jaringan yang dikonfigurasi untuk VPC. Pengaturan ini hanya berlaku untuk sesi saat ini. set odps.session.networklink=testLink; -- Jalankan pernyataan SQL untuk memanggil UDF dan mengakses resource VPC. select t_telnet("172.16.xxx.xxx",<port>,<timeout>);Jika perintah mengembalikan nilai
True, koneksi jaringan berhasil dibuat dan Anda dapat memanggil UDF tersebut. Jika terjadi error, periksa kembali konfigurasi koneksi jaringan Anda.