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.

Streaming App Events to S3
Here, we walk through how to set up your S3 bucket to receive App Event Logs logs from Airkit.
- Create your S3 Bucket in AWS. When creating the bucket, select
ACLs disabled
.

- 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}}/*"
]
}
]
}
- In Airkit Console,visit Settings > Logs and App Notifiers. The UI will look as follows:

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:

Click Verify. Airkit will write a test file named airkit-verify-test-{{timestamp}}
- 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 |
Updated about 2 years ago