alkurn / yii2-aws
本扩展为Yii2框架提供了AWS SDK集成
dev-master
2019-04-09 14:02 UTC
Requires
- aws/aws-sdk-php: 3.*
- yiisoft/yii2: 2.*
This package is not auto-updated.
Last update: 2024-09-25 11:28:55 UTC
README
本扩展为Yii2框架提供了AWS SDK 3集成
安装
安装此扩展的首选方式是通过 Composer。
运行以下命令之一
php composer.phar require --prefer-dist alkurn/yii2-aws "dev-master"
或者
"alkurn/yii2-aws": "dev-master"
将以下内容添加到您的 composer.json
文件的require部分。
Note: You can still use AWS version 2 if you specify alkurn/yii2-aws "dev-master"
用法
要使用此扩展,只需在您的应用程序配置中添加以下代码
return [ //.... 'components' => [ 's3' => [ 'class' => 'alkurn\aws\S3', 'credentials' => [ //you can use a different method to grant access 'key' => 'your-aws-key', 'secret' => 'your-aws-secret', ], 'region' => 'your-aws-region', //i.e.: 'us-east-1' 'version' => 'your-aws-version', //i.e.: 'latest' ], ], ];
从AWS获取所有均衡器名称
$aws = Yii::$app->s3->getS3(); $elb = $aws->createElasticloadbalancing(); $load_balancers = $elb->describeLoadBalancers()->toArray(); if (isset($load_balancers['LoadBalancerDescriptions'])){ foreach ($load_balancers['LoadBalancerDescriptions'] as $balancer){ if (isset($balancer['LoadBalancerName'])){ echo $balancer['LoadBalancerName']; } } }
从S3下载对象
//specify the region if it is different than the main configuration region Yii::$app->awssdk->region = 'sa-east-1'; $aws = Yii::$app->s3->getS3(); //use s3 $s3 = $aws->createS3(); $result = $s3->listObjects(['Bucket' => 'your-bucket-id',"Prefix" => "your-path"])->toArray(); //get the last object from s3 $object = end($result['Contents']); $key = $object['Key']; $file = $s3->getObject([ 'Bucket' => 'your-bucket-id', 'Key' => $key ]); //download the file header('Content-Type: ' . $file['ContentType']); echo $file['Body'];