すべてのプロダクト
Search
ドキュメントセンター

DataWorks:Shell ノードで ossutil を使用して OSS にアクセス

最終更新日:Jan 17, 2026

DataWorks の Shell ノード (通常の Shell ノードおよび EMR Shell ノードを含む) には、ossutil ツールがプリインストール済みです。これにより、ファイルのアップロード、ダウンロード、バッチ操作、バケット管理などのタスクを実行できます。このトピックでは、Shell ノードおよび EMR Shell ノードで ossutil コマンドラインツールを使用して Object Storage Service (OSS) にアクセスする方法について説明します。

機能概要

DataWorks の Shell ノード (通常の Shell ノードおよび EMR Shell ノードを含む) には、Alibaba Cloud OSS コマンドラインツール ossutil がプリインストール済みです。これにより、ファイルのアップロード、ダウンロード、バッチ操作、バケット管理などのタスクを実行できます。ossutil を使用して OSS にアクセスするには、設定ファイルでアクセス認証情報を設定するか、コマンドラインパラメーターを使用します。ossutil の設定方法の詳細については、「ossutil の設定」をご参照ください。

説明

ossutil は DataWorks 環境にプリインストール済みのため、インストールは不要です。デフォルトのパスは /home/admin/usertools/tools/ossutil64 です。ls -l /home/admin/usertools/tools/ コマンドを実行して、このディレクトリ内のツールリストを表示し、ossutil64 が存在することを確認できます。次の図は、出力例です。

image

以下のセクションでは、Shell ノードを例に、2 つの設定方法について説明します。

コマンドラインパラメーターを使用した OSS へのアクセス

  1. Shell ノードで、ノードのコンテンツを編集します。次のサンプルコードでは、ossutil を使用して指定された OSS エンドポイントに接続し、現在のアカウントがアクセス権を持つすべてのバケットをリストアップします。

    /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 の設定」をご参照ください。

    重要

    コマンドラインパラメーターで AccessKey ペアを渡すと、キーが漏洩するセキュリティリスクがあります。このメソッドの使用には注意を払うことを推奨します。

  2. 結果の検証

    image アイコンをクリックし、サーバーレスリソースグループを選択して Shell ノードタスクを実行します。次の図は、結果の例です。

    image

設定ファイルを使用した OSS へのアクセス

  1. ossutil 設定ファイルを作成し、OSS にアップロードします。

    1. 設定ファイルの作成

      ローカルマシンで、myconfig.txt という名前のファイルを作成します。次のコードは、ファイル内容の例です。

      [Credentials]
      language = EN
      endpoint = <Endpoint> #例: oss-cn-shanghai.aliyuncs.com
      accessKeyID = <AccessKeyID>
      accessKeySecret = <AccessKeySecret>
      説明

      EndpointAccessKeyIDAccessKeySecret を、ご利用の Alibaba Cloud OSS エンドポイントと、必要な権限を持つ RAM ユーザーの AccessKey ペアに置き換えてください。パラメーター値は引用符で囲まないでください。パラメーターの詳細については、「ossutil の設定」をご参照ください。

    2. 設定ファイルのアップロード

      myconfig.txt ファイルを OSS にアップロードします。詳細については、「簡易アップロード」をご参照ください。

    3. ダウンロードリンクの表示

      OSS にアップロードされたファイルの [操作] 列で、[詳細] をクリックします。[HTTPS を使用] を無効にし、[ファイル URL をコピー] をクリックします。

      image

      image

  2. サーバーレスリソースグループへの設定ファイルのダウンロード

    DataWorks の[イメージ管理]ページで、カスタムイメージを作成し、構成ファイルを Serverless リソースグループにダウンロードします。

    1. イメージの作成

      DataWorks コンソールにログインし、ターゲットリージョンに切り替えます。 左側のナビゲーションウィンドウで、[イメージ管理] をクリックします。 [イメージ管理] ページで、[カスタムイメージ] タブに移動し、[イメージの作成] をクリックします。 「イメージの作成」パネルで、次のパラメーターを設定してイメージを作成します。

      パラメーター

      値の例

      イメージ名

      コマンド名はカスタマイズできます。

      イメージの説明

      カスタムコマンドの説明。

      参照タイプ

      DataWorks 公式イメージ (デフォルト)。

      イメージの名前空間

      DataWorks デフォルト (デフォルト)。

      イメージリポジトリ

      DataWorks デフォルト (デフォルト)。

      イメージ名/ ID

      dataworks_shell_task_pod:xxx を選択します。これは Shell ノード用の DataWorks 公式イメージです。

      表示範囲

      必要に応じて範囲を選択します。

      • 作成者のみに表示。

      • すべてに表示。

      サブプロダクトの使用

      Data Studio (デフォルト)。

      サポートされているタスクタイプ

      Shell (デフォルト)。

      インストールパッケージ

      [インストールパッケージ] のドロップダウンリストから スクリプト を選択します。 コマンドボックスに、次のコマンドを入力します。

      # ダウンロード
      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. Data Studio ページに移動します。

        DataWorks コンソールにログオンし、ターゲットリージョンに切り替えます。 左側のナビゲーションウィンドウで、[データ開発と O&M] > [Data Studio] を選択します。 ドロップダウンリストからターゲットワークスペースを選択し、[Data Studio に移動] をクリックします。

      2. 通常の Shell ノードを作成します。

        Data Studio で、対象のビジネスフローを右クリックし、[ノードの作成] を選択し、[一般] フォルダの [Shell] を選択します。

    2. Shell ノードで、ノードのコンテンツを編集します。次のサンプルコードでは、ossutil を使用して myconfig.txt で指定された OSS エンドポイントに接続し、myconfig.txt で指定されたアカウントがアクセス権を持つすべてのバケットをリストアップします。

      /home/admin/usertools/tools/ossutil64 -c /home/admin/usertools/tools/myconfig.txt ls -s
    3. image アイコンをクリックします。イメージを公開する際にテストで使用したサーバーレスリソースグループを選択し、作成して公開したカスタムイメージを指定します。その後、Shell ノードタスクを実行します。正常に実行されると、次の図のような結果が表示されます。

      image

    4. ノードの [スケジューリング構成] タブの [リソースプロパティ] セクションで、ターゲットリソースグループを選択し、作成して公開した カスタムイメージ を指定します。スケジューリング構成を保存します。次に、シェルノードを開発環境にコミットし、本番環境に公開します。

関連ドキュメント

最新バージョンの Data Studio では、Shell ノードに RAM ロールをアタッチできます。これにより、ノードは Security Token Service (STS) を使用して一時的なセキュリティ認証情報を動的に取得し、ossutil を安全に呼び出して OSS にアクセスできます。詳細については、「特定の RAM ロールを使用するようにノードを設定する」をご参照ください。