wyrihaximus / react-filesystem-s3
dev-master
2019-09-04 18:46 UTC
Requires
- aws/aws-sdk-php: ^3.0
- guzzlehttp/guzzle: ^6.0
- react/filesystem: dev-master
- wyrihaximus/react-guzzle-psr7: ^1.0
This package is auto-updated.
Last update: 2024-09-05 06:53:48 UTC
README
为react/filesystem提供AWS S3适配器
安装
要使用Composer安装,请使用以下命令,它将自动检测最新版本并将其绑定到~
。
composer require wyrihaximus/react-filesystem-s3
如何使用
在我们开始使用适配器之前,我们需要进行设置,它需要一个事件循环和一个选项数组,该数组直接传递给一个新的Aws\Sdk
对象。该Aws\Sdk
对象根据这些选项创建一个新的S3客户端。(如果没有提供,适配器将创建一个新的处理程序堆栈。此行为可以通过在$options['http_handler']
中指定一个来覆盖。)
$loop = Factory::create(); // The required event loop $adapter = new S3Adapter( $loop, [ 'credentials' => [ // The credentials to use with this adapter 'key' => 'KEY', 'secret' => 'SECRET', ], 'region' => 'REGION', // THe region your bucket resides 'version' => 'latest', ], 'BUCKET' // Your buckets name );
接下来,您需要做的就是创建一个新的带有新适配器的Filesystem
实例
$filesystem = Filesystem::createFromAdapter($adapter);
此文件系统可以用来,例如,列出S3存储桶根目录的内容
$filesystem->dir('')->ls()->then(function (\SplObjectStorage $ls) { foreach ($ls as $node) { echo $node->getPath(), PHP_EOL; } echo 'Found ', $ls->count(), ' nodes', PHP_EOL; }, function ($e) { echo $e->getMessage(), PHP_EOL; });
请参阅示例目录中的完整示例。
贡献
有关详细信息,请参阅CONTRIBUTING。
许可
版权所有 2015 Cees-Jan Kiewiet
在此特此授予任何获得此软件及其相关文档副本(“软件”)的人免费权利,在不受限制的情况下处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许向提供软件的人提供使用本软件的权利,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的副本或主要部分中。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论该责任基于合同、侵权或其他原因,由此软件或软件的使用或其他方式而产生。