aws / aws-sdk-php-symfony
PHP AWS SDK 的 v3 版本的 Symfony 扩展包
Requires
- php: >=7.2.5
- aws/aws-sdk-php: ^3.279.0
- symfony/config: ~5.0|~6.0|~7.0
- symfony/dependency-injection: ~5.0|~6.0|~7.0
- symfony/http-kernel: ~5.0|~6.0|~7.0
Requires (Dev)
- phpunit/phpunit: ^8.5|^9.5
- symfony/framework-bundle: ~5.0|~6.0|~7.0
- symfony/yaml: ~5.0|~6.0|~7.0
README
一个用于包含 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
文件夹中找到,格式为 YAML、PHP 和 XML。
示例 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 问题来跟踪错误和功能请求,并且带宽有限,无法解决这些问题。
- 在 StackOverflow 上提问,并标记为
aws-php-sdk
- 加入 AWS SDK for PHP 的 gitter
- 通过 AWS Support 提交支持工单
- 如果您发现了一个可能存在的bug,请 创建一个issue
此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报告或贡献。