Exporter facilement des fichiers vers DigitalOcean Spaces
Aujourd’hui, nous vous présentons le nouveau Robot /digitalocean/store, qui vous permet d’exporter vos résultats d’Assembly vers Spaces Object Storage de DigitalOcean. Il vient s’ajouter à la liste des fournisseurs d’exportation de fichiers que nous prenons déjà en charge, comme Amazon S3 (English), Rackspace Cloud Files et Dropbox. Consultez la liste complète dans notre documentation.
Le Robot /digitalocean/store
Vous pouvez utiliser le Robot /digitalocean/store pour téléverser vos fichiers ou vos résultats d’Assembly vers DigitalOcean Spaces en vue d’un stockage à long ou à court terme. Vos fichiers peuvent être configurés pour être accessibles publiquement ou réservés à votre compte.

Basés sur le système de stockage open source Ceph, les Spaces prennent en charge la plupart des fonctionnalités offertes par Amazon S3. Si vous utilisez déjà notre Robot /s3/store (English), l’API devrait donc vous sembler très familière.
Dans cet article de blog, nous vous guidons pas à pas dans la configuration d’un compte DigitalOcean Spaces, le transcodage de vos fichiers et l’exportation des résultats vers votre compte Spaces. Si vous souhaitez simplement découvrir l’API du Robot et l’essayer vous-même, consultez sa documentation ainsi que l’exemple d’Assembly Instructions ci-dessous :
{
"steps": {
":original": {
"robot": "/upload/handle"
},
"store": {
"use": ":original",
"robot": "/digitalocean/store",
"credentials": "spaces-store-demo",
"space": "spaces-store-demo",
"acl": "public-read"
}
}
}
Configurer DigitalOcean Spaces
La première étape consiste à créer un compte DigitalOcean, si ce n’est pas déjà fait. Rendez-vous sur digitalocean.com pour commencer.
Ensuite, accédez à l’onglet Spaces pour créer un nouveau Space, que nous allons appeler
spaces-store-demo. Sélectionnez la région de centre de données la plus proche de l’endroit d’où vous
allez récupérer les données. Ici, nous avons sélectionné fra1 / Francfort.

Une fois le Space créé, nous disposons d’un compte Spaces vide vers lequel nous pouvons commencer à exporter des fichiers :

Pour que notre Robot puisse communiquer avec l’API DigitalOcean Spaces, nous devons également créer une paire de clés d’accès Spaces. Vous pouvez le faire dans la section API de votre compte DigitalOcean. Mieux vaut garder cet onglet ouvert pour l’instant, car nous aurons besoin des clés secrètes publique et privée lors des étapes suivantes. Ne partagez jamais ces informations d’identification avec une personne à qui vous ne souhaitez pas accorder un accès en écriture à votre Space.

Créer des informations d’identification de Template
Nous en avons terminé avec DigitalOcean pour l’instant : rendez-vous maintenant sur transloadit.com et créez un compte gratuit ! Consultez notre page de tarifs pour connaître les forfaits actuels et le volume d’encodage inclus.
Pour une meilleure sécurité et une réutilisation plus facile, Transloadit vous permet de créer des
informations d’identification de Template et conserve les secrets à votre place. Une fois la
connexion établie, accédez à votre compte et sélectionnez Informations d’identification de
Template. Choisissez le service tiers Digital Ocean Spaces et saisissez les informations
d’identification de votre Space comme suit, en remplaçant nom du Space, région, identifiant de
clé et clé d’accès secrète selon vos besoins :

Enregistrez, et c’est terminé ! Le nom de l’ensemble d’informations d’identification de Template,
spaces-store-demo dans ce cas, est ce que nous allons utiliser à l’étape suivante.
Détecter les visages
Passons enfin à l’envoi de quelques fichiers à une nouvelle Assembly ! Notre exemple va utiliser les Robots /image/facedetect et /digitalocean/store. Une fois que nous aurons terminé, vous pourrez téléverser des fichiers image dans lesquels tous les visages humains seront détectés, puis téléversés séparément vers votre Space DigitalOcean.
Pour les besoins de ce guide, nous utilisons l’outil en ligne de commande curl(1)
pour interagir avec l’API Transloadit. Il est très probablement déjà installé sur votre ordinateur.
Si vous êtes sous Windows, consultez les
instructions officielles de curl pour Windows.
Tout d’abord, une autre étape préparatoire : rendez-vous dans les paramètres d’API de votre compte Transloadit et copiez l’Auth Key.

(Pas d’inquiétude, nous avons régénéré notre secret après avoir pris cette capture d’écran 😄)
Ensuite, créez un fichier contenant ces Assembly Instructions, que nous allons
appeler params.json. Remplacez auth.key par votre Auth Key personnelle.
{
"auth": {
"key": "YOUR_AUTH_KEY"
},
"steps": {
"face-detect": {
"use": ":original",
"robot": "/image/facedetect",
"crop": true,
"faces": "each"
},
"store": {
"use": "face-detect",
"robot": "/digitalocean/store",
"credentials": "spaces-store-demo",
"space": "spaces-store-demo",
"acl": "public-read"
}
}
}
L’Assembly se compose de deux Steps :
- Détecter les visages et extraire chaque visage détecté sous forme d’image recadrée
- Téléverser les visages extraits vers votre Space DigitalOcean, avec les permissions
public-read, afin que les fichiers soient accessibles publiquement
Tester l’Assembly
Il ne manque plus qu’une pièce : lancer toute la machinerie à l’aide d’une seule commande !
Vous aurez besoin d’une image contenant quelques visages pour tester votre Assembly. En voici une que vous pouvez récupérer si vous n’en avez pas sous la main :

Exécutez la commande curl(1) suivante dans votre terminal, dans le dossier où se trouvent params.json et
l’image source (ici group.jpg). Redirigez la sortie vers
json_pp(1) pour obtenir une sortie JSON joliment
formatée.
curl \
-s \
-XPOST \
-F params="$(< params.json)" \
-F original=@group.jpg \
https://api2.transloadit.com/assemblies \
| json_pp
Si vous vous demandez pourquoi la commande
curl(1)se présente ainsi :
-sindique àcurl(1)de rester silencieux, afin que nous ne voyions que le corps de la réponse HTTP-XPOSTpour en faire une requête POST-F ...Transloadit utilise des envois de formulaires HTTP multipart, afin que le client puisse soumettre à la fois les Assembly Instructions et les fichiers, le tout en une seule requête (et afin que notre API puisse être intégrée avec de bons vieux<form>). Ici, nous utilisons-Fpour soumettre à la foisparams.jsonetgroup.jpg.
Rendez-vous sur la page Assemblies de votre compte Transloadit et cliquez sur la première ligne pour voir les résultats !

Comme vous pouvez le voir, deux visages ont été détectés dans notre cas. Cliquez sur les boutons OUVRIR à côté de chaque résultat pour voir les visages recadrés, servis depuis votre Space DigitalOcean nouvellement créé !


Fin
C’est tout ! Nous espérons que cet article vous a plu et que vous attendez le prochain avec impatience. Et si vous souhaitez essayer, créez dès aujourd’hui un compte Transloadit gratuit !
