From 0ee6cc2fd2840a8e76a40b82957813ada9855174 Mon Sep 17 00:00:00 2001 From: Daniel Tom Date: Tue, 18 Jul 2023 16:02:01 +0200 Subject: [PATCH] Fix base_url for creating schema --- .../resources/unity_catalog/schemas.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/aws-lambda/src/databricks_cdk/resources/unity_catalog/schemas.py b/aws-lambda/src/databricks_cdk/resources/unity_catalog/schemas.py index 5f22c924..cfeeb859 100644 --- a/aws-lambda/src/databricks_cdk/resources/unity_catalog/schemas.py +++ b/aws-lambda/src/databricks_cdk/resources/unity_catalog/schemas.py @@ -2,6 +2,7 @@ import logging from typing import Dict, Optional +import requests.exceptions from pydantic import BaseModel, Field from databricks_cdk.utils import CnfResponse, delete_request, get_request, patch_request, post_request @@ -29,11 +30,16 @@ class SchemaResponse(CnfResponse): def get_schema_url(workspace_url: str): """Getting url for job requests""" - return f"{workspace_url}/api/2.1/unity-catalog/schemas" + return f"{workspace_url}api/2.1/unity-catalog/schemas" def get_schema_by_name(catalog_name: str, schema_name: str, base_url: str) -> Optional[dict]: - return get_request(f"{base_url}/{catalog_name}.{schema_name}") + try: + return get_request(f"{base_url}/{catalog_name}.{schema_name}") + except requests.exceptions.HTTPError as e: + if e.response.status_code == 404: + return None + raise def create_or_update_schema(properties: SchemaProperties) -> SchemaResponse: @@ -47,7 +53,7 @@ def create_or_update_schema(properties: SchemaProperties) -> SchemaResponse: base_url=base_url, ) body = json.loads(properties.schema_object.json()) - # body["full_name"] = f"{properties.schema_object.catalog_name}.{properties.schema_object.name}" + if current is None: post_request( base_url,