joyarkgame/aws-sdk-php-laravel

一个简单的 Laravel 5/6/7/8 服务提供者,用于包含 AWS SDK for PHP。

3.7.0 2022-02-16 11:43 UTC

README

@awsforphp on Twitter Build Status Latest Stable Version Total Downloads Gitter

这是一个简单的 Laravel 服务提供者,用于轻松地将官方的 AWS SDK for PHP 包含到您的 Laravel 和 Lumen 应用程序中。

此 README 是为服务提供者的 3.x 版本编写的,该版本与 AWS SDK for PHP 的第 3 版以及 Laravel 5.1 版本兼容。

主要版本

  • 3.x (您在这里) - 针对 laravel/framework:~5.1|~6.0|~7.0|~8.0aws/aws-sdk-php:~3.0
  • 2.x (2.0 分支) - 针对 laravel/framework:5.0.*aws/aws-sdk-php:~2.4
  • 1.x (1.0 分支) - 针对 laravel/framework:4.*aws/aws-sdk-php:~2.4

跳转到

入门

安装

可以通过在项目的 composer.json 中要求 aws/aws-sdk-php-laravel 包来通过 Composer 安装 AWS 服务提供者。

{
    "require": {
        "aws/aws-sdk-php-laravel": "~3.0"
    }
}

然后运行 composer update

php composer.phar update

要使用 AWS 服务提供者,您必须在启动应用程序时注册提供者。

Lumen

在 Lumen 中,在 bootstrap/app.php 中找到 Register Service Providers 并注册 AWS 服务提供者。

    $app->register(Aws\Laravel\AwsServiceProvider::class);

Laravel

在 Laravel 中,在 config/app.php 中找到 providers 键并注册 AWS 服务提供者。

    'providers' => array(
        // ...
        Aws\Laravel\AwsServiceProvider::class,
    )

config/app.php 中找到 aliases 键并添加 AWS 门面别名。

    'aliases' => array(
        // ...
        'AWS' => Aws\Laravel\AwsFacade::class,
    )

配置

默认情况下,该包使用以下环境变量来自动配置插件,无需修改

AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_REGION (default = us-east-1)

要自定义配置文件,请使用 Artisan 发布包配置。

php artisan vendor:publish  --provider="Aws\Laravel\AwsServiceProvider"

设置可以在生成的 config/aws.php 配置文件中找到。默认情况下,凭证和区域设置将来自您的 .env 文件。

return [
    'credentials' => [
        'key'    => env('AWS_ACCESS_KEY_ID', ''),
        'secret' => env('AWS_SECRET_ACCESS_KEY', ''),
    ],
    'region' => env('AWS_REGION', 'us-east-1'),
    'version' => 'latest',
    
    // You can override settings for specific services
    'Ses' => [
        'region' => 'us-east-1',
    ],
];

注意,如果您想使用 默认 SDK 配置提供程序链,则可以始终从该文件中删除 credentials 行。

有关 升级指南 的 Laravel 5.2.0,如果您使用 php artisan config:cache,则必须使用配置文件而不是环境变量选项。

有关如何在 SDK 的用户指南中配置 SDK 的更多信息,请参阅 配置 SDK

使用

为了在您的应用程序中使用 AWS SDK for PHP,您需要从 Laravel 服务容器 中检索它。以下示例使用 Amazon S3 客户端上传文件。

$s3 = App::make('aws')->createClient('s3');
$s3->putObject(array(
    'Bucket'     => 'YOUR_BUCKET',
    'Key'        => 'YOUR_OBJECT_KEY',
    'SourceFile' => '/the/path/to/the/file/you/are/uploading.ext',
));

如果 AWS 门面已在应用程序配置的 aliases 部分注册,您还可以使用以下技术。

$s3 = AWS::createClient('s3');
$s3->putObject(array(
    'Bucket'     => 'YOUR_BUCKET',
    'Key'        => 'YOUR_OBJECT_KEY',
    'SourceFile' => '/the/path/to/the/file/you/are/uploading.ext',
));

获取帮助

请使用以下社区资源获取帮助。我们使用 GitHub 问题来跟踪错误和功能请求,并且处理它们的带宽有限。

此 SDK 实现了 AWS 服务 API。关于 AWS 服务及其限制的一般问题,您还可以查看 Amazon Web Services 讨论论坛

提交问题

如果您在使用 aws-sdk-php-laravel 时遇到错误,我们希望了解有关情况。在打开新问题之前,请搜索现有的问题并确保您的问题尚未存在。如果您包括 aws-sdk-php-laravel 版本、PHP 版本和您正在使用的操作系统,这将非常有帮助。在适当的情况下,请包括堆栈跟踪和简化后的重现案例。

GitHub 问题旨在用于错误报告和功能请求。有关使用 aws-sdk-php 的帮助和问题,请使用“获取帮助”部分中列出的资源。处理问题的资源有限,通过保持打开问题列表简洁,我们可以及时响应。

贡献

我们努力为 AWS 服务提供高质量且有用的 SDK,并且我们非常重视来自社区的反馈和贡献。在提交任何问题或拉取请求之前,请先查看我们的 贡献指南,以确保我们拥有处理您的错误报告或贡献所需的所有必要信息。

资源