synida/aws-event-bridge-wrapper

EventBridge 基本PutEvent功能的PHP封装

v1.4.1 2023-10-02 12:03 UTC

This package is auto-updated.

Last update: 2024-08-31 00:32:25 UTC


README

支持 aws events put-events --entries <entries> 命令的最小化包

基本用法

关于PutEvents函数的信息:https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html

接受的字段是 Entries 字段下的字段以及以下字段;DetailDetailTypeEventBusNameResourcesSourceTimeTraceHeader

重要 确保您正在使用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();