Aracılığıyla paylaş


Bağlantı oluşturma (önizleme)

ŞUNLAR IÇIN GEÇERLIDIR: Azure CLI ml uzantısı v2 (geçerli)Python SDK azure-ai-ml v2 (geçerli)

Bu makalede, azure dışında bulunan veri kaynaklarına bağlanmayı ve bu verileri Azure Machine Learning hizmetlerinin kullanımına sunmayı öğrenin. Azure bağlantıları anahtar kasası proxy'leri görevi görür ve bağlantılarla etkileşimler bir Azure anahtar kasasıyla doğrudan etkileşimlerdir. Azure Machine Learning bağlantısı, kullanıcı adı ve parola veri kaynaklarını gizli diziler olarak bir anahtar kasasında güvenli bir şekilde depolar. Anahtar kasası RBAC, bu veri kaynaklarına erişimi denetler. Bu veri kullanılabilirliği için, bu dış kaynaklara bağlantıları Azure desteği:

  • Snowflake DB
  • Amazon S3
  • Azure SQL DB

Önemli

Bu özellik şu anda genel önizlemededir. Bu önizleme sürümü hizmet düzeyi sözleşmesi olmadan sağlanır ve üretim iş yükleri için bu sürümü önermeyiz. Bazı özellikler desteklenmiyor olabileceği gibi özellikleri sınırlandırılmış da olabilir.

Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri Ek Kullanım Koşulları.

Önkoşullar

  • Azure aboneliği. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun. Azure Machine Learning'in ücretsiz veya ücretli sürümünü deneyin.

  • Python için Azure Machine Learning SDK'sı.

  • Azure Machine Learning çalışma alanı.

Önemli

Azure Machine Learning bağlantısı, bağlantı oluşturma sırasında geçirilen kimlik bilgilerini Çalışma Alanı Azure Key Vault'ta güvenli bir şekilde depolar. Bağlantı, daha fazla kullanım için anahtar kasası depolama konumundaki kimlik bilgilerine başvurur. Kimlik bilgileri anahtar kasasında depolandıktan sonra doğrudan ilgilenmeniz gerekmez. Kimlik bilgilerini YAML dosyasında depolama seçeneğiniz vardır. CLI komutu veya SDK bunları geçersiz kılabilir. Bir güvenlik ihlali kimlik bilgisi sızıntısına neden olabileceğinden YAML dosyasında kimlik bilgisi depolamasından kaçınmanızı öneririz.

Not

Başarılı bir veri içeri aktarma işlemi için sdk için en son azure-ai-ml paketini (sürüm 1.5.0 veya üzeri) ve ml uzantısını (sürüm 2.15.1 veya üzeri) yüklediğinizi doğrulayın.

Daha eski bir SDK paketiniz veya CLI uzantınız varsa, lütfen eskisini kaldırın ve yenisini sekme bölümünde gösterilen kodla yükleyin. Burada gösterildiği gibi SDK ve CLI yönergelerini izleyin:

Kod sürümleri

az extension remove -n ml
az extension add -n ml --yes
az extension show -n ml #(the version value needs to be 2.15.1 or later)

Snowflake DB bağlantısı oluşturma

Bu YAML dosyası bir Snowflake DB bağlantısı oluşturur. Uygun değerleri güncelleştirin:

# my_snowflakedb_connection.yaml
$schema: http://azureml/sdk-2-0/Connection.json
type: snowflake
name: my-sf-db-connection # add your datastore name here

target: jdbc:snowflake://<myaccount>.snowflakecomputing.com/?db=<mydb>&warehouse=<mywarehouse>&role=<myrole>
# add the Snowflake account, database, warehouse name and role name here. If no role name provided it will default to PUBLIC
credentials:
    type: username_password
    username: <username> # add the Snowflake database user name here or leave this blank and type in CLI command line
    password: <password> # add the Snowflake database password here or leave this blank and type in CLI command line

CLI'da Azure Machine Learning bağlantısı oluşturun:

Seçenek 1: YAML dosyasında kullanıcı adını ve parolayı kullanma

az ml connection create --file my_snowflakedb_connection.yaml

2. Seçenek: Komut satırında kullanıcı adını ve parolayı geçersiz kılma

az ml connection create --file my_snowflakedb_connection.yaml --set credentials.
username="<username>" credentials.
password="<password>"

OAuth kullanan bir Snowflake DB bağlantısı oluşturma

Bu bölümdeki bilgiler, kimlik doğrulaması için OAuth kullanan bir Snowflake DB bağlantısının nasıl oluşturulacağını açıklar.

Önemli

Bu bölümdeki adımları takip etmeden önce azure'ı istemci adına OAuth belirteçleri vermek üzere yapılandırmanız gerekir. Bu yapılandırma, OAuth bağlantısı için gereken bir hizmet sorumlusu oluşturur. Bağlantıyı oluşturmak için aşağıdaki bilgilere ihtiyacınız vardır:

  • İstemci Kimliği: Hizmet sorumlusunun kimliği
  • İstemci Gizli Anahtarı: Hizmet sorumlusunun gizli dizisi
  • Kiracı Kimliği: Microsoft Entra Id kiracısının kimliği

Bu YAML dosyası, OAuth kullanan bir Snowflake DB bağlantısı oluşturur. Uygun değerleri güncelleştirin:

# my_snowflakedb_connection.yaml
name: snowflake_service_principal_connection
type: snowflake
# Add the Snowflake account, database, warehouse name, and role name here. If no role name is provided, it will default to PUBLIC.
target: jdbc:snowflake://<myaccount>.snowflakecomputing.com/?db=<mydb>&warehouse=<mywarehouse>&scope=<scopeForServicePrincipal>
credentials:
  type: service_principal
  client_id: <client-id>          # The service principal's client id
  client_secret: <client-secret>  # The service principal's client secret
  tenant_id: <tenant-id>          # The Microsoft Entra ID tenant id

CLI'da Azure Machine Learning bağlantısı oluşturun:

az ml connection create --file my_snowflakedb_connection.yaml

YaML dosyasındaki bilgileri komut satırından da geçersiz kılabilirsiniz:

az ml connection create --file my_snowflakedb_connection.yaml --set credentials.client_id="my-client-id" credentials.client_secret="my-client-secret" credentials.tenant_id="my-tenant-id"

Azure SQL DB bağlantısı oluşturma

Bu YAML betiği bir Azure SQL DB bağlantısı oluşturur. Uygun değerleri güncelleştirin:

# my_sqldb_connection.yaml
$schema: http://azureml/sdk-2-0/Connection.json

type: azure_sql_db
name: my-sqldb-connection

target: Server=tcp:<myservername>,<port>;Database=<mydatabase>;Trusted_Connection=False;Encrypt=True;Connection Timeout=30
# add the sql servername, port addresss and database
credentials:
    type: sql_auth
    username: <username> # add the sql database user name here or leave this blank and type in CLI command line
    password: <password> # add the sql database password here or leave this blank and type in CLI command line

CLI'da Azure Machine Learning bağlantısı oluşturun:

Seçenek 1: YAML dosyasındaki kullanıcı adını / parolayı kullanın

az ml connection create --file my_sqldb_connection.yaml

Seçenek 2: YAML dosyasında kullanıcı adını ve parolayı geçersiz kılma

az ml connection create --file my_sqldb_connection.yaml --set credentials.
username="<username>" credentials.
password="<password>"

Amazon S3 bağlantısı oluşturma

Aşağıdaki YAML dosyasıyla bir Amazon S3 bağlantısı oluşturun. Uygun değerleri güncelleştirin:

# my_s3_connection.yaml
$schema: http://azureml/sdk-2-0/Connection.json

type: s3
name: my_s3_connection

target: <mybucket> # add the s3 bucket details
credentials:
    type: access_key
    access_key_id: bbbbbbbb-1c1c-2d2d-3e3e-444444444444 # add access key id
    secret_access_key: H4iJ5kL6mN7oP8qR9sT0uV1wX2yZ3a # add access key secret

CLI'da Azure Machine Learning bağlantısı oluşturun:

az ml connection create --file my_s3_connection.yaml

Veri olmayan bağlantılar

Git'e bağlanmak için şu bağlantı türlerini kullanabilirsiniz:

  • Python akışı
  • Azure Container Registry
  • API anahtarı kullanan bir bağlantı

Bu bağlantılar veri bağlantıları değildir, ancak kodunuzda kullanılmak üzere dış hizmetlere bağlanmak için kullanılır.

Git

Aşağıdaki YAML dosyalarından biriyle Git bağlantısı oluşturun. Uygun değerleri güncelleştirin:

  • Kişisel erişim belirteci (PAT) kullanarak bağlanma:

    #Connection.yml
    name: test_ws_conn_git_pat
    type: git
    target: https://github.com/contoso/contosorepo
    credentials:
        type: pat
        pat: dummy_pat
    
  • Genel bir depoya bağlanın (kimlik bilgisi yok):

    #Connection.yml
    
    name: git_no_cred_conn
    type: git
    target: https://https://github.com/contoso/contosorepo
    
    

CLI'da Azure Machine Learning bağlantısı oluşturun:

az ml connection create --file connection.yaml

Python akışı

Aşağıdaki YAML dosyalarından biriyle Python akışına bağlantı oluşturun. Uygun değerleri güncelleştirin:

  • Kişisel erişim belirteci (PAT) kullanarak bağlanma:

    #Connection.yml
    name: test_ws_conn_python_pat
    type: python_feed
    target: https://test-feed.com
    credentials:
        type: pat
        pat: dummy_pat
    
  • Kullanıcı adı ve parola kullanarak bağlanın:

    name: test_ws_conn_python_user_pass
    type: python_feed
    target: https://test-feed.com
    credentials:
        type: username_password
        username: <username>
        password: <password>
    
    
  • Genel akışa bağlanın (kimlik bilgisi yok):

    name: test_ws_conn_python_no_cred
    type: python_feed
    target: https://test-feed.com3
    

CLI'da Azure Machine Learning bağlantısı oluşturun:

az ml connection create --file connection.yaml

Container Registry

Aşağıdaki YAML dosyalarından biriyle Bir Azure Container Registry bağlantısı oluşturun. Uygun değerleri güncelleştirin:

  • Kullanıcı adı ve parola kullanarak bağlanın:

    name: test_ws_conn_cr_user_pass
    type: container_registry
    target: https://test-feed.com2
    credentials:
        type: username_password
        username: <username>
        password: <password>
    

CLI'da Azure Machine Learning bağlantısı oluşturun:

az ml connection create --file connection.yaml

API key

Aşağıdaki örnek bir API anahtarı bağlantısı oluşturur:

from azure.ai.ml.entities import WorkspaceConnection
from azure.ai.ml.entities import UsernamePasswordConfiguration, ApiKeyConfiguration


name = "my_api_key"

target = "https://L6mN7oP8q.core.windows.net/mycontainer"

wps_connection = WorkspaceConnection(
    name=name,
    type="apikey",
    target=target,
    credentials=ApiKeyConfiguration(key="9sT0uV1wX"),    
)
ml_client.connections.create_or_update(workspace_connection=wps_connection)

Genel Kapsayıcı Kayıt Defteri

GenericContainerRegistry çalışma alanı bağlantısını kullanarak, görüntü derlemeleri için Nexus veya Artifactory gibi bir dış kayıt defteri belirtebilirsiniz. Ortam görüntüleri belirtilen kayıt defterinden gönderilir ve önceki önbellek yoksayılır.

Aşağıdaki YAML dosyalarını kullanarak bir bağlantı oluşturun. Uygun değerleri güncelleştirin:

#myenv.yml
$schema: https://azuremlschemas.azureedge.net/latest/environment.schema.json 
name: docker-image-plus-conda-example 
image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04
type: python_feed
conda_file: conda_dep.yml
description: Environment created from a Docker image plus Conda environment
#conda_dep.yml
name: project_environment
dependencies:
  - python=3.10
  - pip:
    - azureml-defaults
channels:
  - anaconda
  - conda-forge
#connection.yml
name: ws_conn_generic_container_registry
type: container_registry
target: https://test-registry.com
credentials:
  type: username_password
  username: <username>
  password: <password>
#hello_world_job.yml
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: echo "hello world"
environment: azureml:<env name>@latest

Kimlik bilgilerinizle YAML dosyasından bağlantı oluşturun:

az ml connection create --file connection.yaml --credentials username=<username> password=<password> --resource-group my-resource-group --workspace-name my-workspace

Ortam oluşturma

az ml environment create --name my-env --version 1 --file my_env.yml  --conda-file conda_dep.yml --image mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04 --resource-group my-resource-group --workspace-name my-workspace

Ortamın başarıyla oluşturulduğunu doğrulayabilirsiniz

az ml environment show --name my-env --version 1 --resource-group my-resource-group --workspace-name my-workspace

Veri bağlantısı (Snowflake DB, Amazon S3 veya Azure SQL DB) kullanıyorsanız, bu makaleler daha fazla bilgi sunar: