S3
Integration
AWS Access
Either create a programmatic access user or provide an existing one.
This user must have the following permissions:
- s3:PutObject on the bucket.
Birch
Add the integration to your dashboard.
Field | Value | Required |
---|---|---|
Name | A name to identify the drain | ✔ |
Access Key ID | The access key id of the AWS user used to authenticate | ✔ |
Secret Access Key | The secret access key of the AWS user used to authenticate | ✔ |
Region | Must match the region of your AWS account | ✔ |
Bucket | The bucket to place the logs in | ✔ |
Key Prefix | A prefix to the path where the logs are put. See additional documentation |
Key Prefix
Logs will be saved to **s3://:bucket/(:key_prefix/):source_identifier/:timestamp.json
Let's say you have the following setup:
- Bucket is your_company
- Key prefix is null
- You did not set an identifier on the logger.
Birch.identifier = nil
- The UUID is
e903d25d-eabc-4038-a149-bccf87830021
. Example:let uuid = Birch.uuid
Logs will be written to:
s3://your_company/e903d25d-eabc-4038-a149-bccf87830021/1674146985.json
Let's say you have this setup:
- Bucket is your_company
- Key prefix is birch_logs
- You set an identifier on the logger.
Birch.identifier = "abc123"
Logs will be written to
s3://your_company/birch_logs/abc123/1674146985.json
Log Format
[
{
"timestamp": "2022-10-25T02:05:15+00:00",
"level": 0,
"source": {
"uuid": "954257b7-1feb-4fd1-8cb8-a047a105ff26",
"package_name": "com.gruffins.birch.app",
"app_version": "1.0",
"app_build_number": "1",
"brand": "google",
"manufacturer": "google",
"model": "pixel 3a",
"os": "Android",
"identifier": "user_id",
"custom_property__key": "value",
"custom_property__key_1": "value 1"
},
"message": "hello"
}
]