データストアを作成する

完了

Azure Machine Learning では、データストアはクラウド データ ソースの抽象化です。 それらは、データ ソースに接続するために必要な情報をカプセル化し、その接続情報を安全に格納して、ユーザーがスクリプトにコードを記述する必要がないようにします。

データストアを使用する利点は次のとおりです。

  • 使いやすい URI がデータ ストレージに提供されます。
  • Azure Machine Learning 内でのデータ検出が容易になります。
  • シークレットとキーをデータ サイエンティストに公開することなく、接続情報が安全に格納されます。

Azure 上の既存のストレージ アカウントでデータストアを作成する場合、次の 2 つの異なる認証方法から選択できます。

Diagram of two different authentication methods Azure Machine Learning datastores use to connect to external data sources.

  • 資格情報ベース: "サービス プリンシパル"、Shared Access Signature (SAS) トークン、または "アカウント キー" を使用して、ストレージ アカウントへのアクセスを認証します。
  • ID ベース:Microsoft Entra の ID またはマネージド ID を使用します。

データストアの種類を理解する

Azure Machine Learning では、次のような複数の種類の Azure データ ソース用のデータストアの作成をサポートしています。

  • Azure Blob Storage
  • Azure ファイル共有
  • Azure Data Lake (Gen 2)

組み込みデータストアを使う

すべてのワークスペースには、4 つの組み込みデータストア (Azure Storage BLOB コンテナーに接続する 2 つ、および Azure Storage ファイル共有に接続する 2 つ) があり、Azure Machine Learning によってシステム ストレージとして使用されます。

ほとんどの機械学習プロジェクトでは、独自のデータ ソースを操作する必要があります。 たとえば、ご利用の機械学習ソリューションを、既存のアプリケーションまたは Data Engineering パイプラインからのデータと統合することができます。

データストアを作成する

データストアはワークスペースにアタッチされ、ストレージ サービスへの接続情報を格納するために使用されます。 データストアを作成するときに、接続情報を取得するために使用できる名前を指定します。

データストアを使用すると、データの読み取りや書き込みのたびに必要なすべての詳細情報を指定しなくても、ストレージ サービスに簡単に接続することができます。 また、ユーザーにそのデータを使わせたいが、基になるストレージ サービスには直接接続させたくない場合の保護レイヤーにもなります。

Azure Blob Storage コンテナーのデータストアを作成する

データストアは、グラフィカル ユーザー インターフェイス、Azure コマンド ライン インターフェイス (CLI)、または Python ソフトウェア開発キット (SDK) を使って作成できます。

接続したいストレージ サービスに応じて、Azure Machine Learning で認証するためのさまざまなオプションがあります。

たとえば、Azure Blob Storage コンテナーに接続するデータストアを作成したい場合は、アカウント キーを使用することができます。

blob_datastore = AzureBlobDatastore(
    			name = "blob_example",
    			description = "Datastore pointing to a blob container",
    			account_name = "mytestblobstore",
    			container_name = "data-container",
    			credentials = AccountKeyConfiguration(
        			account_key="XXXxxxXXXxXXXXxxXXX"
    			),
)
ml_client.create_or_update(blob_datastore)

または、認証に SAS トークンを使うことで、Azure Blob Storage コンテナーに接続するデータストアを作成することもできます。

blob_datastore = AzureBlobDatastore(
name="blob_sas_example",
description="Datastore pointing to a blob container",
account_name="mytestblobstore",
container_name="data-container",
credentials=SasTokenConfiguration(
sas_token="?xx=XXXX-XX-XX&xx=xxxx&xxx=xxx&xx=xxxxxxxxxxx&xx=XXXX-XX-XXXXX:XX:XXX&xx=XXXX-XX-XXXXX:XX:XXX&xxx=xxxxx&xxx=XXxXXXxxxxxXXXXXXXxXxxxXXXXXxxXXXXXxXXXXxXXXxXXxXX"
),
)
ml_client.create_or_update(blob_datastore)