Seda
  • Getting Started
  • Integrations
    • Integration Settings
    • Integrations
      • BigQuery
        • BigQuery Metadata Extracted
      • Snowflake
        • Snowflake Metadata Extracted
      • dbt cloud
      • dbt core
      • Redshift
        • Redshift Metadata Extracted
      • Postgres
        • Postgres Metadata Extracted
      • MySQL
        • MySQL Metadata Extracted
      • Confluence
        • Confluence Metadata Extracted
    • Security
      • Connecting via Reverse SSH Tunnel
      • Connecting via SSH Tunnel
  • FAQs
  • Policies
    • Terms of Use
    • Privacy Policy
    • Security Policy
    • Data Processing Agreement
Powered by GitBook
On this page
  • Getting started with dbt Core
  • Option 1 – Storage bucket (container)
  • Option 2 – Upload a single manifest.json
Export as PDF
  1. Integrations
  2. Integrations

dbt core

Previousdbt cloudNextRedshift

Last updated 1 month ago

Getting started with dbt Core

dbt is a secondary integration that adds additional metadata on to your data warehouse or relational database tables. Before connecting dbt make sure to connect a data warehouse or relational database first. These include Snowflake, BigQuery, Postgres, Redshift, etc.

There are several options to connect dbt core with Seda:

  1. (Recommended) Connect an AWS, GCP, or Azure storage bucket/container

  2. Upload a manifest.json and run_results.json through the UI

  3. Upload a manifest.json and run_results.json through the API

Option 1 – Storage bucket (container)

This option is recommended to ensure that Seda always has the latest manifest.json and run_results.json files from dbt Core. Seda will only sync these files from the bucket.

1a. Connect an AWS S3 bucket

You can connect to the AWS S3 bucket using an AWS IAM user, or AWS Roles.

AWS IAM Uer
    1. Create a new AWS IAM user and ensure that Access Key - Programatic access is checked. Once you create the user save the Access Key ID and Secret Access Key that are generated for the user.

    2. Attach the following policy to the user. Make sure to change <your-bucket-name>.

    Copy

    {
        "Statement": [
            {
                "Action": [
                    "s3:PutObject",
                    "s3:PutObjectAcl",
                    "s3:ListBucket",
                    "s3:GetObject",
                    "s3:GetObjectAcl",
                    "s3:DeleteObject"
                ],
                "Effect": "Allow",
                "Resource": [
                    "arn:aws:s3:::<your-bucket-name>",
                    "arn:aws:s3:::<your-bucket-name>/*"
                ]
            }
        ],
        "Version": "2012-10-17"
    }
    1. Connect your S3 bucket to Seda

      • Navigate to and click dbt Core

      • Choose the Access Key tab and add the credentials from AWS (Region, Bucket Name, Access Key ID, Secret Access Key)

      • Test the Connection - if successful, you'll be prompted to run your initial sync

AWS Roles
    1. Create a new AWS IAM role. In the Select type of trusted entity page, click Another AWS account and add the following account ID: 482836992928.

    2. Click on Require External ID, and copy the randomly generated value from Seda, in the dbt Core connection page.

    3. Attach the following policy to the role. Make sure to change <your-bucket-name>.

    Copy

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "s3:GetObject",
                    "s3:ListBucket"
                ],
                "Resource": [
                    "arn:aws:s3:::<your-bucket-name>",
                    "arn:aws:s3:::<your-bucket-name/*"
                ]
            }
        ]
    }
    1. Once the role is created, you'll receive an Amazon Resource Name (ARN) for the role.

    2. Connect your S3 bucket to Seda

      • Navigate to and click dbt Core

      • Choose the Role tab and add the credentials from AWS (Role ARN, Region, Bucket Name)

      • Test the Connection - if successful you'll be prompted to run your initial sync

1b. Connect a GCS S3-compatible bucket

  1. Login to GCP cloud console.

  2. Create a service account.

  3. Grant access to the service account from the Bucket page as “Storage Object Viewer”.

  4. Turn on interoperability on the bucket. Generate HMAC keys for a service account with read access to the bucket. Both located here:

  1. Setup CORS. GCP requires this be done over CLI. Like the following:

Copy

gsutil cors set cors.json gs://bucket-name

cors.json

Copy

[
  {
    "origin": ["*"],
    "method": ["GET", "POST", "PUT", "DELETE", "OPTIONS"],
    "responseHeader": ["Content-Type"],
    "maxAgeSeconds": 3600
  }
]
  1. Save the HMAC keys to be used in the connection form.

    • Access Key Id

    • Secret

    • Region bucket region for GCP

    • S3 Endpoint must be added and set to https://storage.googleapis.com

  2. Connect your S3 bucket to Seda

    • Choose the Access Key tab and add the HMAC keys saved above to the relevant fields.

    • Test the Connection - if successful you'll be prompted to run your initial sync

1c. Connect a Azure Blob Storage container

  1. Go to portal.azure.com and then click Storage accounts.

  2. Copy the name of the desired storage account. Enter that in the integration form.

  3. Click on your storage account and under Security + networking select Access keys.

  4. Copy the Connection string and add to your integration form.

  5. Test the connection.

Option 2 – Upload a single manifest.json

The dbt manifest file contains complete information about how tables are transformed and how they are connected in terms of data lineage. It details the model to table relationships, providing a complete and accurate lineage view.

This is a one time sync with your manifest.json file. You can upload the file following these steps:

  1. Choose the File Upload tab and select your manifest.json and run_results.json files using the file select

  2. Test the Connection - if successful you'll be prompted to run your initial sync

4. Now that a sync has been triggered, you can now monitor your sync in the UI!

Navigate to and click dbt Core

Navigate to and click dbt Core

https://app.seda.co/integrations/new
https://app.seda.co/integrations/new
https://app.seda.co/integrations/new
https://app.seda.co/integrations/new