--- tags: dsplus,lyra,howtos title : Origine d'un objet description: Exemples, trucs et astuces pour dsplus --- # Déterminer l'origine d'un objet L'information du serveur et du projet d'origine des objets d'un package est identifiable via le manifeste du package lorsque celui-ci a été constitué en mode `FULL`. ```bash # Afficher le manifest dsplus manifest --pack package.isx # N'afficher que la liste des objets datastage dsplus manifest --pack package.isx --query ds ``` ```json= [ 'IS-ENGINEDOCKER/dstage1/T_NR/Js_NR.qjb', 'IS-ENGINEDOCKER/dstage1/T_NR/Jx_NR_Lvl1.pjb', 'IS-ENGINEDOCKER/dstage1/T_NR/Jx_NR_Lvl2.pjb', 'IS-ENGINEDOCKER/dstage1/T_NR/Jx_NR_Lvl3.pjb', 'IS-ENGINEDOCKER/dstage1/T_NR/jobs/Jx_NR_00_GetKeys.pjb', 'IS-ENGINEDOCKER/dstage1/T_NR/jobs/Jx_NR_Lvl1_0.pjb', 'IS-ENGINEDOCKER/dstage1/T_NR/params/Ps_NR_Db.pst', 'IS-ENGINEDOCKER/dstage1/T_NR/routines/RtTnrGetKeys.srt', 'IS-ENGINEDOCKER/dstage1/T_NR/routines/RtTnrSetKey.srt', 'IS-ENGINEDOCKER/dstage1/T_NR/stages/StTnrRdStats.stp', 'IS-ENGINEDOCKER/dstage1/T_NR/stages/StTnrWrStats.stp' ] ``` Exemple avec formatage avancé ```bash dsplus manifest --pack package.isx --query 'ds.{"server":$split("/")[0],"project":$split("/")[1],"object":$split("/")[-1].$split(".")[0]}' --format table ``` ```bash= ┌─────────┬───────────────────┬───────────┬────────────────────┐ │ (index) │ server │ project │ object │ ├─────────┼───────────────────┼───────────┼────────────────────┤ │ 0 │ 'IS-ENGINEDOCKER' │ 'dstage1' │ 'Js_NR' │ │ 1 │ 'IS-ENGINEDOCKER' │ 'dstage1' │ 'Jx_NR_Lvl1' │ │ 2 │ 'IS-ENGINEDOCKER' │ 'dstage1' │ 'Jx_NR_Lvl2' │ │ 3 │ 'IS-ENGINEDOCKER' │ 'dstage1' │ 'Jx_NR_Lvl3' │ │ 4 │ 'IS-ENGINEDOCKER' │ 'dstage1' │ 'Jx_NR_00_GetKeys' │ │ 5 │ 'IS-ENGINEDOCKER' │ 'dstage1' │ 'Jx_NR_Lvl1_0' │ │ 6 │ 'IS-ENGINEDOCKER' │ 'dstage1' │ 'Ps_NR_Db' │ │ 7 │ 'IS-ENGINEDOCKER' │ 'dstage1' │ 'RtTnrGetKeys' │ │ 8 │ 'IS-ENGINEDOCKER' │ 'dstage1' │ 'RtTnrSetKey' │ │ 9 │ 'IS-ENGINEDOCKER' │ 'dstage1' │ 'StTnrRdStats' │ │ 10 │ 'IS-ENGINEDOCKER' │ 'dstage1' │ 'StTnrWrStats' │ └─────────┴───────────────────┴───────────┴────────────────────┘ ``` ## Proposition Une évolution prochaine de `dsplus` ajoutera les informations du serveur et projet d'origine dans les métadonnées de l'objet: ```bash dsplus get --metadata --job Test --project dstage1 -v --info all ``` ```json= { isSystem: false, modificationTimestamp: '2020/12/17 10:44:05', modifiedByUser: 'isadmin', creationTimestamp: '2019/12/17 13:58:46', createdByUser: 'isadmin', category: '/Jobs', name: 'Test', jobType: 3, webServiceEnabled: false, RID: 'c2e76d84.43058877.001mu517e.1q08rqk.8n4v00.gn5mhu7t9bfpsko1qre97', itemRID: 'c2e76d84.78be1842.001mu517e.3cf4nfk.h9hbn8.pafhpaurergubpknoaiu0', parentRID: 'c2e76d84.3c3729dd.0026u512i.loijjg4.b6scqf.r74k4bn0mme0acr0is350', project: 'dstage1', server: 'IS-ENGINEDOCKER', domain: 'localhost:9446' } ``` Si ces métadonnées sont commitées dans Git alors elle seront intégrées au manifeste lors du packaging. Il sera par ailleurs également possible d'ajouter au manifeste des informations arbitraires lors du packaging.