2

Google Cloud Storage (pas le même que Google Drive) semble avoir une compatibilité avec les API S3:Utilisez aws/aws-sdk-php avec Google Cloud Storage

https://developers.google.com/storage/docs/migrating#migration-simple

Est-ce que quelqu'un sait si je peux utiliser le paquet aws/aws-sdk-php (https://packagist.org/packages/aws/aws-sdk-php) et le configurer pour se connecter à mon Google Cloud Storage au lieu de AWS S3?

J'ai essayé le code suivant:

<?php 
use Aws\S3\S3Client; 
use League\Flysystem\Filesystem; 
use League\Flysystem\Adapter\AwsS3 as Adapter; 
require_once 'vendor/autoload.php'; 
error_reporting(E_ALL & ~E_NOTICE); 
ini_set('display_errors', 1); 


$client = S3Client::factory(array(
    'key' => 'MY_GCS_KEY', 
    'secret' => 'MY_GCS_SECRET', 
    'endpoint' => 'storage.googleapis.com' 
)); 
$filesystem = new Filesystem(new Adapter($client, 'MY_GCS_BUCKET')); 
$filesystem->write('filename.txt', 'contents'); 

Mais cela me donne une erreur:

Fatal error: Uncaught Aws\S3\Exception\InvalidAccessKeyIdException: AWS Error Code: InvalidAccessKeyId, Status Code: 403, AWS Request ID: BF7C1317719A4C67, AWS Error Type: client, AWS Error Message: The AWS Access Key Id you provided does not exist in our records., User-Agent: aws-sdk-php2/2.6.15 Guzzle/3.9.2 curl/7.32.0 PHP/5.5.4-1+debphp.org~raring+1 thrown in /var/www/prudhub/dev/vendor/aws/aws-sdk-php/src/Aws/Common/Exception/NamespaceExceptionFactory.php on line 91

Quelqu'un sait comment ou si je peux configurer correctement le aws/aws-sdk-php package se connecter à Google Cloud Storage à la place?

EDIT

Voici le code qui fait fonctionner:

<?php 
use Aws\S3\S3Client; 
use League\Flysystem\Filesystem; 
use League\Flysystem\Adapter\AwsS3 as Adapter; 
require_once 'vendor/autoload.php'; 


$client = S3Client::factory(array(
    'key' => 'MY_GCS_KEY', 
    'secret' => 'MY_GCS_SECRET', 
    'base_url' => 'https://storage.googleapis.com' 
)); 
$filesystem = new Filesystem(new Adapter($client, 'MY_GCS_BUCKET')); 
$filesystem->write('filename.txt', 'contents'); 

Répondre

Questions connexes