iT邦幫忙

2021 iThome 鐵人賽

DAY 19
0
AI & Data

一起學習 Azure Machine Learning 系列 第 19

[DAY19] 用 Azure Machine Learning SDK 建立 Datastore

DAY19 用 Azure Machine Learning SDK 建立 Datastore

我們在前面使用了圖形化介面,點一點就建立好我們 Azure Machine Learning(下稱 AML) 的 Datastore。今天我們就來使用 SDK 建立 Datastore 吧!

AML SDK 建立 Datastore

  1. 我們一樣要先有 Workspace,把昨天建立好的呼叫出來吧!
from azureml.core import Workspace
ws = Workspace.from_config()
  1. 我們可以用 get_default_datastore() 來列出預設的 Datastore。
datastore = ws.get_default_datastore()
  1. 或是使用 ws.datastores,可以印出裡面已經有的 Datastore。

  2. 我們在第三天的時候,有為了 Datastore 建立好一個 Blob,我們就用那個 Blob 來建立一個 Datastore 吧!要建立從 Blob 建立一個 Datastore,我們要用 Datastore.register_azure_blob_container()。注意到這裡要 import Datastore 哦!

from azureml.core import Datastore

Datastore.register_azure_blob_container(
    workspace=ws,
    datastore_name='<datastore-name>', #你要的 Datastore 名稱,這裡我取名叫做 datastore_sdk
    container_name='<container-name>', #你 blob 裡的 container 名稱
    account_name='<account-name>', #你 storage account 的名稱
    account_key='<account-key>', #你的 Access key,忘記這是什麼的話請去看 Day04
)
  1. 建立 Datastore 後,我們進到 Workspace 的圖形化介面看一下,是不是真的已經建立成功了。如下圖。
    Build datastore with azure machine learning sdk

  2. 當然也可以透過 SDK 去印出來,看看剛剛的 Datastore 是否已經建立。我們使用 ws.datastores.get("您的datastore名稱"),就會看到印出下面那個 JSON,就是代表你已經建成功啦!

{
  "name": "datastore_sdk",
  "container_name": "ironmandatablob",
  "account_name": "ironmandata",
  "protocol": "https",
  "endpoint": "core.windows.net"
}
  1. 或者你不用 get,也可以用 ws.datastores['您的datastore名稱'],也可以印出和上面一樣的東西。

Datastore 其他操作

  1. 除了用 Blob 來註冊之外,還有下列可以註冊哦!
  • Azure Data Lake (Gen1 or Gen2)
  • Azure File Share
  • Azure MySQL
  • Azure PostgreSQL
  • Azure SQL
  • Azure Databricks File System
  1. 我們還可以把 Datastore 裡的資料,下載到本機端哦!
datastore = ws.datastores.get("datastore_sdk")

datastore.download(
    "./",  # 你本地端的資料夾
    prefix='titanic.csv', # Datastore 裡的檔案路徑
    overwrite=False, # 是否要 overwrite
)
  1. 可以下載,當然也可以上傳哦!
datastore = ws.datastores.get("datastore_sdk")

datastore.upload_files(
    "./titanic.csv",  # 你本地端的檔案,也可以是一個 List[str]
    target_path='titanic.csv', # Datastore 裡的檔案路徑
    overwrite=False, # 是否要 overwrite
)

以上就是今天 Datastore 的建立啦!是不是真的很容易呢?用 SDK 來操作其實不難對吧!

明天我們就用今天建立的 Datastore,來建立 Dataset 啦!


上一篇
[DAY18] 用 Azure Machine Learning SDK 建立 Workspace
下一篇
[DAY20] 用 Azure Machine Learning SDK 建立 Dataset
系列文
一起學習 Azure Machine Learning 30

尚未有邦友留言

立即登入留言