Sdílet prostřednictvím


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

PLATÍ PRO:Sada 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 privátní 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 Azure Machine Learning, nebo celé úložiště balíčků pro všechny pracovní prostory v rámci organizace.

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ě těch soukromých. Obecné informace o prostředí ve službě Azure Machine Learning najdete v tématu Používání prostředí.

Požadavky

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

Pro malý počet 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 do pracovního prostoru privátní balíček a je vhodný pro účely vývoje a testování.

Nasměrujte argument cesty k souboru na místní soubor kolečka add_private_pip_wheel a spusťte příkaz . Příkaz vrátí adresu URL, která slouží ke sledování umístění balíčku v rámci pracovního 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 nahrazuje adresu URL zabezpečenou adresou URL SAS, takže soubor wheel 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 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 sestavování 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ůči ú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ě GitHub.

  1. Vytvořte token PAT pro instanci Azure DevOps. Nastavte obor tokenu na Čtení balíčků>.

  2. Přidejte adresu URL Azure DevOps a token 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í v trénovacích spuštěních nebo nasazeních koncových bodů webové služby. Při vytváření prostředí služba Azure Machine Learning používá token PAT k ověření vůči informačnímu 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 z účtu úložiště Azure můžete využívat v rámci brány firewall vaší organizace. Účet úložiště může obsahovat kurátorované sady balíčků nebo interní zrcadlení veřejně dostupných balíčků.

Pokud chcete takové privátní úložiště nastavit, přečtěte si téma Zabezpečení pracovního prostoru služby Azure Machine Learning a přidružených prostředků. Musíte také umístit Azure Container Registry (ACR) za virtuální síť.

Důležité

Tento krok musíte provést, abyste mohli trénovat nebo nasazovat modely pomocí úložiště privátních balíčků.

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

Další kroky