def add_athena_source( catalog: Catalog, name: str, region_name: str, s3_staging_dir: str, aws_access_key_id: Optional[str] = None, aws_secret_access_key: Optional[str] = None, ) -> CatSource: with catalog.commit_context: return catalog.add_source( name=name, aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key, region_name=region_name, s3_staging_dir=s3_staging_dir, source_type="athena", )
def add_redshift_source( catalog: Catalog, name: str, username: str, password: str, database: str, uri: str, port: Optional[int] = None, ) -> CatSource: with catalog.commit_context: return catalog.add_source( name=name, username=username, password=password, database=database, uri=uri, port=port, source_type="redshift", )
def add_snowflake_source( catalog: Catalog, name: str, account: str, username: str, password: str, database: str, warehouse: str, role: str, ) -> CatSource: with catalog.commit_context: return catalog.add_source( name=name, username=username, password=password, database=database, account=account, warehouse=warehouse, role=role, source_type="snowflake", )
def add_sqlite_source( catalog: Catalog, name: str, path: Path, ): with catalog.managed_session: catalog.add_source(name=name, uri=str(path), source_type="sqlite")