Sdílet prostřednictvím


Použití privátních balíčků Pythonu se službou Azure Machine Learning

PLATÍ PRO: Python SDK azureml v1

V tomto článku se dozvíte, jak bezpečně používat privátní balíčky Pythonu ve službě Azure Machine Learning. Mezi případy použití privátních balíčků Pythonu patří:

  • Vyvinuli jste soukromý balíček, který nechcete sdílet veřejně.
  • Chcete použít kurátorované úložiště balíčků uložených v podnikové bráně firewall.

Doporučený přístup závisí na tom, jestli máte několik balíčků pro jeden pracovní prostor Služby Azure Machine Learning nebo celé úložiště balíčků pro všechny pracovní prostory v organizaci.

Privátní balíčky se používají prostřednictvím třídy Environment . V rámci prostředí deklarujete, které balíčky Pythonu se mají použít, včetně privátních balíčků. Obecné informace o prostředí ve službě Azure Machine Learning najdete v tématu Použití prostředí.

Požadavky

Použití malého počtu balíčků pro vývoj a testování

Pro několik privátních balíčků pro jeden pracovní prostor použijte statickou Environment.add_private_pip_wheel() metodu. Tento přístup umožňuje rychle přidat privátní balíček do pracovního prostoru a je vhodný pro účely vývoje a testování.

Nasměrujte argument cesty k souboru místního kola a spusťte add_private_pip_wheel příkaz. Příkaz vrátí adresu URL použitou ke sledování umístění balíčku v pracovním prostoru. Zachyťte adresu URL úložiště a předejte jí metodu add_pip_package() .

whl_url = Environment.add_private_pip_wheel(workspace=ws,file_path = "my-custom.whl")
myenv = Environment(name="myenv")
conda_dep = CondaDependencies()
conda_dep.add_pip_package(whl_url)
myenv.python.conda_dependencies=conda_dep

Služba Azure Machine Learning interně nahradí adresu URL zabezpečenou adresou URL SAS, takže soubor kola zůstane soukromý a zabezpečený.

Použití úložiště balíčků z informačního kanálu Azure DevOps

Pokud aktivně vyvíjíte balíčky Pythonu pro vaši aplikaci strojového učení, můžete je hostovat v úložišti Azure DevOps jako artefakty a publikovat je jako informační kanál. Tento přístup umožňuje integrovat pracovní postup DevOps pro vytváření balíčků s pracovním prostorem Azure Machine Learning. Informace o nastavení informačních kanálů Pythonu pomocí Azure DevOps najdete v tématu Začínáme s balíčky Pythonu v Azure Artifacts.

Tento přístup používá k ověření v úložišti osobní přístupový token. Stejný přístup platí i pro jiná úložiště s ověřováním na základě tokenů, jako jsou privátní úložiště GitHubu.

  1. Vytvořte osobní přístupový token (PAT) pro vaši instanci Azure DevOps. Nastavte obor tokenu na Balení > čtení.

  2. Přidejte adresu URL Azure DevOps a PAT jako vlastnosti pracovního prostoru pomocí metody Workspace.set_connection .

    from azureml.core import Workspace
    
    pat_token = input("Enter secret token")
    ws = Workspace.from_config()
    ws.set_connection(name="connection-1", 
       category = "PythonFeed",
       target = "https://pkgs.dev.azure.com/<MY-ORG>", 
       authType = "PAT", 
       value = pat_token) 
    
  3. Vytvořte prostředí Azure Machine Learning a přidejte balíčky Pythonu z informačního kanálu.

    from azureml.core import Environment
    from azureml.core.conda_dependencies import CondaDependencies
    
    env = Environment(name="my-env")
    cd = CondaDependencies()
    cd.add_pip_package("<my-package>")
    cd.set_pip_option("--extra-index-url https://pkgs.dev.azure.com/<MY-ORG>/_packaging/<MY-FEED>/pypi/simple")")
    env.python.conda_dependencies=cd
    

Prostředí je teď připravené k použití při trénovacích spuštěních nebo nasazeních koncových bodů webové služby. Při sestavování prostředí služba Azure Machine Learning používá pat k ověření v informačním kanálu s odpovídající základní adresou URL.

Použití úložiště balíčků z privátního úložiště

Balíčky můžete využívat z účtu úložiště Azure v rámci brány firewall vaší organizace. Účet úložiště může obsahovat kurátorované sady balíčků nebo interní zrcadlo veřejně dostupných balíčků.

Informace o nastavení takového privátního úložiště najdete v tématu Zabezpečení pracovního prostoru Služby Azure Machine Learning a přidružených prostředků. Službu Azure Container Registry (ACR) musíte také umístit za virtuální síť.

Důležité

Abyste mohli trénovat nebo nasazovat modely pomocí úložiště privátních balíčků, musíte tento krok dokončit.

Po dokončení těchto konfigurací můžete odkazovat na balíčky v definici prostředí Azure Machine Learning jejich úplnou adresou URL ve službě Azure Blob Storage.

Další kroky