Modifié par Nief, le 27 Jun 2006
SRB: manipuler les métadonnées
1. Introduction
Concernant les métadonnées de SRB, il existe une page explicative sur le site du SDSC (
Metadonnées SRB). Lorsqu'un utilisateur souhaite ajouter des métadonnées aux objets SRB, il peut le faire avec deux commandes :
> SufMeta
ou
> Smeta
La commande Smeta permet d'accéder à des métadonnées prédéfinis. Les noms des métadonnées sont des noms de champs génériques, comme par exemple UDSMD0, UDSMD1, ... UDSMD9 pour les objets SRB. La commande SufMeta est plus récente que Smeta. SufMeta permet à l'utilisateur de définir ses propres métadonnées.
2. SufMeta
2.1. Définition
Cette commande permet à un utilisateur d'ajouter ses propres métadonnées sur :
- Une donnée SRB
- Une collection
- Un user
- Une ressource
Une métadonnée est définie par trois champs :
- Le nom de l'attribut (AttName)
- La valeur de l'attribut (AttVal)
- L'unité de l'attribut par exemple des métres, secondes (AttUnit - optionnel)
2.2. Ajout de metadonnées
Exemple d'ajout d'une metadonnée sur un fichier test.txt situé dans la collection /Test/home/calvat.in2p3 :
> Scd /Test/home/calvat.in2p3
> Sufmeta age 20 test.txt
> Sufmeta taille 178 test.txt
Un champ age est ajouté aux métadonnés de l'objet test.txt et sa valeur vaut 20. Le nom du champ (age) est stocké dans le champ userdef_metastr0 de la table MDAS_AD_MDATA. La valeur (20) est stockée dans le champ userdef_metastr1 de la table MDAS_AD_MDATA.
2.3. Lister les metadonnées
2.3.1. Lister les métadonnées associées à une ressource
Pour lister les métadonnées associées à un objet, il faut utiliser la commande Sls avec l'option -a. Exemple:
> Scd /Test/home/calvat.in2p3
> Sls -a test.txt
--------------------------- RESULTS ------------------------------
calvat 0 test1 3011592 2005-03-23-14.42 % test.txt
age:20
taille:178
-----------------------------------------------------------------
2.3.2. Lister les métadonnées du MCAT
Pour lister les métadonnées du MCAT associé à vos ressources, il faut utiliser la commande Smeta. Exemple d'ffichage des métadonnées:
> Smeta -R
--------------------------- RESULTS ------------------------------
data_name: test.txt
data_grp_name: /Test/home/calvat.in2p3
metadatanum: 0
userdef_metastr0: age
userdef_metastr1: 20
userdef_metastr2:
userdef_metastr3:
userdef_metastr4:
userdef_metastr5:
userdef_metastr6:
userdef_metastr7:
userdef_metastr8:
userdef_metastr9:
userdef_metaint0:
userdef_metaint1:
-----------------------------------------------------------------
data_name: test.txt
data_grp_name: /Test/home/calvat.in2p3
metadatanum: 1
userdef_metastr0: taille
userdef_metastr1: 178
userdef_metastr2:
userdef_metastr3:
userdef_metastr4:
userdef_metastr5:
userdef_metastr6:
userdef_metastr7:
userdef_metastr8:
userdef_metastr9:
userdef_metaint0:
userdef_metaint1:
2.4. Supprimer une métadonnée
Pour supprimer une métadonnée, il suffit d'utliser la commmande Sufmeta avec l'option -d. Exemple:
> Sufmeta -R -d age 20 test.txt
cela supprime la métadonnée age attachée à l'objet test.txt
2.5. Recherche à partir de métadonnées
L'ensemble des Scommandes liées à la consultations d'informations peuvent être conditionnés par les métadonnées.
2.5.1. Recherche de fichiers correspondant à un critère avec Sufmeta
Exemple de recherche d'objet dont l'age est 20:
> Scd /Test/home/calvat.in2p3
> Sufmeta -Q age = 20
--------------------------- RESULTS ------------------------------
data_name: test.txt
data_grp_name: /Test/home/calvat.ccin2p3
-----------------------------------------------------------------
2.5.2. Recherche de fichiers correspondant à un critère avec SgetD
Exemple de recherche d'objet dont l'age est 20:
> Scd /Test/home/calvat.in2p3
> SgetD -A "ATTRCONDD age = 20"
--------------------------- RESULTS ------------------------------
repl_enum: 0
data_name: test.txt
data_typ_name: generic
path_name: /srb/srbcache/Test/test1/calvat.ccin2p3/test.txt
data_grp_name: /Test/home/calvat.ccin2p3
data_size: 83
phy_rsrc_name: test1
is_dirty: 1
container_name:
version_num: 0
-----------------------------------------------------------------
2.5.3. Listage des fichiers correspondant à un critère avec Sls
L'option -A de la commande Sls permet de lister les fichiers d'un répertoire précis.
> Scd /Test/home/calvat.in2p3
> Sls -A "ATTRCONDD age = 20"
--------------------------- RESULTS ------------------------------
test.txt
-----------------------------------------------------------------
L'option -c permet de faire une recherche dans tout le metacalogue SRB.
> Sls -c age = 20
--------------------------- RESULTS ------------------------------
test.txt
-----------------------------------------------------------------
2.6. Option de la commance Sufmeta
-h display command options
-d operate on metadata for data objects
-c operate on metadata for collections
-u operate on metadata for users=
-r operate on metadata for resources
-Q defines a query operation
-f defines bulk load option with metadata stored in a file.
-e defines bulk load option with metadata extracted from a srbObject
or extracted from the targetObject itself.
-z zone option applies to the second synopsis and is used to perform
the Sls operation on a particular zone. If ALL is used for zone
then every zone known to the current zone will be queried. zone
can have wild cards.
2.7. Exemple divers
> Sufmeta alpha 200 foo.dat
> Sufmeta -c alpha 200 myColl
> Sufmeta -c beta bar myColl
> Sufmeta -c beta 200 myColl
> Sufmeta -Q alpha = 200
> Sufmeta -Q -c alpha = 200 beta = bar
> Sufmeta -Q -c alpha = 200 beta like '*a*'
> Sufmeta -Q -c alpha '>' 100 beta like '*a*'
> Sufmeta foo.dat
> Sufmeta -f mdFile '|' ticket123.dat
> Sufmeta -c -f mdFile '|' ticket123.dat
where mdFile is of the form:
ticketnum|es2345
car name|ford escort
driver name|john q. public
numplate|123455
speed|89|kmph|overspeed
fine|55|dollars
> Sufmeta -D -f mdFileMult '|'
where mdFileMultis of the form:
SETMINMETADATANUM=GIVENPERDATA
/home/srb/rajatest|Sput.c|11|ticketnum|es2345
/home/srb/rajatest|Sput.c|12|car name|ford escort
/home/srb/rajatest|Sput.c|13|driver name|john q. public
/home/srb/rajatest|Srm.c|11|numplate|123455
/home/srb/rajatest|Srm.c|12|speed|89|kmph|overspeed
3. SMeta
Commande obsolète : utilisez plutôt Sufmeta !!!