lukewaite/laravel-aws-cache-adapter
Laravel AWS缓存适配器。允许您减少对EC2元数据API的调用。
v1.1.1
2019-05-14 14:11 UTC
Requires
- aws/aws-sdk-php: ^3.20
- illuminate/support: 5.*
Requires (Dev)
- laravel/framework: >5.1
- mockery/mockery: ^0.9.6
- phpunit/phpunit: ~4.8
- scrutinizer/ocular: ^1.3
- squizlabs/php_codesniffer: ^2.8
This package is auto-updated.
Last update: 2024-09-13 22:47:31 UTC
README
为AWS SDK提供一个遵循
Aws\CacheInterface\CacheInterface
的缓存,该缓存使用laravel Cache类。
目的
当使用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')
];