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.
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
İlgili içerik
Veri bağlantısı (Snowflake DB, Amazon S3 veya Azure SQL DB) kullanıyorsanız, bu makaleler daha fazla bilgi sunar: