Skip to main content

Data warehouse

Last updated on October 4, 2023
note

Data warehouse integrations are not available on AGS Starter tier.

Overview

To be able to receive events, and the player actions log, you need to set up a data warehouse. The Game Telemetry service supports several different data warehouses by default, and AccelByte can work with you to integrate a data warehouse that we don't yet support. This section provides guides on how to connect the Game Telemetry service with a few common data warehouses: S3, Redshift, and Snowflake.

S3

AccelByte cloud supports outputting directly to Amazon S3 buckets. The data is structured into text files containing JSON representations of each event, which can then be processed by your own systems.

S3 Integration Requirements

AccelByte can integrate the Game Telemetry pipeline with S3 for you. To do so you'll need to send us the S3 bucket name that you wish events to be written to. AccelByte will provide an IAM representing your AccelByte connector. Once you add this IAM to the security for your S3 bucket, configuration will be complete.

Redshift

AccelByte can create a connector for you in Kafka Connect, to pull event data from Kafka and write the data to Redshift. Nested data will be flattened in the Game Telemetry pipeline, before getting pushed into Kafka. Each payload attached to the events will be converted into a Redshift column.

Redshift Integration Requirements

AccelByte can integrate the Game Telemetry pipeline with Redshift for you. To do so, you'll need to send us the following information:

  • Redshift credentials
  • Redshift database name

After we input that information into Kafka Connect, the connector will be created and the pipeline will automatically send Game Telemetry Data to Redshift.

Snowflake

If you use Snowflake as your data warehouse, you can set up a connection to AccelByte in the Admin Portal by following the steps below.

To connect Snowflake to AccelByte Cloud, first complete the following prerequisites in the Snowflake application:

Connect Snowflake to AGS

  1. In the publisher namespace of the Admin Portal, go to 3rd Party Integrations and open the Analytics & Data Monitoring menu.

    alt_text

  2. In the Analytics & Data Monitoring menu, click Configure Now.

    alt_text

  3. The Add Snowflake Configuration form will appear. Fill in the fields with the following information:

    alt_text

  4. Enter the Snowflake username of the user that will be responsible for this data in the Snowflake Username field.

  5. Enter your Snowflake account ID in the Snowflake Account ID field.

    The Snowflake Account ID is the prefix before snowflakecomputing.com in your Snowflake account url. Example: if your Snowflake URL is rsa42644.us-east-1.snowflakecomputing.com then the account ID is rsa42644.us-east-1.

    Take care to enter the correct Account ID format.

  6. Enter the destination database's name in the DB Name field.

    • Enter the schema of the database used for the integration in the Schema field.

    • Enter the pipeline you want as the source of the data in the Data Pipe Source field. You can enter more than one pipeline.

    • Choose how you want to store the data in the Model field. There are two model options:

      • Single: This model will store the data in one table for all AccelByte Cloud system events. If you use the Telemetry service, two tables will be created (one for Telemetry events and one for AccelByte Cloud system events).
      • Mapping: This model will store the data by mapping each event's topic name into a table. One table will be created for each topic name. Snowflake stages and pipes will also be created as tables.
  7. The Connect to Snowflake form will appear along with a Public Key. Copy the Public Key and paste it in your Snowflake Worksheet to set the connection.

    alt_text

    Important: this step must be completed before you can proceed to the following steps.

  8. Click the Integration Status toggle to switch it to Activate. You will be redirected to the Analytics & Data Monitoring page and your Connection Status will be changed to Connected. Your configuration may still be in progress. If so, you can refresh the page to update the status of your configuration.

    alt_text

  9. Once your configuration is successful, the Integration Status field will be changed to Active.

    alt_text

  10. If your configuration fails, the Integration Status field will change to Deactivated and the Connect button will appear in the Connection Status field. You can click the Connect button to try reconnecting, click the Edit button to edit the configuration, or click Remove to remove the configuration.

    Note: if your configuration fails, make sure all the prerequisites on the Snowflake side have been satisfied.

Backfill Snowflake Data

If your Snowpipe is missing data after you change your Snowflake Credentials or data has disappeared due to a connection issue, you can use the backfill feature to run past scheduled pipelines and fill in the missing data.

Ensure you have activated and started the Snowflake Warehouse before using the backfill feature.

  1. In the publisher namespace of the Admin Portal, go to 3rd Party Integrations and open the Analytics & Data Monitoring menu.

    alt_text

  2. In the Analytics & Data Monitoring menu, click the Backfill button.

    alt_text

  3. The Backfill form will appear. If you want to retrieve missing data from the entire range of your backfill data, choose All Time in the Time Range option. If you want to retrieve missing data for a specified time, choose Partial in the Time Range option and enter the Start Date and End Date for this time range.

    alt_text

  4. When you're finished, click Submit.

The backfilling process will run in the background. Refresh the page to see the latest configuration status. You can also cancel the backfilling process by clicking Cancel Backfilling Process.

alt_text

Once backfilling has been completed successfully, a confirmation will appear on the configuration page.

If the backfilling fails, check your connection and ensure that the username you set when creating your Snowflake Configuration has been set in the default warehouse using the DESCRIBE USER syntax in Snowflake.

The default warehouse is running by checking the Warehouse Menu in Snowflake.

Once the integration is successful, if you want to regularly update the RSA Key to ensure connection security, you can generate a new RSA Key by clicking Generate New RSA Key next to Connection Status on the configuration page.

alt_text

The Snowflake integration will be disconnected and you will need to reconnect Snowflake.

Edit the Snowflake Configuration

  1. In the publisher namespace of the Admin Portal, go to 3rd Party Integrations and open the Analytics & Data Monitoring menu.

    alt_text

  2. In the Analytics & Data Monitoring menu, click the Edit Configuration button.

    alt_text

  3. Before editing the configuration, you must first disconnect Snowflake. The Disconnect Snowflake form will appear. Click Continue to disconnect the configuration and proceed to the editing form.

    alt_text

  4. The Edit Snowflake Configuration form will appear. Fill in the following information:

    • Enter the Snowflake username of the user that will be responsible for this data in the Snowflake Username field.
    • Enter your Snowflake account ID in the Snowflake Account ID field.

    Note: the Snowflake Account ID is the prefix before snowflakecomputing.com in your Snowflake account url.

    Example: if your Snowflake URL is rsa42644.us-east-1.snowflakecomputing.com then the account ID is rsa42644.us-east-1.

    • Enter the destination database's name in the DB Name field.
    • Enter the schema of the database used for the integration in the Schema field.
    • Enter the pipeline you want as the source of the data in the Data Pipe Source field. You can enter more than one pipeline.
    • Choose how you want to store the data in the Model field. Choose Single if you want to store all of the data in a single table or choose Mapping if you want to store the data in a different table for each topic.

    alt_text

  5. When you're finished, click Continue.

  6. The Connect to Snowflake form will appear along with a Public Key. Copy the Public Key and paste it into your Snowflake configuration script to set up the connection.

    alt_text

This step must be completed before you can proceed with the Game Telemetry guides.

Click the Connect button. You will be redirected back to the Analytics & Data Monitoring page.