App Events to AWS S3 Buckets

Data collected around App Events can be streamed from Airkit to AWS S3 buckets, allowing you to investigate the data in external analytics platforms.

1357

Streaming App Events to S3

Here, we walk through how to set up your S3 bucket to receive App Event Logs logs from Airkit.

  1. Create your S3 Bucket in AWS. When creating the bucket, select ACLs disabled.
1793
  1. After creating your S3 Bucket, provide Airkit permission to your S3 bucket via the following AWS IAM policy, assuming {{BUCKET-NAME}}is the name of the S3 bucket you created:
{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Sid": "AirkitWritePermission",
         "Effect": "Allow",
         "Principal": {
            "AWS": "arn:aws:iam::113997530994:root"
         },
         "Action": [
            "s3:PutObject"
         ],
         "Resource": [
            "arn:aws:s3:::{{BUCKET-NAME}}/*"
         ]
      }
   ]
}
  1. In Airkit Console,visit Settings > Logs and App Notifiers. The UI will look as follows:
1616

Under App Event Logs > S3 bucket, click edit to set an new S3 bucket, and then insert the S3 bucket name you created previously into the pop-up window that appears:

649

Click Verify. Airkit will write a test file named airkit-verify-test-{{timestamp}}

  1. Once configured, every few minutes, Airkit will send relevant Events in a new file to the S3 bucket.

Event Data Schema

The structure of the Event Data depends on the type of Event it is: a Session Event or a Platform Event.

Session Events

ORGANIZATION_IDVARCHAR
EVENT_YEARNUMBER
EVENT_MONTHDATE
EVENT_DATEDATE
EVENT_TIMETIMESTAMPNTZ
EVENT_IDVARCHAR
APP_IDVARCHAR
BRANCH_IDVARCHAR
SESSION_IDVARCHAR
DEPLOY_IDVARCHAR
EVENT_TYPEVARCHAR
CUSTOM_METRICSOBJECT
DEFAULT_METRICSOBJECT
SAVEPOINT_REVISIONNUMBER
CHANNEL_IDVARCHAR
CHANNEL_KEYVARCHAR
FLOW_IDVARCHAR
ACTIVITY_IDVARCHAR
ACTOR_IDVARCHAR
RESOURCE_IDVARCHAR
ACTIVITY_GROUP_IDVARCHAR
CLIENTVARCHAR
USER_AGENTVARCHAR
SCREEN_WIDTHNUMBER
SCREEN_HEIGHTNUMBER
HTTP_SOURCEVARCHAR
STATUSVARCHAR
CODENUMBER
SERVICEVARCHAR
SERVICE_VERSIONVARCHAR
EXTERNAL_IDVARCHAR
DURATION_MILLISNUMBER
CXR_VERSIONVARCHAR
SOURCE_RUNTIMEVARCHAR
SOURCE_DETAILVARCHAR
APP_EVENT_PARENT_SCHEMAVARCHAR
APP_EVENT_PARENT_IDVARCHAR
APP_EVENT_SCHEMAVARCHAR
APP_EVENT_IDVARCHAR
CONTROL_IDVARCHAR
CONTROL_SCHEMAVARCHAR
TRIGGER_IDVARCHAR
PROFILE_IDVARCHAR
EVENT_SOURCE_IDVARCHAR
ACTION_PARENT_PATHVARCHAR
ACTION_PARENT_SCHEMAVARCHAR
ACTION_PATHVARCHAR
ACTION_SCHEMAVARCHAR
CONNECTION_IDVARCHAR
EVENT_SOURCE_NAMEVARCHAR
EVENT_SOURCE_PARENT_IDVARCHAR
EVENT_HANDLER_IDVARCHAR
EVENT_HANDLER_SCHEMAVARCHAR
EVENT_SOURCE_INPUTVARCHAR

Platform Events

ORGANIZATION_IDVARCHAR
EVENT_YEARNUMBER
EVENT_MONTHDATE
EVENT_DATEDATE
EVENT_TIMETIMESTAMPNTZ
EVENT_IDVARCHAR
APP_IDVARCHAR
BRANCH_IDVARCHAR
SAVEPOINT_REVISIONNUMBER
DEPLOY_IDVARCHAR
EVENT_TYPEVARCHAR
STATUSVARCHAR
MESSAGEVARCHAR
SERVICEVARCHAR
SERVICE_VERSIONVARCHAR
CXR_VERSIONVARCHAR
CONNECTION_IDVARCHAR
GROUP_IDVARCHAR
DURATION_MILLISNUMBER