From 25d8ba579c3a9f77402b5e94685c14574bb2fe54 Mon Sep 17 00:00:00 2001
From: JessicaXYWang <108437381+JessicaXYWang@users.noreply.github.com>
Date: Fri, 15 Mar 2024 13:52:16 -0700
Subject: [PATCH 1/3] raise error with documentation link

---
 .../synapse/ml/core/platform/Platform.py      | 39 ++++++++++---------
 1 file changed, 21 insertions(+), 18 deletions(-)

diff --git a/core/src/main/python/synapse/ml/core/platform/Platform.py b/core/src/main/python/synapse/ml/core/platform/Platform.py
index c7e4cc8d8a..738f7e7bec 100644
--- a/core/src/main/python/synapse/ml/core/platform/Platform.py
+++ b/core/src/main/python/synapse/ml/core/platform/Platform.py
@@ -47,27 +47,28 @@ def running_on_databricks():
 
 
 def find_secret(secret_name, keyvault):
-    if running_on_synapse():
-        from notebookutils.mssparkutils.credentials import getSecret
-
-        return getSecret(keyvault, secret_name)
-    elif running_on_synapse_internal():
-        from notebookutils.mssparkutils.credentials import getSecret
-
-        keyVaultURL = f"https://{keyvault}.vault.azure.net/"
-        return getSecret(keyVaultURL, secret_name)
-    elif running_on_databricks():
-        from pyspark.sql import SparkSession
-        from pyspark.dbutils import DBUtils
-
-        spark = SparkSession.builder.getOrCreate()
-        dbutils = DBUtils(spark)
-        return dbutils.secrets.get(scope=keyvault, key=secret_name)
-    else:
+    try:
+        if running_on_synapse():
+            from notebookutils.mssparkutils.credentials import getSecret
+
+            return getSecret(keyvault, secret_name)
+        elif running_on_synapse_internal():
+            from notebookutils.mssparkutils.credentials import getSecret
+
+            keyVaultURL = f"https://{keyvault}.vault.azure.net/"
+            return getSecret(keyVaultURL, secret_name)
+        elif running_on_databricks():
+            from pyspark.sql import SparkSession
+            from pyspark.dbutils import DBUtils
+
+            spark = SparkSession.builder.getOrCreate()
+            dbutils = DBUtils(spark)
+            return dbutils.secrets.get(scope=keyvault, key=secret_name)
+    except:
         raise RuntimeError(
             f"Could not find {secret_name} in keyvault {keyvault}. "
             f"If you are trying to use the mmlspark-buil-keys keyvault, you cant! "
-            f"You need to make your own keyvaukt with secrets or replace this call with a string. "
+            f"You need to make your own keyvault with secrets or replace this call with a string. "
             f"Make sure your notebook has access to a "
             f"keyvault named {keyvault} which contains a secret named {secret_name}. "
             f"On synapse, use a linked service keyvault, "
@@ -76,6 +77,8 @@ def find_secret(secret_name, keyvault):
             f"If you want to avoid making a keyvault, replace this call to find secret with your secret as a string "
             f"like my_secret = 'jdiej38dnal.....'. Note that this has "
             f"security implications for publishing and sharing notebooks!"
+            f"Please see the documentation for more information."
+            f"https://microsoft.github.io/SynapseML/docs/Get%20Started/Set%20up%20Cognitive%20Services/"
         )
 
 

From 705bc1a6d865ef9ca75c9b9cb9c9f140e7c64e9b Mon Sep 17 00:00:00 2001
From: JessicaXYWang <108437381+JessicaXYWang@users.noreply.github.com>
Date: Fri, 15 Mar 2024 14:54:16 -0700
Subject: [PATCH 2/3] minor format

---
 core/src/main/python/synapse/ml/core/platform/Platform.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/core/src/main/python/synapse/ml/core/platform/Platform.py b/core/src/main/python/synapse/ml/core/platform/Platform.py
index 738f7e7bec..ee3059bc9f 100644
--- a/core/src/main/python/synapse/ml/core/platform/Platform.py
+++ b/core/src/main/python/synapse/ml/core/platform/Platform.py
@@ -76,8 +76,8 @@ def find_secret(secret_name, keyvault):
             f"on fabric make sure your azure identity can access your azure keyvault. "
             f"If you want to avoid making a keyvault, replace this call to find secret with your secret as a string "
             f"like my_secret = 'jdiej38dnal.....'. Note that this has "
-            f"security implications for publishing and sharing notebooks!"
-            f"Please see the documentation for more information."
+            f"security implications for publishing and sharing notebooks! "
+            f"Please see the documentation for more information. "
             f"https://microsoft.github.io/SynapseML/docs/Get%20Started/Set%20up%20Cognitive%20Services/"
         )
 

From f91846c06559c82f8fb1db460ec77f66905e14aa Mon Sep 17 00:00:00 2001
From: JessicaXYWang <108437381+JessicaXYWang@users.noreply.github.com>
Date: Mon, 18 Mar 2024 00:15:56 -0700
Subject: [PATCH 3/3] add raise error on other platforms

---
 core/src/main/python/synapse/ml/core/platform/Platform.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/core/src/main/python/synapse/ml/core/platform/Platform.py b/core/src/main/python/synapse/ml/core/platform/Platform.py
index ee3059bc9f..c922eca7e1 100644
--- a/core/src/main/python/synapse/ml/core/platform/Platform.py
+++ b/core/src/main/python/synapse/ml/core/platform/Platform.py
@@ -64,6 +64,8 @@ def find_secret(secret_name, keyvault):
             spark = SparkSession.builder.getOrCreate()
             dbutils = DBUtils(spark)
             return dbutils.secrets.get(scope=keyvault, key=secret_name)
+        else:
+            raise RuntimeError("get secret is not supported on this platform.")
     except:
         raise RuntimeError(
             f"Could not find {secret_name} in keyvault {keyvault}. "