You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: metadata-ingestion/docs/sources/snowflake/snowflake_pre.md
+7-2
Original file line number
Diff line number
Diff line change
@@ -15,6 +15,8 @@ grant operate, usage on warehouse "<your-warehouse>" to role datahub_role;
15
15
grant usage on DATABASE "<your-database>" to role datahub_role;
16
16
grant usage on all schemas in database "<your-database>" to role datahub_role;
17
17
grant usage on future schemas in database "<your-database>" to role datahub_role;
18
+
grantselecton all streams in database "<your-database>> to role datahub_role;
19
+
grant select on future streams in database "<your-database>> to role datahub_role;
18
20
19
21
// If you are NOT using Snowflake Profiling or Classification feature: Grantreferences privileges to your tables and views
20
22
grantreferenceson all tables in database "<your-database>" to role datahub_role;
@@ -50,9 +52,12 @@ The details of each granted privilege can be viewed in [snowflake docs](https://
50
52
If the warehouse is already running during ingestion or has auto-resume enabled,
51
53
this permission is not required.
52
54
-`usage` is required for us to run queries using the warehouse
53
-
-`usage` on `database` and `schema` are required because without it tablesand views inside them are not accessible. If an admin does the required grants on `table` but misses the grants on `schema` or the `database` in which the table/view exists then we will not be able to get metadata for the table/view.
55
+
-`usage` on `database` and `schema` are required because without it tables, views, and streams inside them are not accessible. If an admin does the required grants on `table` but misses the grants on `schema` or the `database` in which the table/view/stream exists then we will not be able to get metadata for the table/view/stream.
54
56
- If metadata is required only on some schemas then you can grant the usage privilieges only on a particular schema like
55
-
57
+
```sql
58
+
grant usage on schema "<your-database>"."<your-schema>" to role datahub_role;
59
+
```
60
+
-`select` on `streams` is required in order for stream definitions to be available. This does not allow selecting of the data (not required) unless the underlying dataset has select access as well.
56
61
```sql
57
62
grant usage on schema "<your-database>"."<your-schema>" to role datahub_role;
Copy file name to clipboardexpand all lines: metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_config.py
+10
Original file line number
Diff line number
Diff line change
@@ -98,6 +98,11 @@ class SnowflakeFilterConfig(SQLFilterConfig):
98
98
)
99
99
# table_pattern and view_pattern are inherited from SQLFilterConfig
100
100
101
+
stream_pattern: AllowDenyPattern=Field(
102
+
default=AllowDenyPattern.allow_all(),
103
+
description="Regex patterns for streams to filter in ingestion. Note: Defaults to table_pattern if not specified. Specify regex to match the entire view name in database.schema.view format. e.g. to match all views starting with customer in Customer database and public schema, use the regex 'Customer.public.customer.*'",
104
+
)
105
+
101
106
match_fully_qualified_names: bool=Field(
102
107
default=False,
103
108
description="Whether `schema_pattern` is matched against fully qualified schema name `<catalog>.<schema>`.",
@@ -274,6 +279,11 @@ class SnowflakeV2Config(
274
279
description="List of regex patterns for tags to include in ingestion. Only used if `extract_tags` is enabled.",
275
280
)
276
281
282
+
include_streams: bool=Field(
283
+
default=True,
284
+
description="If enabled, streams will be ingested as separate entities from tables/views.",
0 commit comments