

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Référentiel privé pour les dépendances d’exécution
<a name="train-remote-decorator-private"></a>

Vous pouvez utiliser des commandes ou des scripts de pré-exécution pour configurer un gestionnaire de dépendances tel que pip ou conda dans votre environnement de tâche. Pour isoler le réseau, utilisez l’une de ces options pour rediriger vos gestionnaires de dépendances afin qu’ils accèdent à vos référentiels privés et exécutent des fonctions distantes au sein d’un VPC. Les commandes ou le script de pré-exécution seront exécutés avant l’exécution de votre fonction distante. Vous pouvez les définir à l’aide du décorateur @remote, de l’API `RemoteExecutor` ou dans un fichier de configuration.

Les sections suivantes vous montrent comment accéder à un dépôt privé Python Package Index (PyPI) géré avec. AWS CodeArtifact Les sections montrent également comment accéder à un canal conda personnalisé hébergé sur Amazon Simple Storage Service (Amazon S3).

## Comment utiliser un dépôt PyPI personnalisé géré avec AWS CodeArtifact
<a name="train-remote-decorator-private-pypi"></a>

 CodeArtifact Pour gérer un référentiel PyPI personnalisé, les conditions préalables suivantes sont requises :
+ Votre dépôt privé PyPI doit déjà avoir été créé. Vous pouvez l'utiliser AWS CodeArtifact pour créer et gérer vos référentiels de packages privés. Pour en savoir plus CodeArtifact, consultez le [guide de CodeArtifact l'utilisateur](https://docs.aws.amazon.com/codeartifact/latest/ug/welcome.html).
+ Votre VPC doit avoir accès à votre CodeArtifact référentiel. Pour autoriser une connexion entre votre VPC et votre CodeArtifact référentiel, vous devez effectuer les opérations suivantes :
  + [Créez des points de terminaison VPC](https://docs.aws.amazon.com/codeartifact/latest/ug/create-vpc-endpoints.html) pour. CodeArtifact
  + [Créez un point de terminaison de passerelle Amazon S3](https://docs.aws.amazon.com/codeartifact/latest/ug/create-s3-gateway-endpoint.html) pour votre VPC, qui permet de stocker CodeArtifact les actifs du package.

L'exemple de commande de pré-exécution suivant montre comment configurer pip dans le job d'entraînement SageMaker AI pour qu'il pointe vers votre CodeArtifact référentiel. Pour plus d'informations, consultez [Configurer et utiliser pip avec CodeArtifact](https://docs.aws.amazon.com/codeartifact/latest/ug/python-configure-pip.html).

```
# use a requirements.txt file to import dependencies
@remote(
    instance_type="ml.m5.large"
    image_uri = "my_base_python:latest", 
    dependencies = './requirements.txt',
    pre_execution_commands=[
        "aws codeartifact login --tool pip --domain my-org --domain-owner <000000000000> --repository my-codeartifact-python-repo --endpoint-url https://vpce-xxxxx.api.codeartifact.us-east-1.vpce.amazonaws.com"
    ]
)
def matrix_multiply(a, b):
    return np.matmul(a, b)
```

## Comment utiliser un canal conda personnalisé hébergé sur Amazon S3
<a name="train-remote-decorator-private-conda"></a>

Pour utiliser Amazon S3 afin de gérer un référentiel conda personnalisé, les conditions préalables suivantes sont requises :
+ Votre canal conda privé doit déjà être configuré dans votre compartiment Amazon S3 et tous les packages dépendants doivent être indexés et chargés dans votre compartiment Amazon S3. Pour obtenir des instructions sur la façon d’indexer vos packages conda, consultez [Création de chaînes personnalisées](https://conda.io/projects/conda/en/latest/user-guide/tasks/create-custom-channels.html).
+ Votre VPC doit avoir accès au compartiment Amazon S3. Pour plus d’informations, consultez [Points de terminaison pour Amazon S3](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html).
+ L’environnement conda de base de votre image de tâche doit avoir `boto3` installé. Pour vérifier votre environnement, entrez ce qui suit dans votre invite Anaconda pour vérifier que `boto3` apparaît dans la liste générée.

  ```
  conda list -n base
  ```
+ Votre image de tâche doit être installée avec conda, pas avec [mamba](https://mamba.readthedocs.io/en/latest/installation.html). Pour vérifier votre environnement, assurez-vous que l’invite de code précédente ne renvoie pas `mamba`.

L'exemple de commandes de pré-exécution suivant montre comment configurer conda lors de la tâche d' SageMaker entraînement pour qu'il pointe vers votre canal privé sur Amazon S3. Les commandes de pré-exécution suppriment le canal par défaut et ajoutent des canaux personnalisés à un `.condarc` fichier de configuration conda.

```
# specify your dependencies inside a conda yaml file
@remote(
    instance_type="ml.m5.large"
    image_uri = "my_base_python:latest", 
    dependencies = "./environment.yml",
    pre_execution_commands=[
        "conda config --remove channels 'defaults'"
        "conda config --add channels 's3://my_bucket/my-conda-repository/conda-forge/'",
        "conda config --add channels 's3://my_bucket/my-conda-repository/main/'"
    ]
)
def matrix_multiply(a, b):
    return np.matmul(a, b)
```