Erstellen eines Datenspeichers

Abgeschlossen

In Azure Machine Learning stellen Datenspeicher Abstraktionen für Clouddatenquellen dar. Sie kapseln die Informationen, die zum Verbinden mit Datenquellen benötigt werden, und speichern diese Verbindungsinformationen so sicher, dass Sie sie nicht in Ihren Skripts programmieren müssen.

Es folgen die Vorteile von Datenspeichern:

  • Bieten einfach zu verwendende URIs für Ihre Datenspeicherung.
  • Erleichtern die Datenermittlung in Azure Machine Learning.
  • Speichern Verbindungsinformationen sicher, ohne Geheimnisse und Schlüssel für Wissenschaftliche Fachkräfte für Daten offen zu legen.

Wenn Sie einen Datenspeicher mit einem vorhandenen Speicherkonto in Azure erstellen, haben Sie die Wahl zwischen zwei verschiedenen Authentifizierungsmethoden:

Diagramm mit zwei verschiedenen Authentifizierungsmethoden für Azure Machine Learning-Datenspeicher, die zum Herstellen einer Verbindung mit externen Datenquellen verwendet werden

  • Auf Anmeldeinformationen basierend: Authentifizieren Sie den Zugriff auf Ihr Speicherkonto mit einem Dienstprinzipal, Shared Access Signature-Token (SAS) oder Kontoschlüssel.
  • Identitätsbasiert: Verwenden Sie Ihre Microsoft Entra Identity oder verwaltete Identität.

Grundlegendes zu Datenspeichertypen

Azure Machine Learning unterstützt die Erstellung von Datenspeichern für verschiedene Arten von Azure-Datenquellen, einschließlich:

  • Azure Blob Storage
  • Azure-Dateifreigabe
  • Azure Data Lake (Gen 2)

Verwenden der integrierten Datenspeicher

Jeder Arbeitsbereich verfügt über vier integrierte Datenspeicher (zwei verbunden mit Azure Storage-Blobcontainer und zwei verbunden mit Azure Storage-Dateifreigaben), die von Azure Machine Learning als Systemspeicher genutzt werden.

In den meisten Projekten zum maschinellen Lernen müssen Sie mit eigenen Datenquellen arbeiten. Beispielsweise können Sie Ihre Lösung für maschinelles Lernen in Daten aus vorhandenen Anwendungen oder Datentechnikpipelines integrieren.

Erstellen eines Datenspeichers

Datenspeicher werden an Arbeitsbereiche angefügt und dienen zum Speichern von Verbindungsinformationen für Speicherdienste. Wenn Sie einen Datenspeicher erstellen, geben Sie einen Namen an, über den Sie die Verbindungsinformationen abrufen können.

Mithilfe von Datenspeichern können Sie sich ganz einfach mit Speicherdiensten verbinden, ohne dass Sie jedes Mal, wenn Sie Daten lesen oder schreiben möchten, alle erforderlichen Angaben vornehmen müssen. Außerdem wird eine Schutzebene geschaffen, wenn Sie möchten, dass Benutzer die Daten nutzen, ohne sich direkt mit dem zugrunde liegenden Speicherdienst zu verbinden.

Erstellen eines Datenspeichers für einen Azure Blob Storage-Container

Sie können einen Datenspeicher über die grafische Benutzeroberfläche, die Azure-Befehlszeilenschnittstelle (CLI) oder das Python Software Development Kit (SDK) erstellen.

Je nach Speicherdienst, mit dem Sie eine Verbindung herstellen möchten, gibt es für Azure Machine Learning verschiedene Optionen für die Authentifizierung.

Wenn Sie beispielsweise einen Datenspeicher erstellen möchten, um eine Verbindung mit einem Azure Blob Storage-Container herzustellen, können Sie einen Kontoschlüssel verwenden:

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)

Alternativ können Sie einen Datenspeicher so erstellen, dass eine Verbindung mit einem Azure Blob Storage-Container hergestellt wird, indem Sie zur Authentifizierung ein SAS-Token verwenden:

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)