fix(ingest/snowflake): Allow SnowflakeObjectAccessEntry.objectId to be None (#7601)

Co-authored-by: Pedro Silva <pedro@acryl.io>
This commit is contained in:
Andrew Sikowitz 2023-03-16 04:55:52 -07:00 committed by GitHub
parent bcda510656
commit 8c1fa04c87
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 1 deletions

View File

@ -66,8 +66,9 @@ class SnowflakeColumnReference(PermissiveModel):
class SnowflakeObjectAccessEntry(PermissiveModel): class SnowflakeObjectAccessEntry(PermissiveModel):
columns: Optional[List[SnowflakeColumnReference]] columns: Optional[List[SnowflakeColumnReference]]
objectDomain: str objectDomain: str
objectId: int
objectName: str objectName: str
# Seems like it should never be null, but in practice have seen null objectIds
objectId: Optional[int]
stageKind: Optional[str] stageKind: Optional[str]

View File

@ -11,6 +11,9 @@ from datahub.ingestion.source.snowflake.constants import (
SnowflakeCloudProvider, SnowflakeCloudProvider,
) )
from datahub.ingestion.source.snowflake.snowflake_config import SnowflakeV2Config from datahub.ingestion.source.snowflake.snowflake_config import SnowflakeV2Config
from datahub.ingestion.source.snowflake.snowflake_usage_v2 import (
SnowflakeObjectAccessEntry,
)
from datahub.ingestion.source.snowflake.snowflake_v2 import SnowflakeV2Source from datahub.ingestion.source.snowflake.snowflake_v2 import SnowflakeV2Source
@ -546,3 +549,16 @@ def test_unknown_cloud_region_from_snowflake_region_id():
"somecloud_someregion" "somecloud_someregion"
) )
assert "Unknown snowflake region" in str(e) assert "Unknown snowflake region" in str(e)
def test_snowflake_object_access_entry_missing_object_id():
SnowflakeObjectAccessEntry(
**{
"columns": [
{"columnName": "A"},
{"columnName": "B"},
],
"objectDomain": "View",
"objectName": "SOME.OBJECT.NAME",
}
)