我們在前面使用了圖形化介面,點一點就建立好我們 Azure Machine Learning(下稱 AML) 的 Datastore。今天我們就來使用 SDK 建立 Datastore 吧!
from azureml.core import Workspace
ws = Workspace.from_config()
get_default_datastore()
來列出預設的 Datastore。datastore = ws.get_default_datastore()
或是使用 ws.datastores
,可以印出裡面已經有的 Datastore。
我們在第三天的時候,有為了 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
)
建立 Datastore 後,我們進到 Workspace 的圖形化介面看一下,是不是真的已經建立成功了。如下圖。
當然也可以透過 SDK 去印出來,看看剛剛的 Datastore 是否已經建立。我們使用 ws.datastores.get("您的datastore名稱")
,就會看到印出下面那個 JSON,就是代表你已經建成功啦!
{
"name": "datastore_sdk",
"container_name": "ironmandatablob",
"account_name": "ironmandata",
"protocol": "https",
"endpoint": "core.windows.net"
}
ws.datastores['您的datastore名稱']
,也可以印出和上面一樣的東西。datastore = ws.datastores.get("datastore_sdk")
datastore.download(
"./", # 你本地端的資料夾
prefix='titanic.csv', # Datastore 裡的檔案路徑
overwrite=False, # 是否要 overwrite
)
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 啦!