全部產品
Search
文件中心

MaxCompute:通過UDF訪問VPC網路資源

更新時間:Dec 24, 2024

MaxCompute預設不支援通過UDF直接存取VPC網路。若您需要在UDF中訪問VPC網路資源,必須先建立MaxCompute與目標VPC之間的網路連接,本文以具體樣本為您介紹如何通過UDF訪問VPC網路資源。

前提條件

請確認您已滿足如下條件:

背景資訊

通過UDF訪問VPC網路資源時,需要通過網路開通流程建立MaxCompute與目標VPC網路間的網路連接。建立網路連接後,在使用SQL命令調用UDF前,需要在SQL語句前增加set odps.session.networklink=<networklink_name>;屬性與SQL語句一起提交執行。networklink_name為建立的網路連接名稱。

使用限制

由於專用網路串連方案存在地區限制,僅華北2(北京)、華東2(上海)、華北3(張家口)、華東1(杭州)、華南1(深圳)、中國(香港)、新加坡、德國(法蘭克福)、美國(維吉尼亞)地區支援通過UDF訪問VPC網路資源。

步驟一:建立網路連接

登入MaxCompute控制台,在左上方選擇地區,然後在租戶管理>網路連接中新增網路連接。詳細操作指導請參見訪問VPC方案(專線直連)

步驟二:調用UDF訪問VPC網路資源

  1. 安裝並登入MaxCompute本地用戶端

  2. 註冊函數。

    1. 下載udf-3.jar

    2. 將上述已下載的JAR包存放在本地MaxCompute用戶端的bin目錄下,並將其上傳為資源,命令樣本如下。

      說明

      若JAR包位於其他目錄下,需在包名前添加具體路徑。

      add jar udf-3.jar;
    3. 註冊函數,命令樣本如下。

      create FUNCTION  t_telnet as 'com.ali.odps.udf.Telnet' USING 'udf-3.jar';
  3. 執行SQL命令調用UDF。

    set odps.sql.type.system.odps2=true;
    --設定網路連接名稱,即基於專用網路串連方案配置的網串連名稱,僅本Session有效。
    set odps.session.networklink=testLink;
    --執行SQL調用UDF訪問VPC網路資源。
    select t_telnet("172.16.xxx.xxx",<連接埠>,<逾時時間>);

    執行結果返回True,表示網路已連通,UDF可正常調用。如果返回報錯,請重新確認網路連接資訊配置是否正確。