jstormes/aws-tools

作为PHP composer包,围绕AWS服务的一个非常轻量级的包装器。

v0.1.3 2021-03-02 15:49 UTC

This package is auto-updated.

Last update: 2024-09-29 06:02:55 UTC


README

围绕AWS服务的包装器,以便在PHP中更容易使用。

快速入门

裸金属上的PHP

克隆项目

git clone git@github.com:jstormes/AWSTools.git

cd AWSTools

使用composer安装AWS依赖项

composer install

确保AWS已为您设置了CLI环境。

您的主目录中应有 .aws,包含适当的 credentialsconfig 文件。您的 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实例的示例