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.

13571357

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.
17931793
  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:
16161616

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:

649649

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_ID

VARCHAR

EVENT_YEAR

NUMBER

EVENT_MONTH

DATE

EVENT_DATE

DATE

EVENT_TIME

TIMESTAMPNTZ

EVENT_ID

VARCHAR

APP_ID

VARCHAR

BRANCH_ID

VARCHAR

SESSION_ID

VARCHAR

DEPLOY_ID

VARCHAR

EVENT_TYPE

VARCHAR

CUSTOM_METRICS

OBJECT

DEFAULT_METRICS

OBJECT

SAVEPOINT_REVISION

NUMBER

CHANNEL_ID

VARCHAR

CHANNEL_KEY

VARCHAR

FLOW_ID

VARCHAR

ACTIVITY_ID

VARCHAR

ACTOR_ID

VARCHAR

RESOURCE_ID

VARCHAR

ACTIVITY_GROUP_ID

VARCHAR

CLIENT

VARCHAR

USER_AGENT

VARCHAR

SCREEN_WIDTH

NUMBER

SCREEN_HEIGHT

NUMBER

HTTP_SOURCE

VARCHAR

STATUS

VARCHAR

CODE

NUMBER

SERVICE

VARCHAR

SERVICE_VERSION

VARCHAR

EXTERNAL_ID

VARCHAR

DURATION_MILLIS

NUMBER

CXR_VERSION

VARCHAR

SOURCE_RUNTIME

VARCHAR

SOURCE_DETAIL

VARCHAR

APP_EVENT_PARENT_SCHEMA

VARCHAR

APP_EVENT_PARENT_ID

VARCHAR

APP_EVENT_SCHEMA

VARCHAR

APP_EVENT_ID

VARCHAR

CONTROL_ID

VARCHAR

CONTROL_SCHEMA

VARCHAR

TRIGGER_ID

VARCHAR

PROFILE_ID

VARCHAR

EVENT_SOURCE_ID

VARCHAR

ACTION_PARENT_PATH

VARCHAR

ACTION_PARENT_SCHEMA

VARCHAR

ACTION_PATH

VARCHAR

ACTION_SCHEMA

VARCHAR

CONNECTION_ID

VARCHAR

EVENT_SOURCE_NAME

VARCHAR

EVENT_SOURCE_PARENT_ID

VARCHAR

EVENT_HANDLER_ID

VARCHAR

EVENT_HANDLER_SCHEMA

VARCHAR

EVENT_SOURCE_INPUT

VARCHAR

Platform Events

ORGANIZATION_ID

VARCHAR

EVENT_YEAR

NUMBER

EVENT_MONTH

DATE

EVENT_DATE

DATE

EVENT_TIME

TIMESTAMPNTZ

EVENT_ID

VARCHAR

APP_ID

VARCHAR

BRANCH_ID

VARCHAR

SAVEPOINT_REVISION

NUMBER

DEPLOY_ID

VARCHAR

EVENT_TYPE

VARCHAR

STATUS

VARCHAR

MESSAGE

VARCHAR

SERVICE

VARCHAR

SERVICE_VERSION

VARCHAR

CXR_VERSION

VARCHAR

CONNECTION_ID

VARCHAR

GROUP_ID

VARCHAR

DURATION_MILLIS

NUMBER


Did this page help you?