kaihei777 / laravel-aws-cache-adapter
Laravel AWS凭据缓存适配器。允许您减少对ec2元数据API的调用。
v2.0.0
2022-05-09 07:14 UTC
Requires
- aws/aws-sdk-php: ^3.222
- composer/composer: ^2.1
- illuminate/support: ^8.0
- mockery/mockery: ^1.5
- symfony/mailer: ^6.0
Requires (Dev)
- laravel/framework: ^8.12
- phpunit/phpunit: ^9.5
- scrutinizer/ocular: ^1.9
- squizlabs/php_codesniffer: ^3.6
This package is auto-updated.
Last update: 2024-09-09 13:06:37 UTC
README
为AWS SDK提供符合
Aws\CacheInterface\CacheInterface的缓存,它使用Laravel缓存类。
用途
当使用EC2实例IAM角色或ECS任务IAM角色时,AWS PHP SDK会自动对ec2元数据API(169.254.169.254)进行查找以获取凭据。默认情况下,这些凭据不缓存,如果元数据API响应慢或无响应,有时可能成为问题或导致速度减慢。
此包允许您配置某些Laravel文件系统,以便自动加载一个使用Laravel缓存存储来缓存返回的STS令牌的CacheInterface,从而减少对元数据API的请求。
使用方法
直接使用适配器
可以将LaravelCacheAdapter直接传递到您的config/filesystems.php中的Flysystem
's3' => [
'driver' => 's3',
'base-path' => 'https://s3.amazonaws.com',
'credentials' => new LaravelCacheAdapter(app('cache'))
'bucket' => env('AWS_BUCKET'),
'region' => env('AWS_REGION', 'us-east-1'),
],
通过ServiceProvider自动插入凭证提供者
默认配置设置在/config/laravel-aws-cache.php中。将此文件复制到您的配置目录以修改值。您可以使用以下命令发布此配置
$ php artisan vendor:publish --provider="LukeWaite\LaravelAwsCacheAdapter\ServiceProvider"
配置
return [
/**
* A comma separated list of filesystems defined in `config/filesystems.php` to which the
* credential cache should be applied.
*/
'filesystems' => env('LARAVEL_AWS_CACHE_FILESYSTEMS', null),
/**
* Whether or not to iterate through the `filesystems` defined and apply the credential cache.
*/
'enable' => env('LARAVEL_AWS_CACHE_ENABLE', false),
/**
* The Laravel cache store defined in `config/cache.php` to use.
*/
'cache' => env('LARAVEL_AWS_CACHE_CACHE', 'file')
];