Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utiliser Apache Oozie comme source pour AWS SCT
Vous pouvez utiliser l'interface de ligne de AWS SCT commande (CLI) pour convertir les flux de travail Apache Oozie en. AWS Step Functions Après avoir migré vos charges de travail Apache Hadoop vers Amazon EMR, vous pouvez utiliser un service natif dans le AWS Cloud pour orchestrer vos tâches. Pour plus d'informations, veuillez consulter Utiliser Apache Hadoop comme source.
AWS SCTconvertit vos flux de travail Oozie AWS Step Functions et les utilise pour AWS Lambda émuler des fonctionnalités qui AWS Step Functions ne sont pas prises en charge. AWS SCTConvertit également vos propriétés d'emploi Oozie en. AWS Systems Manager
Pour convertir les flux de travail Apache Oozie, assurez-vous d'utiliser AWS SCT la version 1.0.671 ou supérieure. Familiarisez-vous également avec l'interface de ligne de commande deAWS SCT. Pour plus d'informations, veuillez consulter AWS SCT Référence CLI.
Prérequis pour utiliser Apache Oozie comme source
Les prérequis suivants sont requis pour se connecter à Apache Oozie à l'aide de l'interface de ligne de commande. AWS SCT
-
Créez un compartiment Amazon S3 pour stocker les définitions des machines d'état. Vous pouvez utiliser ces définitions pour configurer vos machines d'État. Pour plus d'informations, consultez la section Création d'un bucket dans le Guide de l'utilisateur Amazon S3.
-
Créez un rôle AWS Identity and Access Management (IAM) avec la
AmazonS3FullAccess
politique. AWS SCTutilise ce rôle IAM pour accéder à votre compartiment Amazon S3. -
Prenez note de votre clé AWS secrète et de votre clé d'accès AWS secrète. Pour plus d'informations sur les clés AWS d'accès, consultez la section Gestion des clés d'accès dans le Guide de l'utilisateur IAM.
-
Stockez vos AWS informations d'identification et les informations relatives à votre compartiment Amazon S3 dans le profil AWS de service dans les paramètres globaux de l'application. AWS SCTUtilise ensuite ce profil de AWS service pour utiliser vos AWS ressources. Pour plus d'informations, veuillez consulter Stockage des profilsAWS de service dansAWS SCT.
Pour travailler avec vos flux de travail source Apache Oozie, vous AWS SCT devez disposer de la structure spécifique de vos fichiers source. Chacun de vos dossiers de candidature doit inclure le job.properties
fichier. Ce fichier inclut les paires clé-valeur de vos propriétés de travail. De plus, chacun des dossiers de votre application doit inclure le workflow.xml
fichier. Ce fichier décrit les nœuds d'action et les nœuds de flux de contrôle de votre flux de travail.
Connexion à Apache Oozie en tant que source
Utilisez la procédure suivante pour vous connecter à vos fichiers source Apache Oozie.
Pour vous connecter à Apache Oozie dans l'interface de ligne de commande AWS SCT
-
Créez un nouveau script AWS SCT CLI ou modifiez un modèle de scénario existant. Par exemple, vous pouvez télécharger et modifier le
OozieConversionTemplate.scts
modèle. Pour plus d'informations, veuillez consulter Obtenir des scénarios CLI. -
Configurez les paramètres de AWS SCT l'application.
L'exemple de code suivant enregistre les paramètres de l'application et permet de stocker des mots de passe dans votre projet. Vous pouvez utiliser ces paramètres enregistrés dans d'autres projets.
SetGlobalSettings -save: 'true' -settings: '{ "store_password": "true" }' /
-
Créez un nouveau AWS SCT projet.
L'exemple de code suivant crée le
oozie
projet dans lec:\sct
dossier.CreateProject -name: 'oozie' -directory: 'c:\sct' /
-
Ajoutez le dossier contenant vos fichiers source Apache Oozie au projet à l'aide de la
AddSource
commande. Assurez-vous d'utiliser laAPACHE_OOZIE
valeur duvendor
paramètre. Fournissez également des valeurs pour les paramètres obligatoires suivants :name
etmappingsFolder
.L'exemple de code suivant ajoute Apache Oozie en tant que source dans votre AWS SCT projet. Cet exemple crée un objet source portant le nom
OOZIE
. Utilisez ce nom d'objet pour ajouter des règles de mappage. Après avoir exécuté cet exemple de code, AWS SCT utilise lec:\oozie
dossier pour charger vos fichiers source dans le projet.AddSource -name: 'OOZIE' -vendor: 'APACHE_OOZIE' -mappingsFolder: 'c:\oozie' /
Vous pouvez utiliser cet exemple et les exemples suivants sous Windows.
-
Connectez-vous à vos fichiers source Apache Oozie à l'aide de la
ConnectSource
commande. Utilisez le nom de votre objet source que vous avez défini à l'étape précédente.ConnectSource -name: 'OOZIE' -mappingsFolder: 'c:\oozie' /
-
Enregistrez votre script CLI. Ajoutez ensuite les informations de connexion pour votre AWS Step Functions service.
Autorisations d'utilisation AWS Lambda des fonctions du pack d'extensions
Pour les fonctions source qui AWS Step Functions ne sont pas prises en charge, AWS SCT crée un pack d'extension. Ce pack d'extension inclut AWS Lambda des fonctions qui émulent vos fonctions source.
Pour utiliser ce pack d'extensions, créez un rôle AWS Identity and Access Management (IAM) avec les autorisations suivantes.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "lambda", "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": [ "arn:aws:lambda:*:498160209112:function:LoadParameterInitialState:*", "arn:aws:lambda:*:498160209112:function:EvaluateJSPELExpressions:*" ] }, { "Sid": "emr", "Effect": "Allow", "Action": [ "elasticmapreduce:DescribeStep", "elasticmapreduce:AddJobFlowSteps" ], "Resource": [ "arn:aws:elasticmapreduce:*:498160209112:cluster/*" ] }, { "Sid": "s3", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::*/*" ] } ] }
Pour appliquer le pack d'extensions, un rôle IAM avec les autorisations suivantes est AWS SCT requis.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:GetRole", "iam:ListRolePolicies", "iam:CreateRole", "iam:TagRole", "iam:PutRolePolicy", "iam:DeleteRolePolicy", "iam:DeleteRole", "iam:PassRole" ], "Resource": [ "arn:aws:iam::ACCOUNT_NUMBER:role/sct/*" ] }, { "Effect": "Allow", "Action": [ "iam:GetRole", "iam:ListRolePolicies" ], "Resource": [ "arn:aws:iam::ACCOUNT_NUMBER:role/lambda_LoadParameterInitialStateRole", "arn:aws:iam::ACCOUNT_NUMBER:role/lambda_EvaluateJSPELExpressionsRole", "arn:aws:iam::ACCOUNT_NUMBER:role/stepFunctions_MigratedOozieWorkflowRole" ] }, { "Effect": "Allow", "Action": [ "lambda:GetFunction", "lambda:CreateFunction", "lambda:UpdateFunctionCode", "lambda:DeleteFunction" ], "Resource": [ "arn:aws:lambda:*:ACCOUNT_NUMBER:function:LoadParameterInitialState", "arn:aws:lambda:*:ACCOUNT_NUMBER:function:EvaluateJSPELExpressions" ] } ] }
Connexion à AWS Step Functions en tant que cible
Suivez la procédure suivante pour vous connecter AWS Step Functions en tant que cible.
Pour vous connecter à l'AWS SCTinterface AWS Step Functions de ligne de commande
-
Ouvrez votre script CLI qui inclut les informations de connexion pour vos fichiers source Apache Oozie.
-
Ajoutez les informations relatives à votre cible de migration dans le AWS SCT projet à l'aide de la
AddTarget
commande. Assurez-vous d'utiliser laSTEP_FUNCTIONS
valeur duvendor
paramètre. Fournissez également des valeurs pour les paramètres obligatoires suivants :name
etprofile
.L'exemple de code suivant ajoute AWS Step Functions en tant que source dans votre AWS SCT projet. Cet exemple crée un objet cible avec le nom
AWS_STEP_FUNCTIONS
. Utilisez ce nom d'objet lorsque vous créez des règles de mappage. Cet exemple utilise également un profil de AWS SCT service que vous avez créé à l'étape des prérequis. Assurez-vous de remplacerprofile_name par le nom
de votre profil.AddTarget -name: 'AWS_STEP_FUNCTIONS' -vendor: 'STEP_FUNCTIONS' -profile: '
profile_name
' /Si vous n'utilisez pas le profil de AWS service, assurez-vous de fournir des valeurs pour les paramètres obligatoires suivants :
accessKey
secretKey
,awsRegion
, ets3Path
. Utilisez ces paramètres pour spécifier votre clé d'accès AWS AWS secrète, votre clé secrète et le chemin d'accès à votre compartiment Amazon S3. Région AWS -
Connectez-vous à AWS Step Functions l'aide de la
ConnectTarget
commande. Utilisez le nom de l'objet cible que vous avez défini à l'étape précédente.L'exemple de code suivant permet de se connecter à l'objet
AWS_STEP_FUNCTIONS
cible à l'aide de votre profil AWS de service. Assurez-vous de remplacerprofile_name par le nom
de votre profil.ConnectTarget -name: 'AWS_STEP_FUNCTIONS' -profile: '
profile_name
' / -
Enregistrez votre script CLI. Ajoutez ensuite des règles de mappage et des commandes de migration. Pour plus d'informations, veuillez consulter Conversion d'Apache Oozie en AWS Step Functions.