Arbutus object storage clients/fr: Difference between revisions

From Alliance Doc
Jump to navigation Jump to search
(Created page with "Pour plus d'exemples, voir https://docs.ovh.com/us/en/storage/getting_started_with_the_swift_S3_API/.")
No edit summary
Tag: Manual revert
 
(34 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages />
<languages />


<div class="mw-translate-fuzzy">
Pour l'information sur comment obtenir de l'espace de stockage objet sur Arbutus, voir  [[Arbutus object storage/fr|cette page wiki]]. Voyez aussi l'information sur les clients&nbsp;:
Nous décrivons ici la configuration et l’utilisation de deux clients souvent employés pour le stockage objet sur Arbutus, s3cmd et WinSCP. Pour plus d’information sur le stockage, voyez la page [[Arbutus_Object_Storage/fr|Stockage objet sur Arbutus]].
* [[Accessing object storage with s3cmd/fr| Stockage objet : Accès avec s3cmd]]
</div>
* [[Accessing object storage with WinSCP/fr| Stockage objet : Accès avec WinSCP]]
* [[Accessing the Arbutus object storage with AWS CLI/fr| Stockage objet : Accès avec AWS CLI]]


Il faut noter que la solution de stockage objet sur Arbutus n'utilise pas l’approche [https://documentation.help/s3-dg-20060301/VirtualHosting.html S3 Virtual Hosting] d’Amazon avec des buckets DNS, contrairement à s3cmd et WinSCP qui l’offrent par défaut.
Il faut noter que la solution de stockage objet sur Arbutus n'utilise pas l’approche [https://documentation.help/s3-dg-20060301/VirtualHosting.html S3 Virtual Hosting] d’Amazon avec des buckets DNS, contrairement à ces clients qui l’offrent par défaut. Pour ne pas utiliser cette approche, il faut donc configurer les clients en conséquence.  


== s3cmd ==
[[Category:Cloud]]
=== Installation ===
Dépendant de votre distribution Linux, la commande <code>s3cmd</code> peut être installée avec les commandes <code>yum</code> (RHEL, CentOS) ou <code>apt</code> (Debian, Ubuntu) suivantes :
 
<code>$ sudo yum install s3cmd</code><br/>
<code>$ sudo apt install s3cmd </code>
 
=== Configuration ===
Pour configurer l’outil <code>s3cmd</code>, lancez la commande
 
<div class="mw-translate-fuzzy">
Configurez ensuite <tt>s3cmd</tt> à l’aide des clés que l’équipe Arbutus vous a fournies&nbsp;:
<pre>
Enter new values or accept defaults in brackets with Enter.
Refer to user manual for detailed description of all options.
</div>
 
Access key and Secret key are your identifiers for Amazon S3. Leave them empty for using the env variables.
Access Key []: 20_DIGIT_ACCESS_KEY
Secret Key []: 40_DIGIT_SECRET_KEY
Default Region [US]:
 
Use "s3.amazonaws.com" for S3 Endpoint and not modify it to the target Amazon S3.
S3 Endpoint []: object-arbutus.cloud.computecanada.ca
 
Use "%(bucket)s.s3.amazonaws.com" to the target Amazon S3. "%(bucket)s" and "%(location)s" vars can be used
if the target S3 system supports dns based buckets.
DNS-style bucket+hostname:port template for accessing a bucket []: object-arbutus.cloud.computecanada.ca
 
Encryption password is used to protect your files from reading
by unauthorized persons while in transfer to S3
Encryption password []: PASSWORD
Path to GPG program []: /usr/bin/gpg
 
When using secure HTTPS protocol all communication with Amazon S3
servers is protected from 3rd party eavesdropping. This method is
slower than plain HTTP, and can only be proxied with Python 2.7 or newer
Use HTTPS protocol []: Yes
 
On some networks all internet access must go through a HTTP proxy.
Try setting it here if you can't connect to S3 directly
HTTP Proxy server name:
</pre>
 
=== Creation de buckets ===
La prochaine étape est celle de la création des buckets. Les buckets contiennent des fichiers. Les noms des buckets doivent être uniques à travers la solution complète de stockage objet; il faut alors donner à chaque bucket un nom unique qui est différent de tous ceux créés par les autres utilisateurs; il est fort probable par exemple que les buckets <tt>s3://test/</tt> et <tt>s3://data/</tt> existent déjà. Vous pourriez choisir des noms significatifs comme <tt>s3://def-test-bucket1</tt> ou <tt>s3://atlas_project_bucket</tt>.  Les noms valides contiennent seulement des caractères majuscules ou minuscules, des chiffres, le point, le tiret et le trait de soulignement  (soit A-Z, a-z, 0-9, ., -, et_ ).
 
Pour créer un bucket, lancez la commande <code>mb</code> (pour ''make bucket'')
 
<code>$ s3cmd mb s3://BUCKET_NAME/</code>
 
Pour connaître l'état d'un bucket, lancez
 
<code>$ s3cmd info s3://BUCKET_NAME/</code>
 
Le résultat sera semblable à ceci :
 
<pre>
s3://BUCKET_NAME/ (bucket):
  Location:  default
  Payer:    BucketOwner
  Expiration Rule: none
  Policy:    none
  CORS:      none
  ACL:      *anon*: READ
  ACL:      USER: FULL_CONTROL
  URL:      http://object-arbutus.cloud.computecanada.ca/BUCKET_NAME/
</pre>
 
=== Téléversement de fichiers ===
Pour téléverser un fichier dans un bucket, lancez
 
<code>$ s3cmd put --guess-mime-type FILE_NAME.dat s3://BUCKET_NAME/FILE_NAME.dat</code>
 
Le mécanisme MIME (''Multipurpose Internet Mail Extensions'') peut gérer les fichiers selon leur type. Le paramètre <code>--guess-mime-type</code> détermine le type de MIME par l’extension du nom du fichier. Le type MIME par défaut est <code>binary/octet-stream</code>.
 
=== Supprimer un  fichier ===
Pour supprimer un fichier dans un bucket, lancez<br/>
<code>$ s3cmd rm s3://BUCKET_NAME/FILE_NAME.dat</code>
 
<div class="mw-translate-fuzzy">
=== Listes de contrôle d’accès et politiques ===
Il est possible d’associer des listes de contrôle d’accès (ACL) et des politiques à un bucket pour indiquer qui peut avoir accès à une ressource particulière de l'espace de stockage objet. Ces fonctionnalités sont très avancées. Voici deux exemples simples d’utilisation de ACL avec la commande <code>setacl</code>.
</div>
 
<code>$ s3cmd setacl --acl-public -r s3://BUCKET_NAME/</code>
 
Par cette commande, le public peut avoir accès au bucket et, de manière récursive (-r), à chaque fichier dans le bucket. L’accès aux fichiers peut se faire avec des URL comme<br/>
<code><nowiki>https://object-arbutus.cloud.computecanada.ca/BUCKET_NAME/FILE_NAME.dat</nowiki></code>
 
Avec la prochaine commande, le bucket est accessible uniquement par le propriétaire.
 
<code>$ s3cmd setacl --acl-private s3://BUCKET_NAME/</code>
 
Pour d’autres exemples plus avancés, voir le  [https://www.s3express.com/help/help.html site d’aide de s3cmd] ou la page man de s3cmd(1).
 
== WinSCP ==
 
=== Installation ===
Installez WinSCP à partir de https://winscp.net/.
 
=== Configuration ===
Sous ''New Session'', faites les configurations suivantes%nbsp:
<ul>
<li>''File protocol:'' Amazon S3</li>
<li>''Host name:'' object-arbutus.cloud.computecanada.ca</li>
<li>''Port number:'' 443</li>
<li>''Access key ID:'' 20_DIGIT_ACCESS_KEY provided by the Arbutus team</li>
</ul>
Cliquez sur le bouton ''Save''.
 
[[File:WinSCP Configuration.png|600px|thumb|center|Configuration de WinSCP]]
 
Cliquez ensuite sur le bouton ''Edit'' puis sur le bouton ''Advanced…'' Suivez ''Environment → S3 → Protocol options'' et dans le champ ''URL style'', changez ''Virtual Host'' pour ''Path'' comme dans l’image ci-dessous.
 
[[File:WinSCP Path Configuration.png|600px|thumb|center|Configuration du chemin WinSCP]]
 
Il est important d’entrer Path dans le champ URL style, autrement WinSCP ne fonctionnera pas et vous obtiendrez des messages d'erreur de nom d'hôte comme celui-ci
[[File:WinSCP resolve error.png|400px|thumb|center|Erreur de résolution]]
 
=== Utilisation ===
Cliquez sur le bouton ''Login'' et utilisez l’interface de WinSCP pour créer des buckets et y transférer des fichiers.
 
[[File:WinSCP transfers.png|800px|thumb|center|Transfert de fichiers avec WinSCP]]
 
=== Access Control Lists (ACLs) and Policies ===
Right-clicking on a file will allow you to set a file's ACL, like this:
[[File:WinSCP ACL.png|400px|thumb|center|WinSCP ACL screen]]
 
== AWS CLI ==
 
The <code>awscli</code> client also works with the Object Store service with better support for large (>5GB) files and the helpful <code>sync</code> command. However, not all features have not been tested.
 
=== Installation de awscli ===
 
<pre>
pip install awscli awscli-plugin-endpoint
</pre>
 
=== Configuration de awscli ===
 
Generate an access key ID & secret key
 
<pre>
openstack ec2 credentials create
</pre>
 
Edit or create <code>~/.aws/credentials</code> and add the credentials generated above
 
<pre>
[default]
aws_access_key_id = <access_key>
aws_secret_access_key = <secret_key>
</pre>
 
Modifiez <code>~/.aws/config</code> et ajoutez la configuration suivante&nbsp;:
 
<pre>
[plugins]
endpoint = awscli_plugin_endpoint
 
[profile default]
s3 =
  endpoint_url = https://object-arbutus.cloud.computecanada.ca
  signature_version = s3v4
s3api =
  endpoint_url = https://object-arbutus.cloud.computecanada.ca
</pre>
 
=== Utilisation de awscli ===
 
<pre>
export AWS_PROFILE=default
aws s3 ls <container-name>
aws s3 sync local_directory s3://container-name/prefix
</pre>
 
Pour plus d'exemples, voir https://docs.ovh.com/us/en/storage/getting_started_with_the_swift_S3_API/.
 
[[Category:CC-Cloud]]

Latest revision as of 15:28, 21 June 2024

Other languages:

Pour l'information sur comment obtenir de l'espace de stockage objet sur Arbutus, voir cette page wiki. Voyez aussi l'information sur les clients :

Il faut noter que la solution de stockage objet sur Arbutus n'utilise pas l’approche S3 Virtual Hosting d’Amazon avec des buckets DNS, contrairement à ces clients qui l’offrent par défaut. Pour ne pas utiliser cette approche, il faut donc configurer les clients en conséquence.