synida / aws-event-bridge-wrapper
EventBridge 基本PutEvent功能的PHP封装
v1.4.1
2023-10-02 12:03 UTC
Requires
- php: ^7.4 || ^8.0
Requires (Dev)
- phpunit/phpunit: ^7
README
支持 aws events put-events --entries <entries>
命令的最小化包
基本用法
关于PutEvents函数的信息:https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html
接受的字段是 Entries
字段下的字段以及以下字段;Detail
、DetailType
、EventBusName
、Resources
、Source
、Time
、TraceHeader
重要 确保您正在使用aws cli 2+,否则您可能会在aws cli v1的错误字段上遇到错误
// You put whatever details you want to pass in this array
$detailArray = [
'task_id' => (new RandomGenerator())->uuid(),
'revisions' => [
'id' => 'edit',
's3_path'=> "s3://{$bucket}/{$s3Key}"
]
];
$entryObject = new EventEntry([
'Source' => 'some.source',
'DetailType' => 'some.detail.type',
'Detail' => json_encode($detailArray, JSON_THROW_ON_ERROR)
// ect..
]);
$entriesJson = json_encode([$entryObject], JSON_THROW_ON_ERROR)
$defaultPath = 'someFilePath';
$filePath = "{$defaultPath}/someFilename.json";
file_put_contents($filePath, $entriesJson);
$awsEBCli = new EventBridge(['entries' => "file://$filePath"]);
$result = $awsEBCli->putEvents();