jstormes / aws-tools
作为PHP composer包,围绕AWS服务的一个非常轻量级的包装器。
v0.1.3
2021-03-02 15:49 UTC
Requires
- ext-json: *
- aws/aws-sdk-php: ^3.173
README
围绕AWS服务的包装器,以便在PHP中更容易使用。
快速入门
裸金属上的PHP
克隆项目
git clone git@github.com:jstormes/AWSTools.git
cd AWSTools
使用composer安装AWS依赖项
composer install
确保AWS已为您设置了CLI环境。
您的主目录中应有 .aws,包含适当的 credentials
和 config
文件。您的 access_key 必须有权限创建CloudWatch日志和流。
运行示例
./bin/cli-demo-minimal.php
./bin/cli-demo-lazy-vs-direct.php
./bin/cli-demo-dynamic-severity.php
./bin/cli-demo-formatters.php
./bin/cli-demo-log-context-obj.php
查看CloudWatch日志以查看示例的输出。
Docker中的PHP
待定
已知问题
-
如果您同时运行两个PHP应用程序并记录到同一流,您将遇到sequenceToken的问题,这会导致性能问题。您需要确保每个PHP应用程序实例(即Docker实例)获得其自己的流。我的当前想法是使用HOSTNAME作为流名称的一部分,因为它是每个Docker实例的唯一标识。
-
前一个问题的一个扩展是同一Docker实例上的两个长时间运行的脚本。可能有必要使用共享内存和锁来确保两个运行中的PHP实例之间的sequenceToken正确。拥抱云的无状态!!!或者让调用失败并尝试恢复sequenceToken,这可能会成为性能噩梦。
待办事项
- 允许S3文件进行堆栈转储。
- 更好的使用流命名,不确定如何,但可能与
Formatter
有关 - 创建
try
catch
用例的示例 - 创建
set_error_handler
用例的示例 - 创建ZF2 DI用例示例
- 创建静音选项和用例示例
- 创建链式
formatter
的方法 - 创建使用
formatter
调用新的Logs
实例的示例