Skip to content

Commit 0d0884d

Browse files
fivetran-data-model-botClaude README Updaterfivetran-catfritzfivetran-joemarkiewiczgithub-actions[bot]
authored
Update .quickstart.yml and README (#11)
* Update .quickstart.yml and README for fy26 q4 * Fix spelling errors CHANGELOG and/or quickstart.yml * Fix spelling errors CHANGELOG and/or quickstart.yml * Fix links * Apply suggestions from code review * Generate dbt docs via GitHub Actions --------- Co-authored-by: Claude README Updater <noreply@fivetran.com> Co-authored-by: Catherine Fritz <111930712+fivetran-catfritz@users.noreply.github.com> Co-authored-by: Joe Markiewicz <74217849+fivetran-joemarkiewicz@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 parent dd2e1c7 commit 0d0884d

7 files changed

Lines changed: 96 additions & 51 deletions

File tree

.quickstart/quickstart.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,16 @@ public_models: [
1414
"aws_cloud_cost__daily_product_report",
1515
"aws_cloud_cost__daily_instance_report"
1616
]
17+
18+
supported_vars:
19+
aws_cloud_cost_start_date:
20+
type: string
21+
value: "1970-01-01"
22+
description: "Start date for the window of data to transform (YYYY-MM-DD format)"
23+
display_name: "Date Range Start"
24+
25+
aws_cloud_cost_report_pass_through_columns:
26+
type: dictionary
27+
description: "Additional Cost & Usage Report columns to include in `aws_cloud_cost__daily_overview`"
28+
display_name: "Additional Cost & Usage Report Columns"
29+

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
# dbt_aws_cloud_cost v0.3.0
2+
3+
[PR #11](https://github.com/fivetran/dbt_aws_cloud_cost/pull/11) includes the following updates:
4+
5+
## Documentation
6+
- Updates README with standardized Fivetran formatting.
7+
8+
## Under the Hood
9+
- In the `quickstart.yml` file:
10+
- Adds `supported_vars` for Quickstart UI customization.
11+
112

213
# dbt_aws_cloud_cost v0.2.0
314

README.md

Lines changed: 68 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
2-
# AWS Cloud Cost dbt Package ([Docs](https://fivetran.github.io/dbt_aws_cloud_cost/))
1+
<!--section="aws-cloud-cost_transformation_model"-->
2+
# Aws Cloud Cost dbt Package
33

44
<p align="left">
55
<a alt="License"
@@ -12,66 +12,83 @@
1212
<a alt="PRs">
1313
<img src="https://img.shields.io/badge/Contributions-welcome-blueviolet" /></a>
1414
<a alt="Fivetran Quickstart Compatible"
15-
href="https://fivetran.com/docs/transformations/dbt/quickstart">
15+
href="https://fivetran.com/docs/transformations/data-models/quickstart-management#quickstartmanagement">
1616
<img src="https://img.shields.io/badge/Fivetran_Quickstart_Compatible%3F-yes-green.svg" /></a>
1717
</p>
1818

19-
### What does this dbt package do?
19+
This dbt package transforms data from Fivetran's Aws Cloud Cost connector into analytics-ready tables.
2020

21-
This package models AWS Cloud Cost data from [Fivetran's AWS Cost Report connector](https://fivetran.com/docs/connectors/applications/aws-cost-report). It uses data in the format described by the [AWS Cost & Usage Report](https://docs.aws.amazon.com/cur/latest/userguide/table-dictionary-cur2.html).
21+
## Resources
2222

23-
The main focus of the package is to transform the core object tables into analytics-ready models, including:
24-
- Materializes [AWS Cloud Cost staging tables](https://fivetran.github.io/dbt_aws_cloud_cost/#!/model/model.aws_cloud_cost.stg_aws_cloud_cost__report) which leverage data in the format described by the [AWS Cost & Usage Report](https://docs.aws.amazon.com/cur/latest/userguide/table-dictionary-cur2.html). These staging tables clean, test, and prepare your AWS Cloud Cost data from [Fivetran's connector](https://fivetran.com/docs/connectors/applications/aws-cost-report) for analysis by doing the following:
25-
- Names columns for consistency across all packages and for easier analysis:
26-
- Column names are shortened for convenience and to avoid redundancy.
27-
- Takes the latest export of each account's billing month report.
28-
- Creates analytics-ready end models for monitoring and investigating cost & usage of different AWS services across your organizations.
29-
- Generates a comprehensive data dictionary of both your AWS Cloud Cost source and modeled data through the [dbt docs site](https://fivetran.github.io/dbt_aws_cloud_cost/).
23+
- Number of materialized models¹: 5
24+
- Connector documentation
25+
- [AWS Cloud Cost connector documentation](https://fivetran.com/docs/connectors/applications/aws-cost-report)
26+
- [AWS Cost & Usage Report](https://fivetran.com/docs/connectors/applications/aws-cost-report#syncoverview)
27+
- dbt package documentation
28+
- [GitHub repository](https://github.com/fivetran/dbt_aws_cloud_cost)
29+
- [dbt Docs](https://fivetran.github.io/dbt_aws_cloud_cost/#!/overview)
30+
- [DAG](https://fivetran.github.io/dbt_aws_cloud_cost/#!/overview?g_v=1)
31+
- [Changelog](https://github.com/fivetran/dbt_aws_cloud_cost/blob/main/CHANGELOG.md)
3032

31-
> This package does not apply freshness tests.
33+
## What does this dbt package do?
34+
This package enables you to monitor and investigate cost & usage of different AWS services across your organizations. It creates enriched models with metrics focused on billing, pricing, line item buckets, products, reservations, and savings plans.
3235

33-
<!--section="aws_cloud_cost_transformation_model"-->
34-
The following table provides a detailed list of all tables materialized within this package by default.
35-
> TIP: See more details about these tables in the package's [dbt docs site](https://fivetran.github.io/dbt_aws_cloud_cost/#!/overview/aws_cloud_cost).
3636

37-
| **Table** | **Description** |
38-
| ------------------------- | ------------------------------------------------------------------------------------------------------------------ |
39-
| [aws_cloud_cost__daily_overview](https://fivetran.github.io/dbt_aws_cloud_cost/#!/model/model.aws_cloud_cost.aws_cloud_cost__daily_overview) | Daily aggregation of the [Standard](https://docs.aws.amazon.com/cur/latest/userguide/dataexports-create-standard.html) Cost & Usage Report (2.0) exported from AWS. Includes slew of commonly analyzed dimensions related to [billing](https://docs.aws.amazon.com/cur/latest/userguide/table-dictionary-cur2-bill.html), [pricing](https://docs.aws.amazon.com/cur/latest/userguide/table-dictionary-cur2-pricing.html), [line item](https://docs.aws.amazon.com/cur/latest/userguide/table-dictionary-cur2-line-item.html) buckets, and [products](https://docs.aws.amazon.com/cur/latest/userguide/table-dictionary-cur2-product.html). Contains both high-level cost and usage metrics, along with all metrics related to [reservations](https://docs.aws.amazon.com/cur/latest/userguide/table-dictionary-cur2-reservation.html) and [savings plans](https://docs.aws.amazon.com/cur/latest/userguide/table-dictionary-cur2-savings-plan.html). Also includes financial reporting fieds relating to invoices and billing periods. |
40-
| [aws_cloud_cost__daily_product_report](https://fivetran.github.io/dbt_aws_cloud_cost/#!/model/model.aws_cloud_cost.aws_cloud_cost__daily_product_report) | Daily view of each account's use of and associated costs from individual AWS products for each billing period. Built off of the daily overview model. |
41-
| [aws_cloud_cost__daily_instance_report](https://fivetran.github.io/dbt_aws_cloud_cost/#!/model/model.aws_cloud_cost.aws_cloud_cost__daily_instance_report) | Daily view of each account's use of and associated costs from different Amazon Elastic Compute Cloud (EC2) instances for each billing period. Built off of the daily overview model. |
37+
### Output schema
38+
Final output tables are generated in the following target schema:
4239

43-
### Materialized Models
44-
Each Quickstart transformation job run materializes 5 models if all components of this data model are enabled. This count includes all staging, intermediate, and final models materialized as `view`, `table`, or `incremental`.
45-
<!--section-end-->
40+
```
41+
<your_database>.<connector/schema_name>_aws_cloud_cost
42+
```
43+
44+
### Final output tables
45+
46+
By default, this package materializes the following final tables:
47+
48+
| Table | Description |
49+
| :---- | :---- |
50+
| [aws_cloud_cost__daily_overview](https://fivetran.github.io/dbt_aws_cloud_cost/#!/model/model.aws_cloud_cost.aws_cloud_cost__daily_overview) | Provides a comprehensive daily view of AWS costs and usage across all services, accounts, and billing dimensions from the [Standard](https://docs.aws.amazon.com/cur/latest/userguide/dataexports-create-standard.html) Cost & Usage Report (2.0) to monitor spending patterns, optimize costs, and track [reservations](https://docs.aws.amazon.com/cur/latest/userguide/table-dictionary-cur2-reservation.html) and [savings plans](https://docs.aws.amazon.com/cur/latest/userguide/table-dictionary-cur2-savings-plan.html). <br></br>**Example Analytics Questions:**<ul><li>What are our daily AWS costs by [billing](https://docs.aws.amazon.com/cur/latest/userguide/table-dictionary-cur2-bill.html) account, [product](https://docs.aws.amazon.com/cur/latest/userguide/table-dictionary-cur2-product.html), or region?</li><li>How much are we saving through reservations and savings plans compared to on-demand pricing?</li><li>Which [line item](https://docs.aws.amazon.com/cur/latest/userguide/table-dictionary-cur2-line-item.html) buckets or [pricing](https://docs.aws.amazon.com/cur/latest/userguide/table-dictionary-cur2-pricing.html) categories are driving the biggest spending increases?</li></ul>|
51+
| [aws_cloud_cost__daily_product_report](https://fivetran.github.io/dbt_aws_cloud_cost/#!/model/model.aws_cloud_cost.aws_cloud_cost__daily_product_report) | Breaks down daily AWS spending by individual product and service for each account to identify which services consume the most budget and where optimization opportunities exist. <br></br>**Example Analytics Questions:**<ul><li>Which AWS products or services drive the highest costs by account?</li><li>How are product-specific costs trending day-over-day or month-over-month?</li><li>Where should we focus cost optimization efforts based on product spending patterns?</li></ul>|
52+
| [aws_cloud_cost__daily_instance_report](https://fivetran.github.io/dbt_aws_cloud_cost/#!/model/model.aws_cloud_cost.aws_cloud_cost__daily_instance_report) | Analyzes daily costs and usage for EC2 instances across all accounts to optimize compute spending and identify underutilized or oversized instances. <br></br>**Example Analytics Questions:**<ul><li>Which EC2 instance types generate the highest daily costs by account?</li><li>How does EC2 instance usage and spending vary across different accounts or environments?</li><li>Are there opportunities to right-size instances based on usage patterns?</li></ul>|
4653

47-
### How do I use the dbt package?
54+
¹ Each Quickstart transformation job run materializes these models if all components of this data model are enabled. This count includes all staging, intermediate, and final models materialized as `view`, `table`, or `incremental`.
4855

49-
> DISCLAIMER: This package transforms source data of potentially very high volumes. Please be aware of the size of your dataset(s) and take this into consideration when configuring the frequency with which you will orchestrate the package models. See [Step 4](https://github.com/fivetran/dbt_aws_cloud_cost?tab=readme-ov-file#optional-step-4-additional-configurations) for tools to mitigate compute and storage costs.
56+
---
5057

51-
#### Step 1: Prerequisites
58+
## Prerequisites
5259
To use this dbt package, you must have the following:
5360

5461
- At least one Fivetran AWS Cloud Cost connection syncing data into your destination.
5562
- A **BigQuery**, **Snowflake**, **Redshift**, **Databricks**, or **PostgreSQL** destination.
5663

57-
##### Databricks dispatch configuration
58-
If you are using a Databricks destination with this package, you must add the following (or a variation of the following) dispatch configuration within your `dbt_project.yml`. This is required in order for the package to accurately search for macros within the `dbt-labs/spark_utils` then the `dbt-labs/dbt_utils` packages respectively.
59-
```yml
60-
dispatch:
61-
- macro_namespace: dbt_utils
62-
search_order: ['spark_utils', 'dbt_utils']
63-
```
64+
## How do I use the dbt package?
65+
You can either add this dbt package in the Fivetran dashboard or import it into your dbt project:
6466

65-
#### Step 2: Install the package
67+
- To add the package in the Fivetran dashboard, follow our [Quickstart guide](https://fivetran.com/docs/transformations/data-models/quickstart-management#quickstartmanagement).
68+
- To add the package to your dbt project, follow the setup instructions in the dbt package's [README file](https://github.com/fivetran/dbt_aws_cloud_cost/blob/main/README.md#how-do-i-use-the-dbt-package) to use this package.
69+
70+
> DISCLAIMER: This package transforms source data of potentially very high volumes. Please be aware of the size of your dataset(s) and take this into consideration when configuring the frequency with which you will orchestrate the package models. See [Additional configurations](https://github.com/fivetran/dbt_aws_cloud_cost?tab=readme-ov-file#optional-additional-configurations) for tools to mitigate compute and storage costs.
71+
72+
<!--section-end-->
73+
74+
### Install the package
6675
Include the following AWS Cloud Cost package version in your `packages.yml` file:
6776
> TIP: Check [dbt Hub](https://hub.getdbt.com/) for the latest installation instructions or [read the dbt docs](https://docs.getdbt.com/docs/package-management) for more information on installing packages.
6877
```yml
6978
packages:
7079
- package: fivetran/aws_cloud_cost
71-
version: [">=0.2.0", "<0.3.0"] # we recommend using ranges to capture non-breaking changes automatically
80+
version: [">=0.3.0", "<0.4.0"] # we recommend using ranges to capture non-breaking changes automatically
81+
```
82+
83+
##### Databricks dispatch configuration
84+
If you are using a Databricks destination with this package, you must add the following (or a variation of the following) dispatch configuration within your `dbt_project.yml`. This is required in order for the package to accurately search for macros within the `dbt-labs/spark_utils` then the `dbt-labs/dbt_utils` packages respectively.
85+
```yml
86+
dispatch:
87+
- macro_namespace: dbt_utils
88+
search_order: ['spark_utils', 'dbt_utils']
7289
```
7390

74-
#### Step 3: Define database, schema, and table name variables
91+
### Define database, schema, and table name variables
7592

7693
##### Option A: Single connection
7794
By default, this package assumes your AWS Cost & Usage Report data lives in the following location:
@@ -372,7 +389,7 @@ vars:
372389
has_defined_sources: true
373390
```
374391

375-
#### (Optional) Step 4: Additional configurations
392+
### (Optional) Additional configurations
376393

377394
##### Limit Date Range
378395
Although the package transforms the latest version of each report, your AWS Cost & Usage Report data may still be quite large. In order to avoid unnecessary compute and storage costs, we have added a minimum (INCLUSIVE) **start date** variable that can be used to limit the data's date range.
@@ -425,11 +442,11 @@ models:
425442
```
426443
</details>
427444

428-
#### (Optional) Step 5: Orchestrate your models with Fivetran Transformations for dbt Core™
445+
### (Optional) Orchestrate your models with Fivetran Transformations for dbt Core™
429446
<details><summary>Expand for details</summary>
430447
<br>
431448

432-
Fivetran offers the ability for you to orchestrate your dbt project through [Fivetran Transformations for dbt Core™](https://fivetran.com/docs/transformations/dbt). Learn how to set up your project for orchestration through Fivetran in our [Transformations for dbt Core setup guides](https://fivetran.com/docs/transformations/dbt#setupguide).
449+
Fivetran offers the ability for you to orchestrate your dbt project through [Fivetran Transformations for dbt Core™](https://fivetran.com/docs/transformations/dbt#transformationsfordbtcore). Learn how to set up your project for orchestration through Fivetran in our [Transformations for dbt Core setup guides](https://fivetran.com/docs/transformations/dbt/setup-guide#transformationsfordbtcoresetupguide).
433450
</details>
434451

435452
### Does this package have dependencies?
@@ -445,15 +462,19 @@ packages:
445462
version: [">=1.0.0", "<2.0.0"]
446463
```
447464

448-
### How is this package maintained and can I contribute?
449-
#### Package Maintenance
450-
The Fivetran team maintaining this package _only_ maintains the latest version of the package. We highly recommend you stay consistent with the [latest version](https://hub.getdbt.com/fivetran/aws_cloud_cost/latest/) of the package and refer to the [CHANGELOG](https://github.com/fivetran/dbt_aws_cloud_cost/blob/main/CHANGELOG.md) and release notes for more information on changes across versions.
465+
<!--section="aws-cloud-cost_maintenance"-->
466+
## How is this package maintained and can I contribute?
467+
468+
### Package Maintenance
469+
The Fivetran team maintaining this package only maintains the [latest version](https://hub.getdbt.com/fivetran/aws_cloud_cost/latest/) of the package. We highly recommend you stay consistent with the latest version of the package and refer to the [CHANGELOG](https://github.com/fivetran/dbt_aws_cloud_cost/blob/main/CHANGELOG.md) and release notes for more information on changes across versions.
451470

452-
#### Contributions
471+
### Contributions
453472
A small team of analytics engineers at Fivetran develops these dbt packages. However, the packages are made better by community contributions.
454473

455-
We highly encourage and welcome contributions to this package. Check out [this dbt Discourse article](https://discourse.getdbt.com/t/contributing-to-a-dbt-package/657) on the best workflow for contributing to a package.
474+
We highly encourage and welcome contributions to this package. Learn how to contribute to a package in dbt's [Contributing to an external dbt package article](https://discourse.getdbt.com/t/contributing-to-a-dbt-package/657).
475+
476+
#<!--section-end-->
456477

457-
### Are there any resources available?
478+
## Are there any resources available?
458479
- If you have questions or want to reach out for help, see the [GitHub Issue](https://github.com/fivetran/dbt_aws_cloud_cost/issues/new/choose) section to find the right avenue of support for you.
459-
- If you would like to provide feedback to the dbt package team at Fivetran or would like to request a new dbt package, fill out our [Feedback Form](https://www.surveymonkey.com/r/DQ7K7WW).
480+
- If you would like to provide feedback to the dbt package team at Fivetran or would like to request a new dbt package, fill out our [Feedback Form](https://www.surveymonkey.com/r/DQ7K7WW).

dbt_project.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
config-version: 2
22
name: 'aws_cloud_cost'
3-
version: '0.2.0'
3+
version: '0.3.0'
44
require-dbt-version: [">=1.3.0", "<3.0.0"]
55

66
models:

docs/catalog.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

docs/manifest.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

integration_tests/dbt_project.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: 'aws_cloud_cost_integration_tests'
2-
version: '0.2.0'
2+
version: '0.3.0'
33
config-version: 2
44

55
profile: 'integration_tests'

0 commit comments

Comments
 (0)