aws/aws-sdk-php-symfony

PHP AWS SDK 的 v3 版本的 Symfony 扩展包

安装次数: 12,837,098

依赖项: 25

建议者: 5

安全: 0

星标: 350

关注者: 39

分支: 89

开放问题: 7

类型:symfony-bundle

2.7.0 2024-02-05 18:33 UTC

README

Latest Stable Version Total Downloads

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

跳转到

入门指南

安装

您可以通过在项目中的 composer.json 文件中添加 aws/aws-sdk-php-symfony 包来使用 Composer 安装 AWS 扩展包

{
    "require": {
        "aws/aws-sdk-php-symfony": "~2.0"
    }
}

并将 Aws\Symfony\AwsBundle 实例添加到应用程序的内核中

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

配置

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

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

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

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

示例配置可以在 tests/fixtures 文件夹中找到,格式为 YAMLPHPXML

示例 YAML 配置

示例配置可放置在 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 文档 中找到。

获取帮助

请使用这些社区资源来获取帮助。我们使用 GitHub 问题来跟踪错误和功能请求,并且带宽有限,无法解决这些问题。

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

打开的issue

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

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

贡献

我们努力提供高质量且有用的SDK来支持我们的AWS服务,并且我们非常重视社区反馈和贡献。在提交任何issue或pull request之前,请先审查我们的 贡献指南,以确保我们有足够的信息来有效地响应您的bug报告或贡献。

资源