Dış bağlantılar oluşturma (önizleme)

UYGULANIR:Azure CLI ml extension v2 (geçerli)Python SDK azure-ai-ml v2 (geçerli)

Uyarı

Dış kaynaklardan veri aktarma (önizleme) ve Data Connections (önizleme) özellikleri Azure Machine Learning'de kullanım dışıdır ve 30 Eylül 2026'dan sonra kullanılamayacak. O zamana kadar bu özellikleri kesinti olmadan kullanmaya devam edebilirsiniz. Bu tarihten sonra, bunlara bağımlı olan tüm iş yükleri kesintiye uğrayacaktır.

Önerilen eylem: Dış veri içeri aktarmalarını Microsoft Fabric'e taşıyın ve verileri Azure Machine Learning'de kullanılabilir yapmak için Azure Machine Learning veri depolarını kullanın.

Bu makalede, dış veri kaynaklarına bağlanarak verilerinin Azure Machine Learning kullanılabilir olmasını sağlamayı öğreneceksiniz. Ayrıca çeşitli dış veri dışı hizmetlere bağlanmayı da öğrenirsiniz. Bu bağlantıları oluşturmak için Azure Machine Learning CLI'yı, Python için Azure Machine Learning SDK'sını veya Machine Learning studio'yu kullanabilirsiniz.

Azure Machine Learning bağlantısı, kullanıcı adlarını ve parolaları bir anahtar kasasında gizli olarak güvenli bir şekilde depolar. Azure bağlantılar anahtar kasası proxy'leri görevi görür ve bağlantılarla etkileşimler Azure Key Vault ile doğrudan etkileşimlerdir. Key Vault rol tabanlı erişim denetimi (RBAC), veri kaynaklarına erişimi yönetir. Anahtar kasasında depolandıktan sonra kimlik bilgileriyle doğrudan ilgilenmeniz gerekmez.

Azure, veri kullanılabilirliği için aşağıdaki dış kaynaklara bağlantıları destekler:

  • Kar tanesi
  • Azure SQL Veritabanı
  • Amazon S3

Önemli

Bu özellik şu anda genel önizleme aşamasındadır. 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 desteklenmeyebilir veya kısıtlı özelliklere sahip olabilir.

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

Önkoşullar

  • free veya ücretli Azure Machine Learning sürümüne sahip bir Azure aboneliği.

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

  • Azure CLI'ye ml uzantısı sürüm 2.15.1 veya üzeri yüklü.

    Daha eski bir Azure CLI sürümünüz veya uzantınız varsa, kaldırmak ve yenisini yüklemek için aşağıdaki kodu kullanın.

    az extension remove -n ml
    az extension add -n ml --yes
    az extension show -n ml 2.15.1
    

Snowflake veri bağlantısı oluşturma

kullanıcı adı/parola kimlik doğrulaması kullanan bir Snowflake veri bağlantısı oluşturmak için Azure Machine Learning CLI, Python için Azure Machine Learning SDK veya Machine Learning studio kullanabilirsiniz.

Hizmet sorumlusuyla OAuth kullanan bir Snowflake bağlantısı oluşturmak için Azure CLI veya Python SDK'sını da kullanabilirsiniz. Machine Learning Studio, OAuth bağlantıları oluşturmayı desteklemez.

Kullanıcı adı/parola kimlik doğrulaması kullanan bir bağlantı oluşturma

Snowflake bağlantısını oluşturmak için önce bağlantıyı tanımlayan bir YAML dosyası derleyin ve ardından YAML dosyasını çağıran bir komut veya betik çalıştırın. Python SDK için, yaml dosyası kullanmadan bağlantı bilgilerini doğrudan belirtebilirsiniz.

Kimlik bilgilerini YAML dosyasında depolayabilir ve bağlantıyı oluştururken Azure CLI komut satırında depolanan kimlik bilgilerini geçersiz kılabilirsiniz. Ancak, bir güvenlik ihlali kimlik bilgisi sızıntısına neden olabileceğinden, kimlik bilgilerini bir dosyada depolamaktan kaçınmak en iyisidir. Bunun yerine, credentials değerlerini boş bırakabilir ve komut satırında sağlayabilirsiniz.

Aşağıdaki YAML dosyası, kullanıcı adı/parola kimlik doğrulaması kullanan bir Snowflake bağlantısı tanımlar. Dosyayı oluşturmak için bir <connection-name> sağlayın ve <account>, <database>, <warehouse> ve <role> yer tutucularını Snowflake hesabınızdaki değerlerle değiştirin. belirtmezseniz <role>, değeri varsayılan olarak olur PUBLIC. Dosyayı my_snowflake_connection.yaml gibi bir adla kaydedin.

$schema: http://azureml/sdk-2-0/Connection.json
type: snowflake
name: <connection-name>

target: jdbc:snowflake://<account>.snowflakecomputing.com/?db=<database>&warehouse=<warehouse>&role=<role>
credentials:
    type: username_password
    username: <snowflake-username>
    password: <snowflake-password>

Bağlantıyı oluşturmak için, yer tutucu için <yaml-filename> YAML dosya adınızı sağlayarak aşağıdaki komut satırlarından birini çalıştırın.

  • YAML dosyasında depoladığınız kullanıcı adını ve parolayı kullanmak için aşağıdaki komutu çalıştırın:

    az ml connection create --file <yaml-filename>.yaml
    
  • Komut satırının bir parçası olarak kullanıcı adını ve parolayı sağlamak için aşağıdaki komutu çalıştırın ve yer tutucular için <username> ve <password> girin.

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

OAuth kimlik doğrulamasıyla bağlantı oluşturmak için Azure CLI veya Python SDK'sını kullanma

Azure CLI veya Python SDK'sını kullanarak kimlik doğrulaması için OAuth hizmet sorumlusu kullanan bir Snowflake bağlantısı oluşturabilirsiniz.

Önemli

OAuth kullanarak bağlantı oluşturabilmeniz için önce İsteci adına OAuth belirteçleri vermek için Azure yapılandırmanız gerekir. Bu yapılandırma işlemi, OAuth bağlantısı için gerekli hizmet sorumlusunu oluşturur.

Azure Machine Learning için OAuth bağlantısı oluşturmak için aşağıdaki bilgilere ihtiyacınız vardır:

  • İstemci Kimliği: Hizmet sorumlusunun kimliği
  • İstemci Gizli Anahtarı: Hizmet sorumlusu anahtarı
  • Tenant Kimliği: Microsoft Entra ID kiracının kimliği

Bağlantıyı oluşturmak için önce bağlantıyı tanımlayan bir YAML dosyası derleyin ve ardından YAML dosyasını çağıran bir komut veya betik çalıştırın. Python SDK için, yaml dosyası kullanmadan bağlantı bilgilerini doğrudan belirtebilirsiniz.

OAuth kullanan bir Snowflake bağlantısı tanımlamak için aşağıdaki YAML dosyasını oluşturun. Bir <connection-name> girin ve <account>, <database>, <warehouse> ve <service-principal-scope> yer tutucularını Snowflake hesabınızdaki değerlerle değiştirin. Kimlik bilgileri için <client-id>, <client-secret> ve <tenant_id> bilgilerinizi sağlayın.

name: <connection-name>
type: snowflake
target: jdbc:snowflake://<account>.snowflakecomputing.com/?db=<database>&warehouse=<warehouse>&scope=<service-principal-scope>
credentials:
  type: service_principal
  client_id: <client-id>
  client_secret: <client-secret>
  tenant_id: <tenant-id>
  • YAML dosyasında depolanan kimlik bilgileriyle bağlantı oluşturmak için aşağıdaki komutu çalıştırın ve yer tutucuyu <yaml-filename> YAML dosya adınızla değiştirin.

    az ml connection create --file <yaml-filename>.yaml
    
  • YAML dosyasındaki kimlik bilgisi bilgilerini geçersiz kılmak veya komut satırında kimlik bilgilerini sağlamak için aşağıdaki komutu çalıştırın ve yer tutucular için , <client-id>ve <client-secret> değerlerinizi <tenant-id>girin:

    az ml connection create --file <yaml-filename>.yaml --set credentials.client_id="<client-id>" credentials.client_secret="<client-secret>" credentials.tenant_id="<tenant-id>"
    

Azure SQL Veritabanı veri bağlantısı oluşturma

Azure Machine Learning CLI'yı, Python için Azure Machine Learning SDK'sını veya Machine Learning studio'yu kullanarak Azure SQL Veritabanı veri bağlantısı oluşturabilirsiniz.

Azure SQL veritabanı bağlantısı oluşturmak için önce bağlantıyı tanımlayan bir YAML dosyası derleyin ve ardından YAML dosyasını çağıran bir Azure CLI veya Python SDK komutu veya betiği çalıştırın. Python SDK için, yaml dosyası kullanmadan bağlantı bilgilerini doğrudan belirtebilirsiniz.

Azure SQL Veritabanı bağlantısını tanımlamak için aşağıdaki YAML dosyasını oluşturun ve dosyayı my_azuresqldb_connection.yaml gibi bir adla kaydedin. <connection-name> sağlayın ve <server>, <port> ve <database> yer tutucularını Azure SQL veritabanınızdan uygun değerlerle değiştirin.

credentials için, Azure SQL veritabanı kullanıcı adını ve parolasını bu dosyada depolayabilirsiniz, ancak değerleri boş bırakıp bağlantıyı oluşturan komut satırında sağlamak daha güvenlidir.

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

type: azure_sql_db
name: <connection-name>

target: Server=tcp:<server>,<port>;Database=<database>;Trusted_Connection=False;Encrypt=True;Connection Timeout=30
credentials:
    type: sql_auth
    username: <username>
    password: <password>

Bağlantıyı oluşturmak için, yer tutucu için <yaml-filename> YAML dosya adınızı sağlayarak aşağıdaki CLI komut satırlarından birini çalıştırın.

  • YAML dosyasında depolanan kullanıcı adını ve parolayı kullanmak için aşağıdaki komutu çalıştırın:

    az ml connection create --file <yaml-filename>.yaml
    
  • Komut satırının bir parçası olarak kullanıcı adını ve parolayı sağlamak için aşağıdaki komutu çalıştırın ve yer tutucular için <username> ve <password> girin.

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

Amazon S3 veri bağlantısı oluşturma

Amazon S3 veri bağlantısı oluşturmak için Azure Machine Learning CLI'yı, Python için Azure Machine Learning SDK'sını veya Machine Learning studio'yu kullanabilirsiniz.

Amazon S3 veri bağlantısı oluşturmak için önce bağlantıyı tanımlayan bir YAML dosyası derleyin ve ardından YAML dosyasını çağıran bir Azure CLI veya Python SDK komutu veya betiği çalıştırın. Python SDK için, yaml dosyası kullanmadan bağlantı bilgilerini doğrudan belirtebilirsiniz.

Amazon S3 veri bağlantısı oluşturmak üzere Azure Machine Learning CLI'yı kullanmak için önce bağlantıyı tanımlayan bir YAML dosyası derleyin ve ardından YAML dosyasını çağıran bir Azure CLI komutu çalıştırın.

Amazon S3 bağlantısını tanımlayan aşağıdaki YAML dosyasını oluşturun. Bir <connection-name> sağlayın ve <s3-bucket-name>, <access-key-id> ve <secret-access-key> yer tutucularını Amazon S3 hesabınızdaki değerlerle değiştirin. Dosyayı my_amazons3_connection.yaml gibi bir adla kaydedin.

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

type: s3
name: <connection-name>

target: <s3-bucket-name>
credentials:
    type: access_key
    access_key_id: <access-key-id>
    secret_access_key: <secret-access-key>

Bağlantıyı oluşturmak için aşağıdaki CLI komutunu çalıştırarak yer tutucu için <yaml-filename> YAML dosya adınızı sağlayın.

az ml connection create --file <yaml-filename>.yaml

Veri dışı bağlantılar oluşturma

Ayrıca kodunuzda kullandığınız dış hizmetlere veri dışı Azure Machine Learning bağlantılar da oluşturabilirsiniz. Bu bölümde aşağıdaki veri dışı bağlantıların nasıl oluşturulacağı gösterilmektedir:

  • Git
  • Python beslemesi
  • Azure Container Registry
  • Genel konteyner kayıt defteri
  • API anahtarı

Git bağlantısı oluşturma

Azure CLI, Python SDK veya Machine Learning studio kullanarak Git bağlantısı oluşturabilirsiniz.

Azure CLI kullanarak Git bağlantısı oluşturmak için aşağıdaki YAML dosyalarından birini kullanarak bağlantıyı tanımlayın. Dosyaya git-connection.yml gibi bir ad verin.

  • Kişisel erişim belirteci (PAT) kullanarak bağlanmak için, bir <connection-name>sağlayın ve , <account>ve <repo> yer tutucularını Git hesabınızın, deponuzun ve PAT'nizin değerleriyle değiştirin<PAT>.

    name: <connection-name>
    type: git
    target: https://github.com/<account>/<repo>
    credentials:
       type: pat
       pat: <PAT>
    
  • Kimlik bilgilerini kullanmadan bir genel depoya bağlanmak için bir <connection-name> sağlayın ve <account>, <repo> yer tutucularını değerlerinizle değiştirin.

    name: <connection-name>
    type: git
    target: https://github.com/<account>/<repo>
    

<yaml-filename> yer tutucusu için YAML dosya adı sağlayarak aşağıdaki komutu çalıştırarak Azure Machine Learning bağlantısını oluşturun.

az ml connection create --file <yaml-filename>.yaml

Python beslemesi

Azure CLI, Python SDK veya Machine Learning studio kullanarak Python akışına bağlantı oluşturabilirsiniz.

Aşağıdaki YAML dosyalarından birini kullanarak Python akışı bağlantısı tanımlayın. Dosyaya python-feed-connection.yml gibi bir ad verin.

  • PAT kullanarak bağlanmak için bir <connection-name> sağlayın ve <feed-url> ve <PAT> yer tutucularını akışınızın değerleriyle değiştirin.

    name: <connection-name>
    type: python_feed
    target: https://<feed-url>
    credentials:
       type: pat
       pat: <PAT>
    
  • Kullanıcı adı ve parola kullanarak bağlanmak için bir <connection-name> girin ve <feed-url>, <username> ve <password> yer tutucularını akışınızın değerleriyle değiştirin.

    name: <connection-name>
    type: python_feed
    target: https://<feed-url>
    credentials:
       type: username_password
       username: <username>
       password: <password>
    
  • Kimlik bilgilerini kullanmadan bir genel akışa bağlanmak için bir <connection-name> sağlayın ve <feed-url> yer tutucusunun yerine Python akışı URL'nizi yazın.

    name: <connection-name>
    type: python_feed
    target: https://<feed-url>
    

<yaml-filename> yer tutucusu için YAML dosya adı sağlayarak aşağıdaki komutu çalıştırarak Azure Machine Learning bağlantısını oluşturun.

az ml connection create --file <yaml-filename>.yaml

Azure Container Registry

Azure CLI, Python SDK veya Machine Learning studio kullanarak Azure Container Registry bağlantı oluşturabilirsiniz.

Kullanıcı adı/parola kimlik doğrulamasıyla Azure Container Registry bağlantı tanımlamak için aşağıdaki YAML dosyasını kullanın.

name: <connection-name>
type: container_registry
target: https://<container-registry-url>
credentials:
   type: username_password
   username: <username>
   password: <password>

Bağlantıyı oluşturmak için aşağıdaki komutu çalıştırın:

az ml connection create --file connection.yaml

Genel Kapsayıcı Kayıt Defteri

GenericContainerRegistry çalışma alanı bağlantısı, görüntü derlemeleri için Nexus veya Artifactory gibi bir dış kayıt defteri belirtir. Ortam görüntüleri belirtilen kayıt defterinden gönderilir ve önceki önbellek yoksayılır. Azure CLI, Python SDK veya Machine Learning studio kullanarak genel bir kapsayıcı kayıt defterine bağlantı oluşturabilirsiniz.

Azure CLI ve Python SDK'sı için, aşağıdaki örnek YAML dosyaları genel bir kapsayıcı kayıt defteri bağlantısı tanımlar. Örnek değerleri kendi değerlerinizle 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: myusername
  password: <password>
#hello_world_job.yml
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: echo "hello world"
environment: azureml:myenv@latest

Önceki YAML dosyalarını ve kimlik bilgilerinizi kullanarak bağlantıyı oluşturmak için aşağıdaki komutu çalıştırın. Örnek değerleri kendi değerlerinizle güncelleştirin.

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

Ortamı oluşturmak için aşağıdaki komutu çalıştırın:

az ml environment create --name docker-image-plus-conda-example --version 1 --file myenv.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ğrulamak için aşağıdaki komutu çalıştırın.

az ml environment show --name docker-image-plus-conda-example --version 1 --resource-group my-resource-group --workspace-name my-workspace

API anahtarı

BIR API anahtarına bağlantı tanımlamak için aşağıdaki YAML dosyasını oluşturun. Örnek değerleri kendi değerlerinizle güncelleştirin.

name: my_api_key
type: api_key
api_base: "https://myapi.core.windows.net/mycontainer"
api_key: "aAbBcCdD"

Bağlantıyı oluşturmak için aşağıdaki komutu çalıştırın:

az ml connection create --file connection.yaml

Daha iyi güvenlik için değeri YAML dosyasının dışında bırakın api_key ve komut satırında sağlayın:

az ml connection create --file connection.yml --set api_key="aAbBcCdD"