2013-08-01 1 views
2

j'ai un fichier ruby ​​dans ma demande et j'ai besoin d'appeler et d'exécuter un fichier ruby ​​comme tâche de fond de pipeline de données de service Web amazonbesoin d'exécuter un fichier ruby ​​d'Amazon service Web pipeline de données

j'ai donné la fichier JSON ci-dessous

#json file 
    { "objects": [ 
    { 
     "id": "ScheduleId4", 
     "startDateTime": "2013-08-01T00:00:00", 
     "name": "schedule", 
     "type": "Schedule", 
     "period": "15 Minutes" 
    }, 
    { 
     "id": "DataNodeId2", 
     "schedule": { 
     "ref": "ScheduleId4" 
     }, 
     "name": "Input", 
     "directoryPath": "s3://pipeline_test/input/", 
     "type": "S3DataNode" 
    }, 
    { 
     "id": "ActivityId1", 
     "input": { 
     "ref": "DataNodeId2" 
     }, 
     "schedule": { 
     "ref": "ScheduleId4" 
     }, 
     "stdout": "s3://pipeline_test/logs", 
     "scriptUri": "s3://pipeline_test/input/sample.sh", 
     "name": "Shell", 
     "runsOn": { 
     "ref": "ResourceId5" 
     }, 
     "stderr": "s3://pipeline_test/logs", 
     "type": "ShellCommandActivity", 
     "output": { 
     "ref": "DataNodeId3" 
     }, 
     "stage": "true" 
    }, 
    { 
     "terminateAfter": "1 Hours", 
     "id": "ResourceId5", 
     "schedule": { 
     "ref": "ScheduleId4" 
     }, 
     "name": "Resource1", 
     "logUri": "s3://pipeline_test/logs/", 
     "type": "Ec2Resource" 
    }, 
    { 
     "id": "Default", 
     "scheduleType": "timeseries", 
     "name": "Default", 
     "role": "DataPipelineDefaultRole", 
     "resourceRole": "DataPipelineDefaultResourceRole" 
    }, 
    { 
     "id": "DataNodeId3", 
     "schedule": { 
     "ref": "ScheduleId4" 
     }, 
     "directoryPath": "s3://pipeline_test/output1/", 
     "name": "Output", 
     "type": "S3DataNode" 
    } 
    ] 
} 

sample.sh

sample.rb

puts "Hello world" 

J'ai donné le bon chemin du fichier sample.sh. Cependant, je ne suis pas à l'appel de sample.rb ou non. Tout le monde me dit étape par étape la procédure à suivre comme je suis débutant à Amazon Web Service Datapipeline.

Aidez-moi à le résoudre.

+0

Pouvez-vous me dire comment vous avez donné le bon chemin pour sample.rb Puisque, datapipeline va exécuter le fichier, vous pouvez essayer de lancer un simple script bash qui échoue s'il ne peut pas trouver le fichier. De cette façon, vous pouvez déboguer plus rapidement. –

Répondre

1

L'image par défaut lancée par Data Pipeline ne contient pas réellement de rubis. Vous devrez construire votre propre image et installer d'abord le rubis à la main. Puis, référence cette image dans votre ressource par instanceId

Questions connexes