Les nœuds Shell de DataWorks, y compris les nœuds Shell standard et les nœuds EMR Shell, intègrent nativement ossutil. Cette intégration vous permet de télécharger et mettre en ligne des fichiers, d'effectuer des opérations par lot et de gérer des buckets. Cette rubrique décrit comment utiliser l'outil de ligne de commande ossutil dans les nœuds Shell et EMR Shell pour accéder à OSS.
Présentation
Les nœuds Shell de DataWorks, qu'il s'agisse de nœuds Shell standard ou de nœuds EMR Shell, intègrent nativement l'outil de ligne de commande Alibaba Cloud Object Storage Service (OSS), ossutil. Configurez ossutil pour accéder à OSS en fournissant vos identifiants via un fichier de configuration ou directement en tant que paramètres de ligne de commande. Pour plus d'informations sur la configuration de ossutil, consultez la rubrique Configurer ossutil.
L'outil de ligne de commande ossutil est préinstallé dans l'environnement DataWorks. Le chemin d'accès par défaut est /home/admin/usertools/tools/ossutil64. Exécutez la commande ls -l /home/admin/usertools/tools/ pour afficher la liste des outils présents dans ce répertoire et vérifier l'existence de ossutil64. La figure suivante illustre un exemple de sortie.

Les sections suivantes utilisent un nœud Shell comme exemple pour décrire les deux méthodes de configuration.
Utilisation des paramètres de ligne de commande
-
Dans le nœud Shell, modifiez le contenu du nœud. L'exemple de code suivant utilise
ossutilpour se connecter à un endpoint OSS spécifié et répertorier tous les buckets accessibles par le compte actuel./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"RemarqueRemplacez les espaces réservés
OSSEndPoint,AccessKeyIDetAccessKeySecretpar vos valeurs réelles. Pour plus d'informations sur ces paramètres, consultez la rubrique Configurer ossutil.ImportantLe passage d'une clé d'accès via des paramètres de ligne de commande expose cette clé, ce qui crée un risque de sécurité.
-
Vérifiez le résultat.
Cliquez sur l'icône
, sélectionnez un groupe de ressources serverless, puis exécutez la tâche du nœud Shell standard.
Utilisation d'un fichier de configuration
-
Créez un fichier de configuration ossutil et mettez-le en ligne vers OSS.
-
Créez un fichier de configuration.
Créez un fichier nommé
myconfig.txtsur votre machine locale. L'exemple de code suivant présente le contenu du fichier :[Credentials] language = CH endpoint = <Endpoint> # For example, oss-cn-shanghai.aliyuncs.com accessKeyID = <AccessKeyID> accessKeySecret = <AccessKeySecret>RemarqueRemplacez les espaces réservés
Endpoint,AccessKeyIDetAccessKeySecretpar votre endpoint Alibaba Cloud OSS réel et par la clé d'accès d'un utilisateur RAM disposant des autorisations nécessaires. Remarque : n'entourez pas les valeurs des paramètres de guillemets. Pour plus d'informations sur ces paramètres, consultez la rubrique Configurer ossutil. -
Mettez le fichier de configuration en ligne.
Mettez le fichier
myconfig.txten ligne vers OSS. Pour plus d'informations, consultez la rubrique Téléchargement simple. -
Obtenez l'URL de téléchargement.
Dans la colonne Operation de l'objet mis en ligne, cliquez sur Details. Dans le panneau qui s'affiche, désactivez l'option Use HTTPS, puis cliquez sur Copy Object URL.
-
-
Téléchargez le fichier de configuration sur un groupe de ressources serverless.
Sur la page Image Management de la console DataWorks, créez une image personnalisée afin de télécharger le fichier de configuration sur un groupe de ressources serverless.
-
Créez une image.
Connectez-vous à la console DataWorks et basculez vers la région cible. Dans le volet de navigation de gauche, cliquez sur Image Management. Sur la page Image Management, accédez à l'onglet Custom Image, puis cliquez sur Create Image. Dans le panneau qui s'affiche, configurez les paramètres comme suit :
Paramètre
Valeur d'exemple
Image Name
Saisissez un nom personnalisé pour l'image.
Description de l'image
Saisissez une description personnalisée pour l'image.
Type de référence
Image officielle DataWorks (par défaut).
Espace de noms de l'image
DataWorks default (par défaut).
Dépôt d'images
DataWorks default (par défaut).
Nom/ID de l'image
Sélectionnez
dataworks_shell_task_pod:xxx. Il s'agit de l'image officielle DataWorks pour les nœuds Shell.Visibility Scope
Sélectionnez une étendue selon vos besoins :
-
Visible uniquement par le créateur
-
Visible par tous
Module
Data Development (par défaut).
Type de tâche pris en charge
Shell (par défaut).
Package d'installation
Dans la liste déroulante Package d'installation, sélectionnez
Script. Ensuite, saisissez la commande suivante dans la zone de commande :# Download wget 'http://<yourConfigURL>' -O /home/admin/usertools/tools/<configName>Remarque-
Remplacez
http://<yourConfigURL>par l'URL de l'objet que vous avez copiée depuis le panneau des détails OSS. -
Définissez
<configName>sur le nom du fichier à télécharger depuis OSS, par exemplemyconfig.txt.
Cliquez sur OK pour créer l'image.
-
-
Testez et publiez l'image.
Cliquez sur Deploy dans la colonne Operation correspondant à l'image que vous avez créée. Sur la page Publish Image, sélectionnez Test Resource Group, puis cliquez sur Test à droite de Test Result. Une fois le message Succeeded. affiché, cliquez sur le bouton Deploy en bas de la page.
Dans la colonne Actions de l'image personnalisée publiée, cliquez sur l'icône
et sélectionnez Change Workspace. Associez l'image à l'espace de travail cible.
-
-
Utilisez l'outil de ligne de commande ossutil avec le fichier de configuration.
-
Créez un nœud Shell standard.
-
Accédez à la page Data Development.
Connectez-vous à la console DataWorks, basculez vers la région cible, puis choisissez Data Development and O&M > Data Studio dans le volet de navigation de gauche. Dans la liste déroulante, sélectionnez l'espace de travail cible et cliquez sur Go to DataStudio.
-
Créez un nœud Shell standard.
Sur la page Data Development, cliquez avec le bouton droit sur le processus métier cible, choisissez Create Node, puis sélectionnez Shell sous le répertoire General.
-
-
Dans le nœud Shell, modifiez le contenu du nœud. L'exemple de code suivant utilise
ossutilpour se connecter à l'endpoint OSS spécifié dansmyconfig.txtet répertorier tous les buckets accessibles par le compte spécifié dansmyconfig.txt./home/admin/usertools/tools/ossutil64 -c /home/admin/usertools/tools/myconfig.txt ls -s Cliquez sur l'icône
, sélectionnez le groupe de ressources serverless utilisé pour les tests, spécifiez l'image personnalisée que vous avez créée et publiée, puis exécutez la tâche du nœud Shell standard.Dans l'onglet Scheduling du nœud, sélectionnez le groupe de ressources cible dans la section Resource Group, spécifiez l'image personnalisée que vous avez créée et publiée, enregistrez la configuration de planification, validez le nœud Shell dans l'environnement de développement, puis publiez-le en production.
-
Documentation connexe
Dans la nouvelle version de Data Development, vous pouvez associer un rôle RAM à un nœud Shell et utiliser STS pour obtenir dynamiquement des identifiants de sécurité temporaires, permettant ainsi d'accéder à OSS de manière sécurisée via ossutil. Pour plus d'informations, consultez la rubrique Associer des rôles : Accéder en toute sécurité à d'autres ressources cloud.