Membuat koneksi (pratinjau)
BERLAKU UNTUK:Ekstensi ml Azure CLI v2 (saat ini)
Python SDK azure-ai-ml v2 (saat ini)
Dalam artikel ini, pelajari cara menyambungkan ke sumber data yang terletak di luar Azure, untuk membuat data tersebut tersedia untuk layanan Azure Pembelajaran Mesin. Koneksi Azure berfungsi sebagai proksi brankas kunci, dan interaksi dengan koneksi adalah interaksi langsung dengan brankas kunci Azure. Koneksi Azure Pembelajaran Mesin menyimpan sumber daya data nama pengguna dan kata sandi dengan aman, sebagai rahasia, di brankas kunci. RBAC brankas kunci mengontrol akses ke sumber daya data ini. Untuk ketersediaan data ini, Azure mendukung koneksi ke sumber eksternal ini:
- Snowflake DB
- Amazon S3
- Azure SQL DB
Penting
Fitur ini masih dalam pratinjau umum. Versi pratinjau ini disediakan tanpa perjanjian tingkat layanan, dan tidak disarankan untuk beban kerja produksi. Fitur tertentu mungkin tidak didukung atau mungkin memiliki kemampuan terbatas.
Untuk mengetahui informasi selengkapnya, lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.
Prasyarat
Langganan Azure. Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai. Coba versi gratis atau berbayar Azure Machine Learning.
Ruang kerja Azure Machine Learning.
Penting
Koneksi Azure Pembelajaran Mesin menyimpan kredensial yang diteruskan dengan aman selama pembuatan koneksi di Ruang Kerja Azure Key Vault. Koneksi mereferensikan kredensial dari lokasi penyimpanan brankas kunci untuk digunakan lebih lanjut. Anda tidak perlu langsung menangani kredensial setelah disimpan di brankas kunci. Anda memiliki opsi untuk menyimpan kredensial dalam file YAML. Perintah CLI atau SDK dapat mengambil alihnya. Kami menyarankan agar Anda menghindari penyimpanan kredensial dalam file YAML, karena pelanggaran keamanan dapat menyebabkan kebocoran kredensial.
Catatan
Untuk impor data yang berhasil, pastikan Anda menginstal paket azure-ai-ml terbaru (versi 1.5.0 atau yang lebih baru) untuk SDK, dan ekstensi ml (versi 2.15.1 atau yang lebih baru).
Jika Anda memiliki paket SDK atau ekstensi CLI yang lebih lama, silakan hapus yang lama dan instal yang baru dengan kode yang ditunjukkan di bagian tab. Ikuti instruksi untuk SDK dan CLI seperti yang ditunjukkan di sini:
Versi kode
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)
Membuat koneksi Snowflake DB
File YAML ini membuat koneksi Snowflake DB. Pastikan untuk memperbarui nilai yang sesuai:
# 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
Buat koneksi Azure Pembelajaran Mesin di CLI:
Opsi 1: Gunakan nama pengguna dan kata sandi dalam file YAML
az ml connection create --file my_snowflakedb_connection.yaml
Opsi 2: Mengganti nama pengguna dan kata sandi di baris perintah
az ml connection create --file my_snowflakedb_connection.yaml --set credentials.
username="<username>" credentials.
password="<password>"
Membuat koneksi Snowflake DB yang menggunakan OAuth
Informasi di bagian ini menjelaskan cara membuat koneksi Snowflake DB yang menggunakan OAuth untuk mengautentikasi.
Penting
Sebelum mengikuti langkah-langkah di bagian ini, Anda harus terlebih dahulu Mengonfigurasi Azure untuk menerbitkan token OAuth atas nama klien. Konfigurasi ini membuat perwakilan layanan, yang diperlukan untuk koneksi OAuth. Anda memerlukan informasi berikut untuk membuat koneksi:
- ID Klien: ID perwakilan layanan
- Rahasia Klien: Rahasia perwakilan layanan
- ID Penyewa: ID penyewa ID Microsoft Entra
File YAML ini membuat koneksi Snowflake DB yang menggunakan OAuth. Pastikan untuk memperbarui nilai yang sesuai:
# 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
Buat koneksi Azure Pembelajaran Mesin di CLI:
az ml connection create --file my_snowflakedb_connection.yaml
Anda juga dapat mengambil alih informasi dalam file YAML di baris perintah:
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"
Membuat koneksi Azure SQL DB
Skrip YAML ini membuat koneksi Azure SQL DB. Pastikan untuk memperbarui nilai yang sesuai:
# 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
Buat koneksi Azure Pembelajaran Mesin di CLI:
Opsi 1: Gunakan nama pengguna / kata sandi dari file YAML
az ml connection create --file my_sqldb_connection.yaml
Opsi 2: Mengganti nama pengguna dan kata sandi dalam file YAML
az ml connection create --file my_sqldb_connection.yaml --set credentials.
username="<username>" credentials.
password="<password>"
Membuat koneksi Amazon S3
Buat koneksi Amazon S3 dengan file YAML berikut. Pastikan untuk memperbarui nilai yang sesuai:
# 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
Buat koneksi Azure Pembelajaran Mesin di CLI:
az ml connection create --file my_s3_connection.yaml
Koneksi non-data
Anda dapat menggunakan jenis koneksi ini untuk menyambungkan ke Git:
- Umpan Python
- Azure Container Registry
- koneksi yang menggunakan kunci API
Koneksi ini bukan koneksi data, tetapi digunakan untuk menyambungkan ke layanan eksternal untuk digunakan dalam kode Anda.
Git
Buat koneksi Git dengan salah satu file YAML berikut. Pastikan untuk memperbarui nilai yang sesuai:
Sambungkan menggunakan token akses pribadi (PAT):
#Connection.yml name: test_ws_conn_git_pat type: git target: https://github.com/contoso/contosorepo credentials: type: pat pat: dummy_pat
Sambungkan ke repositori publik (tanpa kredensial):
#Connection.yml name: git_no_cred_conn type: git target: https://https://github.com/contoso/contosorepo
Buat koneksi Azure Pembelajaran Mesin di CLI:
az ml connection create --file connection.yaml
Umpan Python
Buat koneksi ke umpan Python dengan salah satu file YAML berikut. Pastikan untuk memperbarui nilai yang sesuai:
Sambungkan menggunakan token akses pribadi (PAT):
#Connection.yml name: test_ws_conn_python_pat type: python_feed target: https://test-feed.com credentials: type: pat pat: dummy_pat
Sambungkan menggunakan nama pengguna dan kata sandi:
name: test_ws_conn_python_user_pass type: python_feed target: https://test-feed.com credentials: type: username_password username: <username> password: <password>
Sambungkan ke umpan publik (tanpa kredensial):
name: test_ws_conn_python_no_cred type: python_feed target: https://test-feed.com3
Buat koneksi Azure Pembelajaran Mesin di CLI:
az ml connection create --file connection.yaml
Container Registry
Buat koneksi ke Azure Container Registry dengan salah satu file YAML berikut. Pastikan untuk memperbarui nilai yang sesuai:
Sambungkan menggunakan nama pengguna dan kata sandi:
name: test_ws_conn_cr_user_pass type: container_registry target: https://test-feed.com2 credentials: type: username_password username: <username> password: <password>
Buat koneksi Azure Pembelajaran Mesin di CLI:
az ml connection create --file connection.yaml
Kunci API
Contoh berikut membuat koneksi kunci API:
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)
Registri Kontainer Generik
Dengan menggunakan koneksi ruang kerja GenericContainerRegistry, Anda dapat menentukan registri eksternal, seperti Nexus atau Artifactory, untuk build gambar. Gambar lingkungan didorong dari registri yang ditentukan, dan cache sebelumnya diabaikan.
Buat koneksi menggunakan file YAML berikut. Pastikan untuk memperbarui nilai yang sesuai:
#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
Buat koneksi dari file YAML dengan kredensial Anda:
az ml connection create --file connection.yaml --credentials username=<username> password=<password> --resource-group my-resource-group --workspace-name my-workspace
Membuat lingkungan
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
Anda dapat memverifikasi bahwa lingkungan berhasil dibuat
az ml environment show --name my-env --version 1 --resource-group my-resource-group --workspace-name my-workspace
Konten terkait
Jika Anda menggunakan koneksi data (Snowflake DB, Amazon S3, atau Azure SQL DB), artikel ini menawarkan informasi selengkapnya: