

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Archivi Git con istanze SageMaker AI Notebook
<a name="nbi-git-repo"></a>

Associa i repository Git all'istanza del notebook per salvare i notebook in un ambiente di controllo dell'origine che persiste anche se l'istanza del notebook viene arrestata o eliminata. Puoi associare un repository predefinito e fino a tre repository aggiuntivi a un'istanza del notebook. I repository possono essere ospitati in AWS CodeCommit o su qualsiasi altro server Git. GitHub L'associazione di repository Git all'istanza del notebook può essere utile per:
+ Persistenza: i notebook in un'istanza del notebook vengono archiviati su volumi Amazon EBS durevoli, ma non persistono oltre la durata dell'istanza del notebook. L'archiviazione di notebook in un repository Git consente di archiviare e utilizzare notebook anche se l'istanza del notebook viene arrestata o eliminata.
+ Collaborazione: i colleghi in un team lavorano spesso insieme su progetti di machine learning. L'archiviazione di notebook in repository Git permette ai colleghi che lavorano su istanze del notebook diverse di condividere notebook e collaborare su di essi in un ambiente con controllo dell'origine.
+ Apprendimento: molti notebook Jupyter che dimostrano le tecniche di machine learning sono disponibili in repository Git ospitati pubblicamente, come on. GitHub Puoi associare l'istanza del notebook a un repository per caricare facilmente notebook Jupyter contenuti in tale repository.

Sono disponibili due modi per associare un repository Git a un'istanza del notebook:
+ Aggiungi un repository Git come risorsa nel tuo account Amazon SageMaker AI. Quindi, per accedere al repository, puoi specificare un segreto di AWS Secrets Manager che contenga le credenziali. In questo modo, puoi accedere ai repository che richiedono l'autenticazione.
+ Associazione di un repository Git pubblico che non è una risorsa nell'account. In questo caso, non puoi specificare credenziali per accedere al repository.

**Topics**
+ [Aggiungi un repository Git al tuo account Amazon SageMaker AI](nbi-git-resource.md)
+ [Creazione di un'istanza del notebook con un repository Git associato](nbi-git-create.md)
+ [Associate un CodeCommit repository in un AWS account diverso a un'istanza di Notebook](nbi-git-cross.md)
+ [Utilizzo di repository Git in un'istanza del notebook](git-nbi-use.md)

# Aggiungi un repository Git al tuo account Amazon SageMaker AI
<a name="nbi-git-resource"></a>

**Importante**  
Le politiche IAM personalizzate che consentono ad Amazon SageMaker Studio o Amazon SageMaker Studio Classic di creare SageMaker risorse Amazon devono inoltre concedere le autorizzazioni per aggiungere tag a tali risorse. L’autorizzazione per aggiungere tag alle risorse è necessaria perché Studio e Studio Classic applicano automaticamente tag a tutte le risorse che creano. Se una policy IAM consente a Studio e Studio Classic di creare risorse ma non consente l'etichettatura, possono verificarsi errori AccessDenied "" durante il tentativo di creare risorse. Per ulteriori informazioni, consulta [Fornisci le autorizzazioni per etichettare SageMaker le risorse AI](security_iam_id-based-policy-examples.md#grant-tagging-permissions).  
[AWS politiche gestite per Amazon SageMaker AI](security-iam-awsmanpol.md)che danno i permessi per creare SageMaker risorse includono già le autorizzazioni per aggiungere tag durante la creazione di tali risorse.

Per gestire i tuoi GitHub repository, associarli facilmente alle istanze del tuo notebook e associare le credenziali per i repository che richiedono l'autenticazione, aggiungi i repository come risorse nel tuo account Amazon AI. SageMaker Puoi visualizzare un elenco di repository archiviati nel tuo account e i dettagli su ciascun repository nella console SageMaker AI e utilizzando l'API.

Puoi aggiungere repository Git al tuo account SageMaker AI nella console SageMaker AI o utilizzando il AWS CLI.

**Nota**  
Puoi usare l' SageMaker API AI [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCodeRepository.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCodeRepository.html)per aggiungere repository Git al tuo account SageMaker AI, ma step-by-step le istruzioni non sono fornite qui.

## Aggiungi un repository Git al tuo account SageMaker AI (Console)
<a name="nbi-git-resource-console"></a>

**Per aggiungere un repository Git come risorsa nel tuo account SageMaker AI**

1. Apri la console SageMaker AI all'indirizzo [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Scegli **Notebook**, scegli **Repository Git**, quindi seleziona **Aggiungi repository**.

1. Per aggiungere un CodeCommit repository, scegli **AWS CodeCommit**. Per aggiungere uno GitHub o un altro repository basato su Git, scegli **GitHub/Altro** repository basato su Git.

**Per aggiungere un repository esistente CodeCommit**

1. Scegli **Utilizza repository esistente**.

1. Per **Repository**, scegli un repository dall'elenco.

1. Inserisci un nome da utilizzare per il repository in SageMaker AI. Il nome deve essere composto da 1 a 63 caratteri. I caratteri validi sono a–z, A-Z, 0–9 e - (trattino).

1. Scegli **Aggiungi repository**.

**Per creare un nuovo repository CodeCommit**

1. Scegli **Crea un nuovo repository**.

1. Inserisci un nome per il repository che puoi usare sia CodeCommit in AI che in AI. SageMaker Il nome deve essere composto da 1 a 63 caratteri. I caratteri validi sono a–z, A-Z, 0–9 e - (trattino).

1. Scegli **Create repository (Crea repository)**.

**Per aggiungere un repository Git ospitato in un posto diverso da CodeCommit**

1. Scegli **GitHub/Altro repository basato su Git.**

1. Immetti un nome fino a 63 caratteri. I caratteri validi includono caratteri alfanumerici, un trattino (-) e 0-9.

1. Immetti l'URL per il repository. Non fornire un nome utente nell'URL. Aggiungi le credenziali di accesso Gestione dei segreti AWS come descritto nel passaggio successivo.

1. Per **Credenziali Git**, scegli le credenziali da utilizzare per l'autenticazione nel repository. Questa operazione è necessaria solo se il repository Git è privato.
**Nota**  
Se per il repository Git è abilitata l'autenticazione a due fattori, inserisci un token di accesso personale generato dal fornitore di servizi Git nel campo `password`.

   1. Per utilizzare un segreto esistente di AWS Secrets Manager, scegli **Usa segreto esistente**, quindi scegli un segreto dall'elenco. Per ulteriori informazioni sulla creazione e l'archiviazione di un bucket, consulta [Creating a basic secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html) nella *Guida per l'utente di AWS Secrets Manager*. Il nome del segreto utilizzato deve contenere la stringa `sagemaker`.
**Nota**  
Il segreto deve avere un'etichetta di gestione temporanea di `AWSCURRENT` e deve avere il formato seguente:  
`{"username": UserName, "password": Password}`  
Per i GitHub repository, consigliamo di utilizzare un token di accesso personale sul `password` campo. Per informazioni, vedere [https://help.github.com/articles/creating-a-personal-access- token-for-the-command -line/](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/).

   1. Per creare un nuovo segreto di AWS Secrets Manager, scegli **Crea segreto**, inserisci un nome per il segreto, quindi inserisci le credenziali di accesso da utilizzare per l'autenticazione nel repository. Il nome per il segreto deve contenere la stringa `sagemaker`.
**Nota**  
Il ruolo IAM utilizzato per creare il segreto deve disporre dell'autorizzazione `secretsmanager:GetSecretValue` nella sua policy IAM.  
Il segreto deve avere un'etichetta di gestione temporanea di `AWSCURRENT` e deve avere il formato seguente:  
`{"username": UserName, "password": Password}`  
Per i GitHub repository, consigliamo di utilizzare un token di accesso personale.

   1. Per non utilizzare le credenziali, scegli **Nessun segreto**.

1. Scegli **Crea segreto**.

# Aggiungi un repository Git al tuo account Amazon SageMaker AI (CLI)
<a name="nbi-git-resource-cli"></a>

**Importante**  
Le politiche IAM personalizzate che consentono ad Amazon SageMaker Studio o Amazon SageMaker Studio Classic di creare SageMaker risorse Amazon devono inoltre concedere le autorizzazioni per aggiungere tag a tali risorse. L’autorizzazione per aggiungere tag alle risorse è necessaria perché Studio e Studio Classic applicano automaticamente tag a tutte le risorse che creano. Se una policy IAM consente a Studio e Studio Classic di creare risorse ma non consente l'etichettatura, possono verificarsi errori AccessDenied "" durante il tentativo di creare risorse. Per ulteriori informazioni, consulta [Fornisci le autorizzazioni per etichettare SageMaker le risorse AI](security_iam_id-based-policy-examples.md#grant-tagging-permissions).  
[AWS politiche gestite per Amazon SageMaker AI](security-iam-awsmanpol.md)che danno i permessi per creare SageMaker risorse includono già le autorizzazioni per aggiungere tag durante la creazione di tali risorse.

Usa il `create-code-repository` AWS CLI comando per aggiungere un repository Git ad Amazon SageMaker AI per consentire agli utenti di accedere a risorse esterne. Specifica un nome per il repository come il valore dell'argomento `code-repository-name`. Il nome deve essere composto da 1 a 63 caratteri. I caratteri validi sono a–z, A-Z, 0–9 e - (trattino). Specifica inoltre le impostazioni seguenti:
+ Il ramo predefinito
+ L'URL del repository Git
**Nota**  
Non fornire un nome utente nell'URL. Aggiungi le credenziali di accesso Gestione dei segreti AWS come descritto nel passaggio successivo.
+ L'Amazon Resource Name (ARN) di un segreto di AWS Secrets Manager che contiene le credenziali da utilizzare per autenticare il repository come valore dell'argomento `git-config`

Per ulteriori informazioni sulla creazione e l'archiviazione di un bucket, consulta [Creating a basic secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html) nella *Guida per l'utente di AWS Secrets Manager*. Il comando seguente crea un nuovo repository denominato `MyRespository` nel tuo account Amazon SageMaker AI che punta a un repository Git ospitato su. `https://github.com/myprofile/my-repo"`

Per Linux, OS X o Unix:

```
aws sagemaker create-code-repository \
                    --code-repository-name "MyRepository" \
                    --git-config Branch=branch,RepositoryUrl=https://github.com/myprofile/my-repo,SecretArn=arn:aws:secretsmanager:us-east-2:012345678901:secret:my-secret-ABc0DE
```

Per Windows:

```
aws sagemaker create-code-repository ^
                    --code-repository-name "MyRepository" ^
                    --git-config "{\"Branch\":\"master\", \"RepositoryUrl\" :
                    \"https://github.com/myprofile/my-repo\", \"SecretArn\" : \"arn:aws:secretsmanager:us-east-2:012345678901:secret:my-secret-ABc0DE\"}"
```

**Nota**  
Il segreto deve avere un'etichetta di gestione temporanea di `AWSCURRENT` e deve avere il formato seguente:  
`{"username": UserName, "password": Password}`  
Per i GitHub repository, consigliamo di utilizzare un token di accesso personale.

# Creazione di un'istanza del notebook con un repository Git associato
<a name="nbi-git-create"></a>

**Importante**  
Le politiche IAM personalizzate che consentono ad Amazon SageMaker Studio o Amazon SageMaker Studio Classic di creare SageMaker risorse Amazon devono inoltre concedere le autorizzazioni per aggiungere tag a tali risorse. L’autorizzazione per aggiungere tag alle risorse è necessaria perché Studio e Studio Classic applicano automaticamente tag a tutte le risorse che creano. Se una policy IAM consente a Studio e Studio Classic di creare risorse ma non consente l'etichettatura, possono verificarsi errori AccessDenied "" durante il tentativo di creare risorse. Per ulteriori informazioni, consulta [Fornisci le autorizzazioni per etichettare SageMaker le risorse AI](security_iam_id-based-policy-examples.md#grant-tagging-permissions).  
[AWS politiche gestite per Amazon SageMaker AI](security-iam-awsmanpol.md)che danno i permessi per creare SageMaker risorse includono già le autorizzazioni per aggiungere tag durante la creazione di tali risorse.

È possibile associare i repository Git a un'istanza di notebook quando si crea l'istanza del notebook utilizzando Console di gestione AWS, o il AWS CLI. Se desideri utilizzare un CodeCommit repository che si trova in un AWS account diverso rispetto all'istanza del notebook, configura l'accesso tra account per il repository. Per informazioni, consulta [Associate un CodeCommit repository in un AWS account diverso a un'istanza di Notebook](nbi-git-cross.md).

**Topics**
+ [Creazione di un'istanza del notebook con un repository Git associato (console)](#nbi-git-create-console)
+ [Creazione di un'istanza del notebook con un repository Git associato (CLI)](nbi-git-create-cli.md)

## Creazione di un'istanza del notebook con un repository Git associato (console)
<a name="nbi-git-create-console"></a>

**Per creare un'istanza notebook e associare repository Git nella console Amazon SageMaker AI**

1. Segui le istruzioni riportate in [Crea un'istanza Amazon SageMaker Notebook per il tutorial](gs-setup-working-env.md).

1. Per **Repository Git**, scegli i repository Git da associare all'istanza del notebook.

   1. Per **Deposito predefinito**, scegli un repository che desideri utilizzare come repository predefinito. SageMaker AI clona questo repository come sottodirectory nella directory di avvio di Jupyter in. `/home/ec2-user/SageMaker` L'istanza del notebook viene aperta in questo repository. Per scegliere un repository che viene archiviato come una risorsa nell'account, scegli il nome dall'elenco. Per aggiungere un nuovo repository come risorsa nel tuo account, scegli **Aggiungi un repository all' SageMaker AI (apre il flusso Aggiungi repository in una nuova finestra) e segui le istruzioni in**. [Creazione di un'istanza del notebook con un repository Git associato (console)](#nbi-git-create-console) Per clonare un repository pubblico che non è archiviato nell'account, scegli **Clona un repository Git pubblico solo in questa istanza del notebook**, quindi specifica l'URL per tale repository.

   1. Per **Archivio aggiuntivo 1**, scegli un repository che desideri aggiungere come directory aggiuntiva. SageMaker AI clona questo repository come sottodirectory nella directory di avvio di Jupyter in. `/home/ec2-user/SageMaker` Per scegliere un repository che viene archiviato come una risorsa nell'account, scegli il nome dall'elenco. Per aggiungere un nuovo repository come risorsa nel tuo account, scegli **Aggiungi un repository all' SageMaker AI (apre il flusso Aggiungi repository in una nuova finestra) e segui le istruzioni in**. [Creazione di un'istanza del notebook con un repository Git associato (console)](#nbi-git-create-console) Per clonare un repository che non è archiviato nell'account, scegli **Clona un repository Git pubblico solo in questa istanza del notebook**, quindi specifica l'URL per tale repository.

      Ripeti questa fase fino a tre volte per aggiungere fino a tre repository aggiuntivi all'istanza del notebook.

# Creazione di un'istanza del notebook con un repository Git associato (CLI)
<a name="nbi-git-create-cli"></a>

**Importante**  
Le politiche IAM personalizzate che consentono ad Amazon SageMaker Studio o Amazon SageMaker Studio Classic di creare SageMaker risorse Amazon devono inoltre concedere le autorizzazioni per aggiungere tag a tali risorse. L’autorizzazione per aggiungere tag alle risorse è necessaria perché Studio e Studio Classic applicano automaticamente tag a tutte le risorse che creano. Se una policy IAM consente a Studio e Studio Classic di creare risorse ma non consente l'etichettatura, possono verificarsi errori AccessDenied "" durante il tentativo di creare risorse. Per ulteriori informazioni, consulta [Fornisci le autorizzazioni per etichettare SageMaker le risorse AI](security_iam_id-based-policy-examples.md#grant-tagging-permissions).  
[AWS politiche gestite per Amazon SageMaker AI](security-iam-awsmanpol.md)che danno i permessi per creare SageMaker risorse includono già le autorizzazioni per aggiungere tag durante la creazione di tali risorse.

Per creare un'istanza del notebook e associare repository Git utilizzando AWS CLI, utilizza il comando `create-notebook-instance` come segue:
+ Specifica il repository che desideri utilizzare come repository predefinito come valore dell'argomento `default-code-repository`. Amazon SageMaker AI clona questo repository come sottodirectory nella directory di avvio di Jupyter all'indirizzo. `/home/ec2-user/SageMaker` L'istanza del notebook viene aperta in questo repository. Per utilizzare un repository archiviato come risorsa nel tuo account SageMaker AI, specifica il nome del repository come valore dell'argomento. `default-code-repository` Per utilizzare un repository che non è archiviato nell'account , specifica l'URL del repository come il valore dell'argomento `default-code-repository`.
+ Specificate fino a tre repository aggiuntivi come valore dell'argomento. `additional-code-repositories` SageMaker AI clona questo repository come sottodirectory nella directory di avvio di Jupyter in `/home/ec2-user/SageMaker` e il repository viene escluso dal repository predefinito aggiungendolo alla directory del repository predefinito. `.git/info/exclude` Per utilizzare i repository archiviati come risorse nel tuo account SageMaker AI, specifica i nomi dei repository come valore dell'argomento. `additional-code-repositories` Per utilizzare i repository che non sono archiviati nel tuo account, specifica i URLs repository come valore dell'argomento. `additional-code-repositories`

Ad esempio, il comando seguente crea un'istanza di notebook con un repository denominato`MyGitRepo`, archiviato come risorsa nel tuo account SageMaker AI, come repository predefinito e un repository aggiuntivo ospitato su: GitHub

```
aws sagemaker create-notebook-instance \
                    --notebook-instance-name "MyNotebookInstance" \
                    --instance-type "ml.t2.medium" \
                    --role-arn "arn:aws:iam::012345678901:role/service-role/AmazonSageMaker-ExecutionRole-20181129T121390" \
                    --default-code-repository "MyGitRepo" \
                    --additional-code-repositories "https://github.com/myprofile/my-other-repo"
```

**Nota**  
Se utilizzi un AWS CodeCommit repository che non contiene "SageMaker" nel nome, aggiungi le `codecommit:GitPush` autorizzazioni `codecommit:GitPull` e al ruolo che passi come argomento al `role-arn` comando. `create-notebook-instance` Per informazioni su come aggiungere autorizzazioni a un ruolo, consulta [Adding and Removing IAM Policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) nella *AWS Identity and Access Management Guida per l'utente*. 

# Associate un CodeCommit repository in un AWS account diverso a un'istanza di Notebook
<a name="nbi-git-cross"></a>

Per associare un CodeCommit repository in un AWS account diverso all'istanza del notebook, configura l'accesso tra account diversi per il repository. CodeCommit 

**Per configurare l'accesso tra più account per un CodeCommit repository e associarlo a un'istanza di notebook:**

1. Nell' AWS account che contiene il CodeCommit repository, crea una policy IAM che consenta l'accesso al repository agli utenti dell'account che contiene l'istanza del notebook. Per informazioni, consultare la [Fase 1: creare una policy per l'accesso al repository nell'AccountA](https://docs.aws.amazon.com/codecommit/latest/userguide/cross-account-administrator-a.html#cross-account-create-policy-a) nella *Guida per l'utente di CodeCommit *.

1. Nell' AWS account che contiene il CodeCommit repository, crea un ruolo IAM e collega a quel ruolo la policy creata nel passaggio precedente. Per informazioni, consultare la [Fase 2: creare un ruolo per l'accesso al repository nell'AccountA](https://docs.aws.amazon.com/codecommit/latest/userguide/cross-account-administrator-a.html#cross-account-create-role-a) nella *Guida per l'utente di CodeCommit *.

1. Nell'istanza del notebook, crea un profilo che usa il ruolo creato nella fase precedente:

   1. Apri l'istanza del notebook.

   1. Apri un terminale nell'istanza del notebook.

   1. Modifica un nuovo profilo digitando il seguente comando nel terminale:

      ```
      vi /home/ec2-user/.aws/config
      ```

   1. Modifica il file con le seguenti informazioni di profilo:

      ```
      [profile CrossAccountAccessProfile]
      region = us-west-2
      role_arn = arn:aws:iam::CodeCommitAccount:role/CrossAccountRepositoryContributorRole
      credential_source=Ec2InstanceMetadata
      output = json
      ```

      *CodeCommitAccount*Dov'è l'account che contiene l' CodeCommit archivio, *CrossAccountAccessProfile* è il nome del nuovo profilo e *CrossAccountRepositoryContributorRole* il nome del ruolo che hai creato nel passaggio precedente.

1. Nell'istanza del notebook, configura Git in modo che usi il profilo creato nella fase precedente:

   1. Apri l'istanza del notebook.

   1. Apri un terminale nell'istanza del notebook.

   1. Modifica il file di configurazione Git digitando il seguente comando nel terminale:

      ```
      vi /home/ec2-user/.gitconfig
      ```

   1. Modifica il file con le seguenti informazioni di profilo:

      ```
      [credential]
              helper = !aws codecommit credential-helper --profile CrossAccountAccessProfile $@
              UseHttpPath = true
      ```

      *CrossAccountAccessProfile*Dov'è il nome del profilo che hai creato nel passaggio precedente.

# Utilizzo di repository Git in un'istanza del notebook
<a name="git-nbi-use"></a>

Quando apri un'istanza del notebook cui sono associati repository Git, questa viene aperta nel repository predefinito, il quale è installato nell'istanza del notebook direttamente in `/home/ec2-user/SageMaker`. Puoi aprire e creare notebook ed eseguire manualmente comandi Git in un cella di notebook. Esempio:

```
!git pull origin master
```

Per aprire uno dei repository aggiuntivi, passa alla cartella superiore nella gerarchia. I repository aggiuntivi vengono anche installati come directory in `/home/ec2-user/SageMaker`.

Se apri l'istanza del notebook con un' JupyterLab interfaccia, l'estensione jupyter-git viene installata e disponibile per l'uso. [Per informazioni sull'estensione jupyter-git per, vedi jupyterlab-git. JupyterLab https://github.com/jupyterlab/](https://github.com/jupyterlab/jupyterlab-git)

Quando apri un'istanza di notebook in JupyterLab, vedi i repository git ad essa associati nel menu a sinistra:

![\[Esempio di browser di file in JupyterLab.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/git-notebook.png)


Puoi utilizzare l'estensione jupyter-git per gestire git visivamente, anziché utilizzare la riga di comando:

![\[Esempio dell'estensione jupyter-git in. JupyterLab\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/jupyterlab-git.png)
