Table of Contents
Overview
If a segment file is over 10 Mb in size, the file needs to be uploaded to a Beeswax S3 bucket. Follow the instructions below for this process.
Upload Instructions to S3 for Segments
Provide IAM ARN
- Give your Beeswax account representative your AWS Identity & Access Management (IAM) Amazon Resource Name (ARN).
- Refer to AWS documentation for details.
- Use only "user" or "role" ARNs, not "group" or "root".
Wait for Confirmation
- Beeswax will notify you when your permissions have been added to the bucket policy.
- Do not upload files before receiving this notification.
Apply ACL Policy
Beeswax will provide an ACL policy for your user:
{ "Sid": "AllowAssumeBeeswaxRole", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::164891057361:role/customer-s3-user-list-<customer_buzz_key>" }
Replace
<customer_buzz_key>
with your actual buzz key.
Assume Role
- Assume the role from your ACL policy to access the Beeswax S3 bucket.
- Create a new profile in
~/.aws/config
using your AWS user to assume the specified role. - Refer to AWS CLI documentation for details.
Upload Segment File
- Upload to:
s3://beeswax-data-us-east-1/user-list/<customer_buzz_key>/
- Format the file according to Segment Uploads instructions.
- Use
--profile
option with the profile created in step 4. - Include the forward-slash at the end of the bucket path to avoid "Access Denied" errors.
- For EMEA or APAC, use
beeswax-data-eu-west-1
orbeeswax-data-ap-northeast-1
respectively.
- Upload to:
Set File Permissions
- Run this AWS CLI command:
aws s3api put-object-acl \ --profile <assumeBeeswaxRoleProfile> \ --bucket beeswax-data-us-east-1 \ --key user-list/<customer_buzz_key>/file_name.txt \ --acl bucket-owner-full-control \ --region us-east-1
- Replace placeholders with your actual values.
- Adjust bucket and region for EMEA or APAC uploads.
- Run this AWS CLI command:
Execute Segment Upload API Call
- Make a POST call to the Buzz API:
curl -X POST "https://<customer_buzz_key>.api.beeswax.com/rest/segment_upload" -b cookies.txt -d '{"segment_file_list":["s3://beeswax-data-us-east-1/user-list/<customer_buzz_key>/file_name.txt"],"account_id":2,"file_format":"DELIMITED","user_id_type":"OTHER_MOBILE_ID","segment_key_type":"DEFAULT"}'
- Replace
<customer_buzz_key>
andaccount_id
as needed. - For EMEA uploads, include
"continent":"EMEA"
in the payload.
- Make a POST call to the Buzz API:
Track Progress
- Monitor the file processing in the Segment Uploads screen of the UI.
There are three options for the continent field: NAM, EMEA, APAC. When the continent field is not passed then it will default to NAM.
For more information, see: