Voici comment écrire directement dans un Bucket Google Cloud Storage depuis un script drupal (ou une migration) via le module flysystem_gcs.
Ici une POC via un script drush :
<?php
use League\Flysystem\Config;
$path ="test/sous-dossier";
$filename ="mon-fichier-2";
$fileContent = "Bonjour";
/** @var \Drupal\flysystem\FlysystemFactory $flyeSystemFactory */
$flySystemFactory = \Drupal::service('flysystem_factory');
/** @var \Drupal\flysystem_gcs\Flysystem\Adapter\GoogleCloudStorageAdapter $cloudStorageAdapter */
$cloudStorageAdapter = $flySystemFactory->getPlugin('cloud-storage')->getAdapter();
$cloudStorageAdapter->write("$path/$filename", $fileContent, new Config());
À noter, la clé cloud-storage, correspond à la définition dans votre fichier settings.php, dans mon cas :
$settings['flysystem'] = [
'cloud-storage' => [
'driver' => 'gcs',
'config' => [
'bucket' => XXX,
'keyFilePath' => XXX,
'projectId' => XXX,
'_localConfig' => [
'prefix' => '',
],
],
'cache' => true,
],
];
Ajouter un commentaire