Utilisation librairie openStack PHP pour une connexion avec Object Storage
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
question

Utilisation librairie openStack PHP pour une connexion avec Object Storage

Par
WilliamM17
Créé le 2023-05-23 14:58:36 (edited on 2024-09-04 10:57:12) dans Public Cloud OVHcloud

Bonjour à toutes et à tous,

Je débute dans l'utilisation des services cloud d'OVH, je voudrais utiliser Object Storage avec l'offre
Standard - Swift pour stocker / modifier / supprimer des fichiers pour mon application PHP.

Et pour pouvoir faire ça, je me suis orienté vers la librairie OpenStack pour me connecter et manipuler les objets dans un conteneur.
Mais quoique je fasse, j'ai une erreur 401.

Par exemple, j'utilise le code suivant pour me connecter à mon conteneur:

$openstack = new openstack([
'authUrl' => 'https://auth.cloud.ovh.net/v3/',
'region' => 'GRA',
'user' => [
'id' => $username,
'password' => $password
],
'scope' => ['project' => ['id' => 'monProjet']]
]);

$container = $openstack->objectStoreV1()->getContainer('monConteneur');

J'ai contacté le support d'OVH pour leur demander si j'avais mal configuré mon compte ou mon projet cloud, mais tout va bien pour eux.

Est-ce que quelqu'un a déjà utilisé cette librairie ?

Merci d'avance !


2 réponses ( Latest reply on 2023-05-30 08:50:43 Par
FabL
)

Bon j'ai fini par trouvé, en fait il manquait un paramètre dans les options de d'authentification, avec ce code ça fonctionne correctement :

$openstack = new OpenStack([
'authUrl' => 'https://auth.cloud.ovh.net/v3/',
'region' => $region,
'user' => [
'name' => $username,
'password' => $password,
'domain' => ['id' => 'default']
],
'scope' => ['project' => ['id' => $projetId]],
]);

$objectStoreService = $openstack->objectStoreV1();

$this -> container = $objectStoreService->getContainer($containerName);

En espérant que ça serve à d'autres !

Hello @WilliamM17,

Je vous remercie de votre retour et la solution.

Passez une bonne semaine,

^FabL

Les réponses sont actuellement désactivées pour cette question.