tomasvotruba/aws-sdk-php-symfony

AWS SDK for PHP v3 的 Symfony 扩展包

3.0.2 2024-01-05 17:08 UTC

This package is auto-updated.

Last update: 2024-09-05 22:04:49 UTC


README

Total Downloads

用于包含 AWS SDK for PHP 的 Symfony 扩展包。


安装

composer require tomasvotruba/aws-sdk-php-symfony

并将 Aws\Symfony\AwsBundle 添加到 Kernel 中

class AppKernel extends Kernel
{
    public function registerBundles(): array
    {
        return [
            ...
            new \Aws\Symfony\AwsBundle(),
        ];
    }
    ...
}

配置

默认情况下,配置由 SDK 而不是扩展包处理,编译时不会进行验证。有关可用的配置选项的完整文档,请参阅 SDK 指南

如果 AWS_MERGE_CONFIG 环境变量设置为 true,则启用配置验证和合并。扩展包验证并合并已知的配置选项,包括每个服务。可以在单个配置文件中包含额外的配置选项,但如果在两次以上指定非标准选项,则合并将失败。

要使用任何配置值的服务,请使用 @ 后跟服务名称,例如 @a_service。此语法将在容器编译期间转换为服务。如果想要使用以 @ 开头的字符串字面量,需要通过添加另一个 @ 符号进行转义。

当使用 EC2 实例上的 SDK 时,可以写入 credentials: ~ 以使用 实例配置文件凭证。此语法表示将自动从 EC2 实例的元数据服务器检索临时凭证。这也是向在该特定上下文中运行的应用程序提供凭证的首选技术。

示例配置可以在 tests/fixtures 文件夹中的 YAMLPHPXML 中找到。


示例 YML 配置

可以将以下示例配置放置在 app/config/config.yml 文件中。

framework:
    secret: "Rosebud was the name of his sled."

aws:
    version: latest
    region: us-east-1
    credentials:
        key: not-a-real-key
        secret: "@@not-a-real-secret" # this will be escaped as '@not-a-real-secret'
    DynamoDb:
        region: us-west-2
    S3:
        version: '2006-03-01'
    Sqs:
        credentials: "@a_service"
    CloudSearchDomain:
        endpoint: https://search-with-some-subdomain.us-east-1.cloudsearch.amazonaws.com

services:
    a_service:
        class: Aws\Credentials\Credentials
        arguments:
            - a-different-fake-key
            - a-different-fake-secret

用法

此扩展包将 Aws\Sdk 对象的实例以及每个 AWS 客户端对象的实例作为服务公开到您的 symfony 应用程序中。它们的名称为 aws.{$namespace},其中 $namespace 是服务客户端的命名空间。例如

可用服务的列表取决于安装的 SDK 版本。要从应用程序的根目录运行以下命令以查看完整列表

php bin/console debug:container aws

有关列出的每个服务的完整文档,请参阅 SDK API 文档