glibe / storageconnect-ovh
Librairie pour interagir avec un object storage. Utilise l'api swift avec authentification v2 pour fonctionner avec OVH
Installs: 1 233
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Requires
- php: >=7.0
- cocur/slugify: ^3.1
- ovh/ovh: dev-master
- php-opencloud/openstack: ^3.0
README
Install
composer require glibe/storageconnect-ovh
Utilisation
Les éléments de connexion à openstack sont obligatoires. Les élèments de connexion à l'API d'OVH sont optionnels. Ils sont utilisés uniquement dans le cas d'une création de container.
La création des credentials pour utiliser l'api d'ovh se fait à cette url : https://api.ovh.com/createToken/index.cgi?GET=/&PUT=/&POST=/&DELETE=/
La librairie utilise l'authentification v3 d'openstack.
$credentials = [ 'authUrl' => "https://auth.cloud.ovh.net/v3", 'region' => "GRA", 'username' => "your-username", 'password' => "your-password", 'tenantName' => "your-tenant-name", ]; $ovhCredentials = [ 'application_key' => "XXXXXXXX", 'application_secret' => "XXXXXXXX", 'api_endpoint' => "XXXXXXXX", // ovh-eu for europe 'consumer_key' => "XXXXXXXX" ]; $obj = new Glibe\StorageConnetOvh($credentials,$ovhCredentials);
Récupération infos d'une ressource
$obj->getObject('<container-name>','<object-name>');
Création d'une ressource
$obj->createObject('<container-name>','<object-name>','<path-to-the-new-file>','<folder-base>);
Exemple
Pour créer un fichier qui aura pour référence /img/png/hello.png dans le container "cdn", la commande de création sera la suivante :
$obj->createObject('cdn','hello.png','<path-to-the-new-file>','img/png');
Création d'une container
####### Statut possible : public / private
En public cela fait container un hébergement statique. Les ressources seront alors accessiblent par une url publique. (Voir site ovh pour plus d'explication.) Par défaut le statut est à private.
####### Ovh project ID L'identifiant unique de votre projet public cloud chez OVH. Disponible sous le nom de votre proejt dans votre interface client. Si non définit, le premier projet disponible sera utilisé.
$obj->createContainer('<container-name>','<statut> (default: private)','<ovh_project_id> (default: first available)');
Exemple
$obj->createContainer('testContainer','public','90b0b09604e74e4e8ade65xxxxxxxxx');
Accès à un container
Renvoie une instance du container souhaité
$obj->getContainer('<container-name>');
Supprimer un objet
$obj->deleteObject('<container-name>','<filename>');
Exemple
Pour supprimer le fichier /img/png/hello.png dans le container "cdn", la commande de suppression sera la suivante :
$obj->deleteObject('cdn','/img/png/hello.png');