磚SDK為PythongydF4y2Ba

在本文中,您將了解如何在磚自動化業務賬戶、工作區和相關資源gydF4y2Ba磚SDK為PythongydF4y2Ba。這篇文章的補充gydF4y2Ba磚SDK的Python文檔gydF4y2Ba。gydF4y2Ba

請注意gydF4y2Ba

這個特性是在gydF4y2BaβgydF4y2Ba在生產中,是可以使用。gydF4y2Ba

在你開始之前gydF4y2Ba

您可以使用Python在磚的磚SDK的筆記本或從您的本地開發的機器。gydF4y2Ba

在你開始使用Python的磚SDK,您的開發機必須有:gydF4y2Ba

  • 磚gydF4y2Ba身份驗證gydF4y2Ba配置。gydF4y2Ba

  • PythongydF4y2Ba安裝3.8或更高版本。(Python 3.7還支持,但隻有通過2023年6月)。自動化數據磚計算資源,建議你安裝了Python的主要和次要版本相匹配的安裝在你的目標數據磚計算資源。本文的例子依賴自動化集群磚13.0運行時,Python 3.10安裝。正確的版本,請參閱gydF4y2Ba磚的運行時版本gydF4y2Ba集群的磚運行時版本。gydF4y2Ba

  • 磚建議你創建和激活一個PythongydF4y2Ba虛擬環境gydF4y2Ba為每個Python代碼項目,您使用Python的磚SDK。Python虛擬環境有助於確保你的代碼項目使用兼容版本的Python和Python包(在這種情況下,磚SDK的Python包)。本文使用gydF4y2BavenvgydF4y2BaPython虛擬環境。創建一個Python虛擬環境gydF4y2BavenvgydF4y2Ba:gydF4y2Ba

    1. 從你的終端設置為您的Python代碼項目的根目錄,指導gydF4y2BavenvgydF4y2Ba使用Python 3.10的虛擬環境中,然後創建虛擬環境的支持一個隱藏目錄中的文件命名gydF4y2Ba.venvgydF4y2Ba在您的Python代碼項目的根目錄,通過運行下麵的命令:gydF4y2Ba

      # Linux和macOSgydF4y2Bapython3.10 - m venv。/ .venvgydF4y2Ba#窗口gydF4y2Bapython3.10 - m venv。gydF4y2Ba\。gydF4y2BavenvgydF4y2Ba
    2. 使用gydF4y2BavenvgydF4y2Ba激活虛擬環境。看到gydF4y2BavenvgydF4y2Ba文檔使用正確的命令,根據你的操作係統和終端類型。例如,在macOS運行gydF4y2BazshgydF4y2Ba:gydF4y2Ba

      源gydF4y2Ba/ .venv / bin /激活gydF4y2Ba

      你會知道你的虛擬環境是激活虛擬環境的名稱(例如,gydF4y2Ba.venvgydF4y2Ba)顯示在括號之前終端提示符。gydF4y2Ba

      隨時關閉虛擬環境,運行命令gydF4y2Ba禁用gydF4y2Ba。gydF4y2Ba

      你會知道你的虛擬環境時禁用虛擬環境的名字不再顯示在括號之前您的終端提示符。gydF4y2Ba

開始使用Python的磚SDKgydF4y2Ba

本節描述如何開始使用Python的磚SDK的從你當地的開發機器上。使用Python在磚的磚SDK的筆記本,跳到gydF4y2Ba使用Python在磚的磚SDK的筆記本gydF4y2Ba。gydF4y2Ba

  1. 在您的開發機磚身份驗證配置,Python已經安裝,和您的Python虛擬環境已經激活,使用gydF4y2Ba皮普gydF4y2Ba安裝gydF4y2Badatabricks-sdkgydF4y2Ba包從Python包指數(PyPI),如下:gydF4y2Ba

    pip3安裝databricks-sdkgydF4y2Ba

    安裝一個特定的版本的gydF4y2Badatabricks-sdkgydF4y2Ba包(特別是在Python的磚SDK是一個實驗狀態),看到包的gydF4y2Ba版本曆史gydF4y2Ba。例如,安裝版本gydF4y2Ba0.1.6gydF4y2Ba:gydF4y2Ba

    pip3安裝databricks-sdk >gydF4y2Ba=gydF4y2Ba0gydF4y2Ba.1.6gydF4y2Ba

    提示gydF4y2Ba

    升級現有的磚SDK安裝Python包到最新版本,運行gydF4y2Ba皮普gydF4y2Ba如下:gydF4y2Ba

    databricks-sdk pip3安裝,升級gydF4y2Ba

    顯示的磚SDK的Python包的電流gydF4y2Ba版本gydF4y2Ba和其他細節,運行gydF4y2Ba皮普gydF4y2Ba如下:gydF4y2Ba

    pip3顯示databricks-sdkgydF4y2Ba
  2. 在您的Python虛擬環境,創建一個Python代碼文件,進口磚SDK Python。下麵的例子,在一個文件命名gydF4y2Bamain.pygydF4y2Ba用下麵的內容,隻需列出所有集群在磚工作區:gydF4y2Ba

    從gydF4y2Badatabricks.sdkgydF4y2Ba進口gydF4y2BaWorkspaceClientgydF4y2BawgydF4y2Ba=gydF4y2BaWorkspaceClientgydF4y2Ba()gydF4y2Ba為gydF4y2BacgydF4y2Ba在gydF4y2BawgydF4y2Ba。gydF4y2Ba集群gydF4y2Ba。gydF4y2Ba列表gydF4y2Ba():gydF4y2Ba打印gydF4y2Ba(gydF4y2BacgydF4y2Ba。gydF4y2Bacluster_namegydF4y2Ba)gydF4y2Ba
  3. 運行您的Python代碼文件,假設一個文件命名gydF4y2Bamain.pygydF4y2Ba,通過運行gydF4y2BapythongydF4y2Ba命令:gydF4y2Ba

    python3.10 main.pygydF4y2Ba

    請注意gydF4y2Ba

    不設置任何參數前調用gydF4y2BawgydF4y2Ba=gydF4y2BaWorkspaceClient ()gydF4y2Ba的磚SDK的Python使用其默認程序試圖執行磚身份驗證。覆蓋默認行為,看到下麵的gydF4y2Ba身份驗證gydF4y2Ba部分。gydF4y2Ba

驗證Python與磚的磚SDK的帳戶或工作區gydF4y2Ba

本節描述如何為Python驗證磚SDK從你當地的開發機磚帳戶或工作區。驗證Python在磚的磚SDK的筆記本,跳到gydF4y2Ba使用Python在磚的磚SDK的筆記本gydF4y2Ba。gydF4y2Ba

磚SDK的Python實現gydF4y2Ba磚客戶端統一身份驗證gydF4y2Ba標準,統一和一致的體係結構和編程方法來驗證。這種方法有助於使設置和自動化驗證磚更集中的和可預測的。它允許您配置數據磚身份驗證一次,然後使用該配置多個磚工具和sdk沒有進一步驗證配置更改。更多信息,包括更完整的代碼示例在Python中,看到的gydF4y2Ba磚客戶端統一身份驗證gydF4y2Ba。gydF4y2Ba

一些可用的編碼模式初始化數據磚與磚對Python SDK包括:身份驗證gydF4y2Ba

  • 使用磚默認驗證通過下列之一:gydF4y2Ba

    • 創建或識別一個定製的gydF4y2Ba磚配置概要文件gydF4y2Ba與目標必需的字段數據磚身份驗證類型。然後設置gydF4y2BaDATABRICKS_CONFIG_PROFILEgydF4y2Ba環境變量定義配置概要文件的名稱。gydF4y2Ba

    • 設置所需的環境變量為目標數據磚身份驗證類型。gydF4y2Ba

    從gydF4y2Badatabricks.sdkgydF4y2Ba進口gydF4y2BaWorkspaceClientgydF4y2BawgydF4y2Ba=gydF4y2BaWorkspaceClientgydF4y2Ba()gydF4y2Ba#……gydF4y2Ba
  • 硬編碼所需的字段支持但不推薦,因為它的風險暴露敏感信息在您的代碼,如磚個人的訪問令牌。下麵的例子將磚磚令牌的身份驗證:主機和訪問令牌值gydF4y2Ba

    從gydF4y2Badatabricks.sdkgydF4y2Ba進口gydF4y2BaWorkspaceClientgydF4y2BawgydF4y2Ba=gydF4y2BaWorkspaceClientgydF4y2Ba(gydF4y2Ba主機gydF4y2Ba=gydF4y2Ba“https://..”。gydF4y2Ba,gydF4y2Ba令牌gydF4y2Ba=gydF4y2Ba“……”gydF4y2Ba)gydF4y2Ba#……gydF4y2Ba

使用Python在磚的磚SDK的筆記本gydF4y2Ba

步驟1:安裝Python的磚SDKgydF4y2Ba

磚Python的筆記本電腦可以使用Python的磚SDK就像任何其他Python庫。例如,讓Python磚SDK提供給你的筆記本,你可以運行gydF4y2Ba%皮普gydF4y2Ba魔法從筆記本電池如下命令:gydF4y2Ba

%gydF4y2Ba皮普gydF4y2Ba安裝gydF4y2Ba磚gydF4y2Ba- - - - - -gydF4y2BasdkgydF4y2Ba- - -gydF4y2Ba升級gydF4y2Ba

請注意gydF4y2Ba

如果出現一個錯誤消息,聲稱包不能被發現,刪除gydF4y2Ba——升級gydF4y2Ba並再次運行單元。gydF4y2Ba

當您運行這個gydF4y2Ba%皮普gydF4y2Ba神奇的命令,啟動Python。要做到這一點,運行以下命令從一個筆記本細胞後細胞gydF4y2Ba%皮普gydF4y2Ba神奇的命令:gydF4y2Ba

dbutilsgydF4y2Ba。gydF4y2Ba圖書館gydF4y2Ba。gydF4y2BarestartPythongydF4y2Ba()gydF4y2Ba

第二步:設置身份驗證gydF4y2Ba

默認情況下,Python的磚SDK使用默認磚筆記本的身份驗證。沒有特殊要求或使用磚SDK的Python代碼默認磚筆記本的身份驗證。如果你想使用默認數據磚筆記本認證,跳到第3步。gydF4y2Ba

默認情況下,磚筆記本個人訪問令牌驗證依賴於磚,磚在後台生成代表你的筆記本運行時和刪除當筆記本停止運行。這磚個人訪問令牌與帳號磚用戶帳戶關聯,這意味著磚SDK為Python隻有任何訪問權限,登錄的用戶帳戶。gydF4y2Ba

您可以使用磚磚個人以外的身份驗證類型的訪問令牌認證如果需要,盡管這需要特殊設置和編碼。更多信息,包括更完整的代碼示例在Python中,看到的gydF4y2Ba磚客戶端統一身份驗證gydF4y2Ba。gydF4y2Ba

請注意gydF4y2Ba

如果你選擇設置非默認磚筆記本的認證,你的筆記本將無法獲得數據磚配置概要文件通過gydF4y2Ba.databrickscfggydF4y2Ba文件。相反,磚建議你使用一個或多個以下方法設置非默認磚從你的筆記本的身份驗證:gydF4y2Ba

  • 在磚集群,設置你的目標所需要的環境變量的身份驗證類型。對於特定環境變量的名字,看到你的目標驗證類型的文檔gydF4y2Ba磚客戶端統一身份驗證gydF4y2Ba。集群設置環境變量,明白了gydF4y2Ba環境變量gydF4y2Ba。gydF4y2Ba

  • 使用直接配置檢索所需的身份驗證設置你的驗證類型從磚小部件在你的筆記本上。您必須手動輸入所需的身份驗證設置到這些小部件在你運行你的筆記本。對於特定設置的名字,看到你的目標的Python代碼示例驗證類型gydF4y2Ba磚客戶端統一身份驗證gydF4y2Ba,確定使用gydF4y2Badbutils.widgets.get (…)gydF4y2Ba調用而不是這些例子的gydF4y2Ba檢索…()gydF4y2Ba調用。學習如何使用小部件以編程方式,明白了gydF4y2Ba磚小部件gydF4y2Ba。gydF4y2Ba

  • 使用直接配置檢索所需的身份驗證設置配置存儲,如您的身份驗證類型gydF4y2BaAWS係統存儲管理器參數gydF4y2Ba。對於特定設置的名字,看到你的目標的Python代碼示例驗證類型gydF4y2Ba磚客戶端統一身份驗證gydF4y2Ba。gydF4y2Ba

第三步:運行您的代碼gydF4y2Ba

在你的筆記本電池,創建Python代碼進口,然後調用Python的磚SDK。下麵的例子簡單地列出所有集群在磚工作區:gydF4y2Ba

從gydF4y2Badatabricks.sdkgydF4y2Ba進口gydF4y2BaWorkspaceClientgydF4y2BawgydF4y2Ba=gydF4y2BaWorkspaceClientgydF4y2Ba()gydF4y2Ba為gydF4y2BacgydF4y2Ba在gydF4y2BawgydF4y2Ba。gydF4y2Ba集群gydF4y2Ba。gydF4y2Ba列表gydF4y2Ba():gydF4y2Ba打印gydF4y2Ba(gydF4y2BacgydF4y2Ba。gydF4y2Bacluster_namegydF4y2Ba)gydF4y2Ba

當您運行這個細胞時,列表的名稱你的磚的工作區中所有可用的集群出現。gydF4y2Ba

使用磚實用程序gydF4y2Ba

你可以叫gydF4y2Ba磚公用事業gydF4y2Ba從磚SDK的Python代碼運行在本地開發機器內或從磚筆記本。gydF4y2Ba

  • 從你當地的開發機、磚實用程序可以訪問的gydF4y2Badbutils.fsgydF4y2Ba,gydF4y2Badbutils.secretsgydF4y2Ba,gydF4y2Badbutils.widgetsgydF4y2Ba命令組。gydF4y2Ba

  • 從一個附加到數據磚的磚筆記本的集群,磚實用程序可以訪問所有可用的數據磚工具命令組,不僅gydF4y2Badbutils.fsgydF4y2Ba,gydF4y2Badbutils.secretsgydF4y2Ba,gydF4y2Badbutils.widgetsgydF4y2Ba。此外,gydF4y2Badbutils.notebookgydF4y2Ba命令組僅局限於兩個級別的命令,例如gydF4y2Badbutils.notebook.rungydF4y2Ba或gydF4y2Badbutils.notebook.exitgydF4y2Ba。gydF4y2Ba

把磚公用事業從你當地的開發機器或磚筆記本,使用gydF4y2BadbutilsgydF4y2Ba在gydF4y2BaWorkspaceClientgydF4y2Ba。這個代碼示例調用gydF4y2BadbutilsgydF4y2Ba在gydF4y2BaWorkspaceClientgydF4y2Ba列出的所有對象的路徑的DBFS根工作區。gydF4y2Ba

從gydF4y2Badatabricks.sdkgydF4y2Ba進口gydF4y2BaWorkspaceClientgydF4y2BawgydF4y2Ba=gydF4y2BaWorkspaceClientgydF4y2Ba()gydF4y2BadgydF4y2Ba=gydF4y2BawgydF4y2Ba。gydF4y2BadbutilsgydF4y2Ba。gydF4y2BafsgydF4y2Ba。gydF4y2BalsgydF4y2Ba(gydF4y2Ba' / 'gydF4y2Ba)gydF4y2Ba為gydF4y2BafgydF4y2Ba在gydF4y2BadgydF4y2Ba:gydF4y2Ba打印gydF4y2Ba(gydF4y2BafgydF4y2Ba。gydF4y2Ba路徑gydF4y2Ba)gydF4y2Ba

或者,您可以調用gydF4y2BadbutilsgydF4y2Ba直接。然而,你是局限於隻使用默認數據磚身份驗證。這個代碼示例調用gydF4y2BadbutilsgydF4y2Ba直接對列表中的所有對象的DBFS根工作區。gydF4y2Ba

從gydF4y2Badatabricks.sdk.runtimegydF4y2Ba進口gydF4y2Ba*gydF4y2BadgydF4y2Ba=gydF4y2BadbutilsgydF4y2Ba。gydF4y2BafsgydF4y2Ba。gydF4y2BalsgydF4y2Ba(gydF4y2Ba' / 'gydF4y2Ba)gydF4y2Ba為gydF4y2BafgydF4y2Ba在gydF4y2BadgydF4y2Ba:gydF4y2Ba打印gydF4y2Ba(gydF4y2BafgydF4y2Ba。gydF4y2Ba路徑gydF4y2Ba)gydF4y2Ba

另請參閱gydF4y2Ba與dbutils互動gydF4y2Ba。gydF4y2Ba

代碼示例gydF4y2Ba

下麵的代碼示例演示如何使用Python的磚SDK創建和刪除集群,運行工作,和帳戶級別組列表。這些代碼示例使用Python的默認數據磚的磚SDK的身份驗證過程。默認筆記本身份驗證的詳細信息,請參閱gydF4y2Ba使用Python在磚的磚SDK的筆記本gydF4y2Ba。筆記本電腦以外的違約認證的詳細信息,請參見gydF4y2Ba驗證Python與磚的磚SDK的帳戶或工作區gydF4y2Ba。gydF4y2Ba

額外的代碼示例,請參閱gydF4y2Ba例子gydF4y2Ba文件夾在GitHub磚SDK為Python庫。看到也gydF4y2Ba磚工作區api參考gydF4y2Ba和gydF4y2Ba磚帳戶的api參考gydF4y2Ba。gydF4y2Ba

創建一個集群gydF4y2Ba

這段代碼示例創建一個集群與指定的磚和集群節點類型運行時版本。這個集群有一個工人,集群將自動終止後15分鍾的空閑時間。gydF4y2Ba

從gydF4y2Badatabricks.sdkgydF4y2Ba進口gydF4y2BaWorkspaceClientgydF4y2BawgydF4y2Ba=gydF4y2BaWorkspaceClientgydF4y2Ba()gydF4y2Ba打印gydF4y2Ba(gydF4y2Ba“試圖創建集群。請稍等……”gydF4y2Ba)gydF4y2BacgydF4y2Ba=gydF4y2BawgydF4y2Ba。gydF4y2Ba集群gydF4y2Ba。gydF4y2Bacreate_and_waitgydF4y2Ba(gydF4y2Bacluster_namegydF4y2Ba=gydF4y2Ba“my-cluster”gydF4y2Ba,gydF4y2Baspark_versiongydF4y2Ba=gydF4y2Ba“12.2.x-scala2.12”gydF4y2Ba,gydF4y2Banode_type_idgydF4y2Ba=gydF4y2Ba“i3.xlarge”gydF4y2Ba,gydF4y2Baautotermination_minutesgydF4y2Ba=gydF4y2Ba15gydF4y2Ba,gydF4y2Banum_workersgydF4y2Ba=gydF4y2Ba1gydF4y2Ba)gydF4y2Ba打印gydF4y2Ba(gydF4y2BafgydF4y2Ba“集群是現在準備好了”gydF4y2Ba\gydF4y2BafgydF4y2Ba”gydF4y2Ba{gydF4y2BawgydF4y2Ba。gydF4y2Ba配置gydF4y2Ba。gydF4y2Ba主機gydF4y2Ba}gydF4y2Ba#設置/集群gydF4y2Ba{gydF4y2BacgydF4y2Ba。gydF4y2Bacluster_idgydF4y2Ba}gydF4y2Ba/配置gydF4y2Ba\ ngydF4y2Ba”gydF4y2Ba)gydF4y2Ba

永久刪除一個集群gydF4y2Ba

這段代碼示例永久刪除集群與集群ID指定的工作區。gydF4y2Ba

從gydF4y2Badatabricks.sdkgydF4y2Ba進口gydF4y2BaWorkspaceClientgydF4y2BawgydF4y2Ba=gydF4y2BaWorkspaceClientgydF4y2Ba()gydF4y2Bac_idgydF4y2Ba=gydF4y2Ba輸入gydF4y2Ba(gydF4y2Ba的集群刪除ID(例如,1234 - 567890 ab123cd4):“gydF4y2Ba)gydF4y2BawgydF4y2Ba。gydF4y2Ba集群gydF4y2Ba。gydF4y2Bapermanent_deletegydF4y2Ba(gydF4y2Bacluster_idgydF4y2Ba=gydF4y2Bac_idgydF4y2Ba)gydF4y2Ba

創建一個工作gydF4y2Ba

這個代碼示例創建了一個磚工作指定集群上運行指定的筆記本。在代碼運行時,就現有的筆記本的路徑,現有集群ID,和相關的工作設置從用戶終端。gydF4y2Ba

從gydF4y2Badatabricks.sdkgydF4y2Ba進口gydF4y2BaWorkspaceClientgydF4y2Ba從gydF4y2Badatabricks.sdk.service.jobsgydF4y2Ba進口gydF4y2Ba任務gydF4y2Ba,gydF4y2BaNotebookTaskgydF4y2Ba,gydF4y2Ba源gydF4y2BawgydF4y2Ba=gydF4y2BaWorkspaceClientgydF4y2Ba()gydF4y2Bajob_namegydF4y2Ba=gydF4y2Ba輸入gydF4y2Ba(gydF4y2Ba“一些短名稱的工作(例如,我的工作):“gydF4y2Ba)gydF4y2Ba描述gydF4y2Ba=gydF4y2Ba輸入gydF4y2Ba(gydF4y2Ba“一些簡短描述的工作(例如,我的工作):“gydF4y2Ba)gydF4y2Baexisting_cluster_idgydF4y2Ba=gydF4y2Ba輸入gydF4y2Ba(gydF4y2Ba“ID在工作區中現有的集群上運行的工作(例如,1234 - 567890 ab123cd4):“gydF4y2Ba)gydF4y2Banotebook_pathgydF4y2Ba=gydF4y2Ba輸入gydF4y2Ba(gydF4y2Ba“工作區路徑的筆記本運行(例如,/用戶/ someone@example.com/my-notebook):“gydF4y2Ba)gydF4y2Batask_keygydF4y2Ba=gydF4y2Ba輸入gydF4y2Ba(gydF4y2Ba“一些關鍵的申請工作的任務(例如,我的鑰匙):“gydF4y2Ba)gydF4y2Ba打印gydF4y2Ba(gydF4y2Ba“試圖創建工作。請稍等…gydF4y2Ba\ ngydF4y2Ba”gydF4y2Ba)gydF4y2BajgydF4y2Ba=gydF4y2BawgydF4y2Ba。gydF4y2Ba工作gydF4y2Ba。gydF4y2Ba創建gydF4y2Ba(gydF4y2Bajob_namegydF4y2Ba=gydF4y2Bajob_namegydF4y2Ba,gydF4y2Ba任務gydF4y2Ba=gydF4y2Ba(gydF4y2Ba任務gydF4y2Ba(gydF4y2Ba描述gydF4y2Ba=gydF4y2Ba描述gydF4y2Ba,gydF4y2Baexisting_cluster_idgydF4y2Ba=gydF4y2Baexisting_cluster_idgydF4y2Ba,gydF4y2Banotebook_taskgydF4y2Ba=gydF4y2BaNotebookTaskgydF4y2Ba(gydF4y2Babase_parametersgydF4y2Ba=gydF4y2BadictgydF4y2Ba(gydF4y2Ba”“gydF4y2Ba),gydF4y2Banotebook_pathgydF4y2Ba=gydF4y2Banotebook_pathgydF4y2Ba,gydF4y2Ba源gydF4y2Ba=gydF4y2Ba源gydF4y2Ba(gydF4y2Ba“工作區”gydF4y2Ba)gydF4y2Ba),gydF4y2Batask_keygydF4y2Ba=gydF4y2Batask_keygydF4y2Ba)gydF4y2Ba]gydF4y2Ba)gydF4y2Ba打印gydF4y2Ba(gydF4y2BafgydF4y2Ba”視圖的工作gydF4y2Ba{gydF4y2BawgydF4y2Ba。gydF4y2Ba配置gydF4y2Ba。gydF4y2Ba主機gydF4y2Ba}gydF4y2Ba/ #工作/gydF4y2Ba{gydF4y2BajgydF4y2Ba。gydF4y2Bajob_idgydF4y2Ba}gydF4y2Ba\ ngydF4y2Ba”gydF4y2Ba)gydF4y2Ba

帳戶級別組列表gydF4y2Ba

這段代碼示例列表顯示名稱磚內所有可用的組帳戶。gydF4y2Ba

從gydF4y2Badatabricks.sdkgydF4y2Ba進口gydF4y2BaAccountClientgydF4y2Ba一個gydF4y2Ba=gydF4y2BaAccountClientgydF4y2Ba()gydF4y2Ba為gydF4y2BaggydF4y2Ba在gydF4y2Ba一個gydF4y2Ba。gydF4y2Ba組gydF4y2Ba。gydF4y2Ba列表gydF4y2Ba():gydF4y2Ba打印gydF4y2Ba(gydF4y2BaggydF4y2Ba。gydF4y2Badisplay_namegydF4y2Ba)gydF4y2Ba