全部產品
Search
文件中心

DataWorks:Shell類型節點使用ossutil訪問OSS

更新時間:Jan 16, 2026

DataWorks Shell類型節點(包括通用Shell節點和EMR Shell節點)原生整合ossutil,支援檔案上傳、下載、大量操作及Bucket管理等任務。本文將詳細介紹如何在Shell和EMR Shell節點中使用ossutil命令列工具訪問OSS。

功能概述

DataWorks Shell類型節點(包括通用Shell節點和EMR Shell節點)原生整合阿里雲OSS命令列工具ossutil,支援檔案上傳、下載、大量操作及Bucket管理等任務。您可通過設定檔方式或命令列參數方式配置訪問憑證使用ossutil訪問OSS。瞭解更多關於ossutil配置資訊,請參見配置ossutil

說明

ossutil 已預裝在DataWorks環境中,無需手動安裝。預設路徑為 /home/admin/usertools/tools/ossutil64。您可通過執行命令 ls -l /home/admin/usertools/tools/ 查看該目錄下的工具列表,確認 ossutil64 是否存在(樣本輸出見下圖)。

image

以下以Shell節點為例說明兩種配置方法。

命令列參數方式訪問OSS

  1. 在Shell節點中,編輯節點內容,以下範例程式碼旨在通過ossutil嘗試串連指定OSS Endpoint,並列出當前帳號有許可權訪問的所有Bucket。

    /home/admin/usertools/tools/ossutil64 -e <OSSEndPoint> -i <AccessKeyID> -k <AccessKeySecret> ls -s 
    if [[ $? == 0 ]];then
        echo "access oss success"
    else
        echo "failed"
        exit 1
    fi
    echo "finished"
    說明

    您需將代碼中的OSSEndPointAccessKeyIDAccessKeySecret資訊替換成實際值。參數詳情請參見配置ossutil

    重要

    通過命令列參數傳入存取金鑰,存在密鑰泄露的風險,請謹慎使用。

  2. 結果驗證。

    點擊image,選擇Serverless資源群組,執行通用Shell節點任務。結果如下:

    image

設定檔方式訪問OSS

  1. 建立ossutil設定檔,並上傳至OSS。

    1. 建立設定檔。

      在本地建立myconfig.txt檔案,檔案內容樣本如下:

      [Credentials]
      language = CH
      endpoint = <Endpoint> #如oss-cn-shanghai.aliyuncs.com
      accessKeyID = <AccessKeyID>
      accessKeySecret = <AccessKeySecret>
      說明

      您需將代碼中的 EndpointAccessKeyID 和 AccessKeySecret 替換為實際的阿里雲OSS Endpoint和具備相應許可權的RAM使用者密鑰。注意:參數值無需加引號;參數詳情請參見配置ossutil

    2. 上傳設定檔。

      myconfig.txt檔案上傳到OSS。詳情請參見簡單上傳

    3. 查看下載連結。

      單擊上傳到OSS的文檔對應的操作項的詳情,關閉使用HTTPS後單擊複製檔案URL

      image

      image

  2. 下載Config檔案至Serverless資源群組。

    在DataWorks的鏡像管理頁面,建立自訂鏡像,下載Config檔案至Serverless資源群組。

    1. 建立鏡像。

      登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的鏡像管理,在鏡像管理頁面找到自訂鏡像頁簽,單擊下方建立鏡像按鈕進行建立。您可在建立鏡像頁面參考以下參數進行建立鏡像:

      參數

      樣本值

      鏡像名稱

      自訂命令名稱。

      鏡像描述

      自訂命令描述。

      參考型別

      DataWorks官方鏡像(預設)。

      鏡像命名空間

      DataWorks Default(預設)。

      鏡像倉庫

      DataWorks Default(預設)。

      鏡像名稱/ID

      選擇dataworks_shell_task_pod:xxx:DataWorks Shell節點官方鏡像。

      可見範圍

      您可根據業務情況進行選擇:

      • 僅建立者可見。

      • 全域可見。

      使用子產品

      資料開發(預設)。

      支援任務類型

      Shell(預設)。

      安裝包

      安裝包下拉框選擇Script方式。並在命令框輸入以下命令:

      # 下載
      wget 'http://<yourConfigURL>' -O /home/admin/usertools/tools/<configName>
      說明
      • http://<yourConfigURL>參數您需替換成從OSS的文檔詳情中複製的檔案URL。

      • <configName>參數可設定為需從OSS中下載的檔案名稱myconfig.txt

      單擊下方確認按鈕完成鏡像建立。

    2. 測試發布。

      單擊您所建立的鏡像右側操作列中的發布,進入發布鏡像頁面,選擇測試資源群組,單擊測試結果右側的測試。等待測試成功,單擊下方發布按鈕進行發布。

    3. 針對所發布的自訂鏡像,在操作列單擊 更多修改歸屬工作空間。將該鏡像綁定至目標工作空間。

      image

      image

  3. 按照命令設定檔的方式使用ossutil命令列工具。

    1. 建立通用Shell節點。

      1. 進入資料開發頁面。

        登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的資料開發與營運 > 資料開發,在下拉框中選擇目標工作空間後單擊進入資料開發

      2. 建立通用Shell節點。

        在資料開發頁面按右鍵目標商務程序,選擇建立節點,在通用目錄下選擇Shell節點進行建立。

    2. 在Shell節點中,編輯節點內容,以下範例程式碼旨在通過ossutil嘗試串連myconfig.txt中所指定的 OSS Endpoint,並列出myconfig.txt中所指定帳號有許可權訪問的所有 Bucket。

      /home/admin/usertools/tools/ossutil64 -c /home/admin/usertools/tools/myconfig.txt ls -s
    3. 單擊image,選擇您在測試發布鏡像過程中測試成功的Serverless資源群組,並指定您已建立並發布的自訂鏡像,執行通用Shell節點任務。運行成功後,樣本結果如下:

      image

    4. 在節點的調度配置中,於資源屬性地區選取項目目標資源群組,並指定您已建立並發布的自訂鏡像,儲存調度配置後,將該Shell節點提交至開發環境,並發布至生產環境。

相關文檔

在新版資料開發中,針對Shell節點,支援通過綁定RAM角色,利用STS動態擷取臨時安全憑證,安全調用ossutil訪問OSS。詳情請參見相關文檔:配置節點關聯角色