在Laravel Amazon SDK

时间:2015-07-07 16:00:49

标签: php laravel amazon-web-services laravel-4

我正在使用aws-php-sdk和laravel。

但是,我有一个问题。

我想为不同的亚马逊服务使用不同的密钥和秘密。

例如: 亚马逊S3:

  • Key:AAAAAA
  • 秘密:BBBBB

Amazon EC2:

  • 键:DDDDD
  • 秘密:EEEEE

有可能吗?如果可以,我该怎么做?

1 个答案:

答案 0 :(得分:0)

是的,你可以这样做。

<?php

return [
    'default' => 'local',
    'cloud' => 's3',

    'disks' => [
      's3_1' => [
          'driver' => 's3',
          'key'    => 'AAAAAA',
          'secret' => 'BBBBB',
          'region' => 'us-east-1',
          'bucket' => 'bucket1',
      ],
      's3_2' => [
          'driver' => 's3',
          'key'    => 'DDDDD',
          'secret' => 'EEEEE',
          'region' => 'us-east-1',
          'bucket' => 'bucket2',
      ],

];

然后参考他们

$s3_1 = Storage::disk('s3_1');
$s3_2 = Storage::disk('s3_2');

我会将它们提取到.env文件中。

<强> .ENV

S3_KEY1=AAAAAA
S3_SECRET1=BBBBB
S3_REGION1=us-east-1
S3_BUCKET1=bucket1

S3_KEY2=DDDDD
S3_SECRET2=EEEEE
S3_REGION2=us-east-1
S3_BUCKET2=bucket1

<强>配置/ filesystem.php

<?php

return [
    'default' => 'local',
    'cloud' => 's3',

    'disks' => [
      's3_1' => [
          'driver' => 's3',
          'key'    => env('S3_KEY1'),
          'secret' => env('S3_SECRET1'),
          'region' => env('S3_REGION1'),
          'bucket' => env('S3_BUCKET1'),
      ],
      's3_2' => [
          'driver' => 's3',
          'key'    => env('S3_KEY2'),
          'secret' => env('S3_SECRET2'),
          'region' => env('S3_REGION2'),
          'bucket' => env('S3_BUCKET_MUSES2'),
      ],

];