Criar um repositório de dados

Concluído

No Azure Machine Learning, os armazenamentos de dados são abstrações para fontes de dados de nuvem. Eles encapsulam as informações necessárias para se conectar às fontes de dados e armazenam com segurança essas informações de conexão para que você não precise codificá-las em seus scripts.

Os benefícios do uso de armazenamentos de dados são:

  • Fornece URIs fáceis de usar para o armazenamento de dados.
  • Facilita a descoberta de dados no Azure Machine Learning.
  • Armazena com segurança informações de conexão, sem expor segredos e chaves a cientistas de dados.

Ao criar um armazenamento de dados com uma conta de armazenamento existente no Azure, você tem a opção entre dois métodos de autenticação diferentes:

Diagrama de dois métodos de autenticação diferentes que os armazenamentos de dados do Azure Machine Learning usam para se conectar a fontes de dados externas.

  • Baseado em credencial: use uma entidade de serviço, um token SAS (assinatura de acesso compartilhado) ou uma chave de conta para autenticar o acesso à sua conta de armazenamento.
  • Baseada em identidade: Use sua identidade ou identidade gerenciada do Microsoft Entra.

Compreender os tipos de armazenamentos de dados

O Azure Machine Learning dá suporte à criação de armazenamentos de dados para vários tipos de fonte de dados do Azure, incluindo:

  • Armazenamento de Blobs do Azure
  • Compartilhamento de Arquivo do Azure
  • Azure Data Lake (Gen 2)

Usar os armazenamentos de dados internos

Cada workspace tem quatro armazenamentos de dados internos (dois conectando-se a contêineres de blob do Armazenamento do Azure e dois conectando-se a compartilhamentos de arquivos do Armazenamento do Azure), que são usados como armazenamentos do sistema pelo Azure Machine Learning.

Na maioria dos projetos de aprendizado de máquina, você precisa trabalhar com fontes de dados próprias. Por exemplo, você pode integrar sua solução de aprendizado de máquina com dados de aplicativos existentes ou pipelines de engenharia de dados.

Criar um repositório de dados

Os armazenamentos de dados são anexados a workspaces e usados para armazenar informações de conexão para serviços de armazenamento. Ao criar um armazenamento de dados, você fornecerá um nome que pode ser usado para recuperar as informações de conexão.

Os armazenamentos de dados permitem que você se conecte facilmente aos serviços de armazenamento sem precisar fornecer todos os detalhes necessários sempre que quiser ler ou gravar dados. Ele também criará uma camada de proteção se você quiser que os usuários usem os dados, mas não se conectem diretamente ao serviço de armazenamento subjacente.

Criar um armazenamento de dados para um contêiner de Armazenamento de Blobs do Azure

Você pode criar um armazenamento de dados por meio da interface gráfica do usuário, da CLI (interface de linha de comando) do Azure ou do SDK (software development kit) do Python.

Dependendo do serviço de armazenamento ao qual você deseja se conectar, há diferentes opções para o Azure Machine Learning se autenticar.

Por exemplo, quando você deseja criar um armazenamento de dados para se conectar a um contêiner do Armazenamento de Blobs do Azure, você pode usar uma chave de conta:

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)

Como alternativa, você pode criar um armazenamento de dados para se conectar a um contêiner Armazenamento de Blobs do Azure usando um token SAS para autenticar:

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)