CTS Event Source¶
For the use of CTS triggers, please refer to Using a CTS Trigger.
CTS example event¶
{
"cts": {
"time": 1529996047,
"user": {
"name": "userName",
"id": "5b726c4fbfd84821ba866bafaaf56aax",
"domain": {
"name": "domainName",
"id": "b2b3853af40448fcb9e40dxj89505ba"
}
},
"request": {},
"response": {},
"code": 204,
"service_type": "FunctionGraph",
"resource_type": "graph",
"resource_name": "workflow-2be1",
"resource_id": "urn:fgs:region:projectId:graph:workflow-2be1",
"trace_name": "deleteGraph",
"trace_type": "ConsoleAction",
"record_time": 1529996047,
"trace_id": "69be64a7-0233-11e8-82e4-e5d37911193e",
"trace_status": "normal"
}
}
Parameter description¶
Parameter |
Type |
Description |
|---|---|---|
time |
Int |
(Epoch timestamp in milliseconds) |
user |
Map |
Information about the user who initiated this request |
request |
Map |
Event request content |
response |
Map |
Incident response content |
code |
Int |
Event response code, such as 200, 400 |
service_type |
String |
Abbreviation of the sender, such as vpc, ecs, etc. |
resource_type |
String |
The sender resource type, such as vm, vpn, etc. |
resource_name |
String |
Resource name, such as the name of a virtual machine in the ecs service |
trace_name |
String |
Event name, such as: startServer, shutDown, etc. |
trace_type |
String |
The event source type, such as ApiCall |
record_time |
String |
The time when the cts service receives this trace (Epoch timestamp in milliseconds) |
trace_id |
String |
Unique identifier for the event |
trace_status |
String |
Status of the event |
For full description of all parameters see CTS Event Reference.
Example¶
<?php
require_once __DIR__ . '/../vendor/autoload.php';
use OTC\fg_cts_event\CTSEvent;
function initializer($context)
{
$logger = $context->getLogger();
$output = 'Initializer called for function: ' . $context->getFunctionName();
$logger->debug($output);
return $output;
}
function handler($event, $context)
{
$logger = $context->getLogger();
$logger->info('Function Name: ' . $context->getFunctionName());
$ctsEvent = new CTSEvent($event);
$logger->info('CTS Event- Trace type: ' . $ctsEvent->getTraceType());
$logger->info('CTS Event- Service type: ' . $ctsEvent->getServiceType());
return [
'service_type' => $ctsEvent->getServiceType(),
'trace_type' => $ctsEvent->getTraceType(),
'trace_name' => $ctsEvent->getTraceName(),
];
}
Full sample code is available in the samples-doc/scratch-event-cts.