Shellノードでは、オブジェクトストレージサービス(OSS)コマンドラインツール ossutil を使用できます。このトピックでは、一般的なShellノードまたはE-MapReduce(EMR)Shellノードで ossutil を使用する方法について説明します。
前提条件
EMR Shellノードを使用するための前提条件については、EMR Shellノードの作成をご参照ください。
一般的なShellノードを使用するための前提条件については、Shellノードの作成をご参照ください。
制限事項
EMR Shellノードを使用する場合の制限事項については、EMR Shellノードの作成をご参照ください。
説明EMR Shellノードを実行するために使用されるサーバーレスリソースグループのEMR Shellイメージは、ossutil をサポートしていません。 ossutil を使用する場合、一般的なShellノードを使用するか、カスタムイメージを使用して ossutil をインストールできます。カスタムイメージを使用して ossutil をインストールする方法の詳細については、イメージの管理をご参照ください。
一般的なShellノードを使用する場合の制限事項については、Shellノードの作成をご参照ください。
Shellノードで ossutil を使用してアカウント内のバケットを一覧表示する
DataWorksでは、EMR Shellノードと一般的なShellノードで同じ方法で ossutil を使用してOSSにアクセスできます。この例では、一般的なShellノードを使用して、ossutil を使用してアカウント内のバケットを一覧表示する2つの方法について説明します。特定のビジネス要件に合わせて、ossutil の一般的なコマンドを参照することもできます。詳細については、ossutil 1.0をご参照ください。
コマンドラインオプションを使用する
一般的なShellノードを作成します。
DataStudioページに移動します。
DataWorks コンソールにログインします。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションウィンドウで、 を選択します。表示されたページで、ドロップダウンリストから目的のワークスペースを選択し、[データ開発に移動] をクリックします。
一般的なShellノードを作成します。
DataStudioページで、目的のワークフローを見つけ、ワークフロー名を右クリックし、[ノードの作成] > [一般] > [shell] を選択します。「ノードの作成」ダイアログボックスで、「名前」パラメーターを設定し、「確認」をクリックします。
一般的なShellノードの構成タブで、ノードコードを記述します。
/home/admin/usertools/tools/ossutil64 -e <OSSEndPoint> -i <AccessKeyID> -k <AccessKeySecret> ls -s if [[ $? == 0 ]];then echo "access oss success" // OSSへのアクセス成功 else echo "failed" // 失敗 exit 1 fi echo "finished" // 終了説明ノードコードの
OSSEndPoint、AccessKeyID、AccessKeySecretを実際の値に置き換える必要があります。パラメーター設定の詳細については、「ossutil を構成する」をご参照ください。結果を確認します。
一般的なShellノードの構成タブの上部ツールバーで、
アイコンをクリックし、サーバーレスリソースグループを選択して、一般的なShellノードでタスクを実行します。次の図は結果を示しています。
コマンド構成ファイルを使用する
ossutil 構成ファイルを構成し、OSSにアップロードします。
構成ファイルを準備します。
オンプレミス マシンに
myconfig.txtという名前のファイルを作成します。ファイルには、次のサンプルコードが含まれています。[Credentials] language = CH endpoint = https://oss-cn-hangzhou.aliyuncs.com accessKeyID = <AccessKeyID> accessKeySecret = <AccessKeySecret>説明コード内の
https://oss-cn-hangzhou.aliyuncs.com、AccessKeyID、AccessKeySecretを実際の値に置き換える必要があります。パラメーター設定の詳細については、「ossutil を構成する」をご参照ください。構成ファイルをアップロードします。
myconfig.txtファイルを OSS にアップロードします。詳細については、「シンプルアップロード」をご参照ください。ダウンロードリンクを表示します。
アップロードされた構成ファイルに対応する [アクション] 列の [詳細の表示] をクリックします。「詳細の表示」パネルで、[HTTPSを使用] をオフにして、[オブジェクトURLのコピー] をクリックします。


構成ファイルをサーバーレスリソースグループにダウンロードします。
DataWorksコンソールの [イメージ管理] ページで、カスタムイメージを作成し、構成ファイルをサーバーレスリソースグループにダウンロードします。
イメージを作成します。
DataWorksコンソールにログインします。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションペインで、[イメージ管理] をクリックします。 [イメージ管理] ページで、[カスタムイメージ] タブをクリックします。次に、[イメージの作成] をクリックします。「イメージの作成」パネルで、パラメーターを設定します。次の表は、パラメーターについて説明しています。
パラメーター
説明
イメージ名
カスタムコマンド名。
イメージの説明
カスタムコマンドの説明。
参照タイプ
DataWorks公式イメージを選択します。これはデフォルト値です。
イメージの名前空間
DataWorksデフォルトを選択します。これはデフォルト値です。
イメージリポジトリ
DataWorksデフォルトを選択します。これはデフォルト値です。
イメージ名/ ID
Shellノードで使用できる DataWorks 公式イメージである
dataworks_shell_task_pod:xxxを選択します。表示範囲
ビジネス要件に基づいて、カスタムイメージが表示される範囲を選択します。有効な値:
作成者のみ表示
全員に表示
モジュール
DataStudioを選択します。これはデフォルト値です。
サポートされているタスクタイプ
Shellを選択します。これはデフォルト値です。
インストールパッケージ
[インストールパッケージ] ドロップダウンリストから
スクリプトを選択します。次に、コマンドボックスに次のコマンドを入力します。# ダウンロード wget 'http://<yourConfigURL>' -O /home/admin/usertools/tools/<configName>説明http://<yourConfigURL>を、OSS コンソールの「詳細の表示」パネルからコピーしたオブジェクト URL に置き換えます。<configName>をmyconfig.txtに置き換えます。
[OK] をクリックします。
イメージをテストして公開します。
作成したイメージに対応する [アクション] 列の [公開] をクリックします。 [イメージの公開] パネルで、[テストリソースグループ] パラメーターを設定し、[テスト結果] の右側にある [テスト] をクリックします。テストが成功したら、[公開] をクリックします。
コマンド構成ファイルに基づいて ossutil を使用します。
一般的なShellノードを作成します。
DataStudioページに移動します。
DataWorks コンソールにログインします。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションウィンドウで、 を選択します。表示されたページで、ドロップダウンリストから目的のワークスペースを選択し、[データ開発に移動] をクリックします。
一般的なShellノードを作成します。
DataStudioページで、目的のワークフローを見つけ、ワークフロー名を右クリックし、[ノードの作成] > [一般] > [shell] を選択します。「ノードの作成」ダイアログボックスで、「名前」パラメーターを設定し、「確認」をクリックします。
一般的なShellノードの構成タブで、ノードコードを記述します。
/home/admin/usertools/tools/ossutil64 -c /home/admin/usertools/tools/myconfig.txt ls -s結果を確認します。
一般的なShellノードの構成タブの上部ツールバーで、
アイコンをクリックし、イメージのテストと公開プロセスでテストに合格した作成済みのカスタムイメージとサーバーレスリソースグループを選択して、一般的なShellノードでタスクを実行します。次の図は結果を示しています。