

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Repositórios Git com SageMaker instâncias do AI Notebook
<a name="nbi-git-repo"></a>

Associe repositórios Git à sua instância de caderno para salvar seus cadernos em um ambiente de controle de fonte que persista mesmo se você parar ou excluir sua instância de caderno. Você pode associar um repositório padrão e até três repositórios adicionais a uma instância de caderno. Os repositórios podem ser hospedados em AWS CodeCommit GitHub, ou em qualquer outro servidor Git. Associar repositórios Git à sua instância de caderno pode ser útil para:
+ Persistência: os cadernos em uma instância de caderno são armazenados em volumes do Amazon EBS duráveis, mas não persistem além da duração da sua instância de caderno. Armazenar cadernos em um repositório Git permite armazenar e usar cadernos mesmo se você parar ou excluir sua instância de caderno.
+ Colaboração - Os membros de uma equipe geralmente trabalham juntos em projetos de machine learning. Armazenar seus cadernos em repositórios Git permite que os membros que trabalham em diferentes instâncias do caderno compartilhem cadernos e colaborem com eles em um ambiente de controle de origem.
+ Aprendizado - Muitos notebooks Jupyter que demonstram técnicas de aprendizado de máquina estão disponíveis em repositórios Git hospedados publicamente, como on. GitHub Você pode associar sua instância de caderno a um repositório para carregar facilmente os cadernos Jupyter contidos nesse repositório.

Existem duas maneiras de associar um repositório Git a uma instância de caderno:
+ Adicione um repositório Git como um recurso na sua conta Amazon SageMaker AI. Em seguida, para acessar o repositório, você pode especificar um segredo do AWS Secrets Manager que contenha credenciais. Dessa forma, você pode acessar repositórios que exigem autenticação.
+ Associe um repositório Git público que não seja um recurso na sua conta. Se você fizer isso, não poderá especificar credenciais para acessar o repositório.

**Topics**
+ [Adicione um repositório Git à sua conta Amazon AI SageMaker](nbi-git-resource.md)
+ [Criar uma instância de Caderno com um repositório Git associado](nbi-git-create.md)
+ [Associar um CodeCommit repositório em uma AWS conta diferente a uma instância do Notebook](nbi-git-cross.md)
+ [Usar repositórios Git em uma instância de caderno](git-nbi-use.md)

# Adicione um repositório Git à sua conta Amazon AI SageMaker
<a name="nbi-git-resource"></a>

**Importante**  
Políticas personalizadas do IAM que permitem que o Amazon SageMaker SageMaker Studio ou o Amazon Studio Classic criem SageMaker recursos da Amazon também devem conceder permissões para adicionar tags a esses recursos. A permissão para adicionar tags aos recursos é necessária porque o Studio e o Studio Classic marcam automaticamente todos os recursos que eles criam. Se uma política do IAM permitir que o Studio e o Studio Classic criem recursos, mas não permitisse a marcação, erros AccessDenied "" podem ocorrer ao tentar criar recursos. Para obter mais informações, consulte [Forneça permissões para marcar recursos de SageMaker IA](security_iam_id-based-policy-examples.md#grant-tagging-permissions).  
[AWS políticas gerenciadas para Amazon SageMaker AI](security-iam-awsmanpol.md)que dão permissões para criar SageMaker recursos já incluem permissões para adicionar tags ao criar esses recursos.

Para gerenciar seus GitHub repositórios, associá-los facilmente às instâncias do seu notebook e associar credenciais a repositórios que exigem autenticação, adicione os repositórios como recursos em sua conta Amazon AI. SageMaker Você pode ver uma lista de repositórios armazenados em sua conta e detalhes sobre cada repositório no console de SageMaker IA e usando a API.

Você pode adicionar repositórios Git à sua conta de SageMaker IA no console de SageMaker IA ou usando o. AWS CLI

**nota**  
Você pode usar a API de SageMaker IA [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCodeRepository.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCodeRepository.html)para adicionar repositórios Git à sua conta de SageMaker IA, mas step-by-step as instruções não são fornecidas aqui.

## Adicione um repositório Git à sua conta de SageMaker IA (console)
<a name="nbi-git-resource-console"></a>

**Para adicionar um repositório Git como um recurso em sua conta de IA SageMaker**

1. Abra o console de SageMaker IA em [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Em **Caderno**, escolha **Repositórios Git**, depois escolha **Adicionar repositório**.

1. Para adicionar um CodeCommit repositório, escolha **AWS CodeCommit**. Para adicionar um GitHub ou outro repositório baseado em Git, escolha **GitHub/Outro** repositório baseado em Git.

**Para adicionar um CodeCommit repositório existente**

1. Escolha **Usar repositório existente**.

1. Em **Repositório**, escolha um repositório na lista.

1. Insira um nome para usar para o repositório no SageMaker AI. O nome deve ter de 1 a 63 caracteres. Os caracteres válidos são a-z, A-Z, 0-9 e hífen (-).

1. Escolha **Adicionar repositório**.

**Para criar um novo CodeCommit repositório**

1. Escolha **Criar novo repositório**.

1. Insira um nome para o repositório que você pode usar tanto no AI CodeCommit quanto no SageMaker AI. O nome deve ter de 1 a 63 caracteres. Os caracteres válidos são a-z, A-Z, 0-9 e hífen (-).

1. Escolha **Criar repositório**.

**Para adicionar um repositório Git hospedado em algum lugar diferente de CodeCommit**

1. Escolha **GitHub/Outro repositório baseado em Git**.

1. Insira um nome de até 63 caracteres. Os caracteres válidos incluem caracteres alfanuméricos, um hífen (-) e 0-9.

1. Digite a URL do repositório. Não forneça um nome de usuário no URL. Adicione as credenciais de login AWS Secrets Manager conforme descrito na próxima etapa.

1. Para **Credenciais do Git**, escolha as credenciais a serem usadas para autenticação no repositório. Isso será necessário apenas se o repositório Git for privado.
**nota**  
Se você tiver habilitado a autenticação de dois fatores para o seu repositório Git, use um token de acesso pessoal gerado pelo seu provedor de serviços Git no campo `password`.

   1. Para usar um segredo existente do AWS Secrets Manager, escolha **Usar segredo existente** e escolha um segredo na lista. Para obter informações sobre como criar e armazenar um segredo, consulte [Criar um segredo básico](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html), no *Guia do usuário do AWS Secrets Manager*. O nome do segredo que você usa deve conter a string `sagemaker`.
**nota**  
O segredo deve ter um rótulo de preparação de `AWSCURRENT` e deve estar no seguinte formato:  
`{"username": UserName, "password": Password}`  
Para GitHub repositórios, recomendamos usar um token de acesso pessoal no `password` campo. Para obter informações, consulte [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. Para criar um novo segredo do AWS Secrets Manager, escolha **Criar segredo**, insira um nome para o segredo e, em seguida, insira as credenciais de login a serem usadas na autenticação no repositório. O nome do segredo deve conter a string `sagemaker`.
**nota**  
A função do perfil do IAM que você usar para criar o segredo deve ter a permissão `secretsmanager:GetSecretValue` em sua política do IAM.  
O segredo deve ter um rótulo de preparação de `AWSCURRENT` e deve estar no seguinte formato:  
`{"username": UserName, "password": Password}`  
Para GitHub repositórios, recomendamos usar um token de acesso pessoal.

   1. Para não usar credenciais, escolha **Sem segredo**.

1. Escolha **Criar segredo**.

# Adicione um repositório Git à sua conta Amazon SageMaker AI (CLI)
<a name="nbi-git-resource-cli"></a>

**Importante**  
Políticas personalizadas do IAM que permitem que o Amazon SageMaker SageMaker Studio ou o Amazon Studio Classic criem SageMaker recursos da Amazon também devem conceder permissões para adicionar tags a esses recursos. A permissão para adicionar tags aos recursos é necessária porque o Studio e o Studio Classic marcam automaticamente todos os recursos que eles criam. Se uma política do IAM permitir que o Studio e o Studio Classic criem recursos, mas não permitisse a marcação, erros AccessDenied "" podem ocorrer ao tentar criar recursos. Para obter mais informações, consulte [Forneça permissões para marcar recursos de SageMaker IA](security_iam_id-based-policy-examples.md#grant-tagging-permissions).  
[AWS políticas gerenciadas para Amazon SageMaker AI](security-iam-awsmanpol.md)que dão permissões para criar SageMaker recursos já incluem permissões para adicionar tags ao criar esses recursos.

Use o `create-code-repository` AWS CLI comando para adicionar um repositório Git ao Amazon SageMaker AI para dar aos usuários acesso a recursos externos. Especifique um nome para o repositório como o valor do argumento `code-repository-name`. O nome deve ter de 1 a 63 caracteres. Os caracteres válidos são a-z, A-Z, 0-9 e hífen (-). Especifique também o seguinte:
+ A ramificação padrão
+ A URL do repositório Git
**nota**  
Não forneça um nome de usuário no URL. Adicione as credenciais de login AWS Secrets Manager conforme descrito na próxima etapa.
+ O Amazon Resource Name (ARN) de um segredo do AWS Secrets Manager que contém as credenciais a serem usadas para autenticar o repositório como o valor do argumento `git-config`

Para obter informações sobre como criar e armazenar um segredo, consulte [Criar um segredo básico](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html), no *Guia do usuário do AWS Secrets Manager*. O comando a seguir cria um novo repositório nomeado `MyRespository` na sua conta Amazon SageMaker AI que aponta para um repositório Git hospedado em. `https://github.com/myprofile/my-repo"`

Para Linux, OS X ou 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
```

Para 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**  
O segredo deve ter um rótulo de preparação de `AWSCURRENT` e deve estar no seguinte formato:  
`{"username": UserName, "password": Password}`  
Para GitHub repositórios, recomendamos usar um token de acesso pessoal.

# Criar uma instância de Caderno com um repositório Git associado
<a name="nbi-git-create"></a>

**Importante**  
Políticas personalizadas do IAM que permitem que o Amazon SageMaker SageMaker Studio ou o Amazon Studio Classic criem SageMaker recursos da Amazon também devem conceder permissões para adicionar tags a esses recursos. A permissão para adicionar tags aos recursos é necessária porque o Studio e o Studio Classic marcam automaticamente todos os recursos que eles criam. Se uma política do IAM permitir que o Studio e o Studio Classic criem recursos, mas não permitisse a marcação, erros AccessDenied "" podem ocorrer ao tentar criar recursos. Para obter mais informações, consulte [Forneça permissões para marcar recursos de SageMaker IA](security_iam_id-based-policy-examples.md#grant-tagging-permissions).  
[AWS políticas gerenciadas para Amazon SageMaker AI](security-iam-awsmanpol.md)que dão permissões para criar SageMaker recursos já incluem permissões para adicionar tags ao criar esses recursos.

Você pode associar repositórios Git a uma instância do notebook ao criar a instância do notebook usando o Console de gerenciamento da AWS, ou o. AWS CLI Se você quiser usar um CodeCommit repositório que esteja em uma AWS conta diferente da instância do notebook, configure o acesso entre contas para o repositório. Para mais informações, consulte [Associar um CodeCommit repositório em uma AWS conta diferente a uma instância do Notebook](nbi-git-cross.md).

**Topics**
+ [Criar uma instância de caderno com um repositório Git associado (console)](#nbi-git-create-console)
+ [Criar uma instância de caderno com um repositório Git associado (CLI)](nbi-git-create-cli.md)

## Criar uma instância de caderno com um repositório Git associado (console)
<a name="nbi-git-create-console"></a>

**Para criar uma instância de notebook e associar repositórios Git no console Amazon AI SageMaker**

1. Siga as instruções em [Crie uma instância do Amazon SageMaker Notebook para o tutorial](gs-setup-working-env.md).

1. Para **Repositórios Git**, escolha repositórios Git a serem associados a instância de caderno.

   1. Em **Repositório padrão**, escolha um repositório que você deseja usar como seu repositório padrão. SageMaker O AI clona esse repositório como um subdiretório no diretório de inicialização do Jupyter em. `/home/ec2-user/SageMaker` Quando você abrir sua instância de caderno, ela será aberta nesse repositório. Para escolher um repositório armazenado como um recurso na sua conta, escolha seu nome na lista. Para adicionar um novo repositório como recurso em sua conta, escolha **Adicionar um repositório ao SageMaker AI (abre o fluxo Adicionar repositório em uma nova janela)** e siga as instruções em. [Criar uma instância de caderno com um repositório Git associado (console)](#nbi-git-create-console) Para clonar um repositório público que não esteja armazenado na sua conta, escolha **Clonar repositório Git público apenas para essa instância de caderno** e especifique o URL desse repositório.

   1. Para **Repositório adicional 1**, escolha um repositório que você deseja adicionar como um diretório adicional. SageMaker O AI clona esse repositório como um subdiretório no diretório de inicialização do Jupyter em. `/home/ec2-user/SageMaker` Para escolher um repositório armazenado como um recurso na sua conta, escolha seu nome na lista. Para adicionar um novo repositório como recurso em sua conta, escolha **Adicionar um repositório ao SageMaker AI (abre o fluxo Adicionar repositório em uma nova janela)** e siga as instruções em. [Criar uma instância de caderno com um repositório Git associado (console)](#nbi-git-create-console) Para clonar um repositório que não esteja armazenado na sua conta, escolha **Clonar repositório Git público apenas para essa instância de caderno** e especifique a URL desse repositório.

      Repita essa etapa até três vezes para adicionar até três repositórios adicionais à sua instância de caderno.

# Criar uma instância de caderno com um repositório Git associado (CLI)
<a name="nbi-git-create-cli"></a>

**Importante**  
Políticas personalizadas do IAM que permitem que o Amazon SageMaker SageMaker Studio ou o Amazon Studio Classic criem SageMaker recursos da Amazon também devem conceder permissões para adicionar tags a esses recursos. A permissão para adicionar tags aos recursos é necessária porque o Studio e o Studio Classic marcam automaticamente todos os recursos que eles criam. Se uma política do IAM permitir que o Studio e o Studio Classic criem recursos, mas não permitisse a marcação, erros AccessDenied "" podem ocorrer ao tentar criar recursos. Para obter mais informações, consulte [Forneça permissões para marcar recursos de SageMaker IA](security_iam_id-based-policy-examples.md#grant-tagging-permissions).  
[AWS políticas gerenciadas para Amazon SageMaker AI](security-iam-awsmanpol.md)que dão permissões para criar SageMaker recursos já incluem permissões para adicionar tags ao criar esses recursos.

Para criar uma instância de caderno e associar repositórios Git usando a AWS CLI, utilize o comando `create-notebook-instance` da seguinte forma:
+ Especifique o repositório que você deseja usar como seu repositório padrão como o valor do argumento `default-code-repository`. O Amazon SageMaker AI clona esse repositório como um subdiretório no diretório de inicialização do Jupyter em. `/home/ec2-user/SageMaker` Quando você abrir sua instância de caderno, ela será aberta nesse repositório. Para usar um repositório armazenado como um recurso em sua conta de SageMaker IA, especifique o nome do repositório como o valor do `default-code-repository` argumento. Para usar um repositório que não esteja armazenado na sua conta, especifique a URL do repositório como o valor do argumento `default-code-repository`.
+ Especifique até três repositórios adicionais como o valor do `additional-code-repositories` argumento. SageMaker O AI clona esse repositório como um subdiretório no diretório de inicialização do Jupyter em`/home/ec2-user/SageMaker`, e o repositório é excluído do repositório padrão ao adicioná-lo ao diretório do repositório padrão. `.git/info/exclude` Para usar repositórios armazenados como recursos em sua conta de SageMaker IA, especifique os nomes dos repositórios como o valor do `additional-code-repositories` argumento. Para usar repositórios que não estão armazenados em sua conta, especifique o URLs dos repositórios como o valor do `additional-code-repositories` argumento.

Por exemplo, o comando a seguir cria uma instância de notebook que tem um repositório chamado`MyGitRepo`, que é armazenado como um recurso em sua conta de SageMaker IA, como um repositório padrão e um repositório adicional hospedado em: 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 você usar um AWS CodeCommit repositório que não contenha "SageMaker" em seu nome, adicione as `codecommit:GitPush` permissões `codecommit:GitPull` e à função que você passa como `role-arn` argumento para o `create-notebook-instance` comando. Para obter informações sobre como adicionar permissões a um perfil, consulte [Adicionar e remover políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html), no *Guia do Usuário do AWS Identity and Access Management *. 

# Associar um CodeCommit repositório em uma AWS conta diferente a uma instância do Notebook
<a name="nbi-git-cross"></a>

Para associar um CodeCommit repositório em uma AWS conta diferente à sua instância do notebook, configure o acesso entre contas para o CodeCommit repositório.

**Para configurar o acesso entre contas a um CodeCommit repositório e associá-lo a uma instância do notebook:**

1. Na AWS conta que contém o CodeCommit repositório, crie uma política do IAM que permita o acesso dos usuários ao repositório na conta que contém a instância do seu notebook. Para obter mais informações, consulte [Etapa 1: Criar uma política para acesso ao repositório na ContaA](https://docs.aws.amazon.com/codecommit/latest/userguide/cross-account-administrator-a.html#cross-account-create-policy-a) no *Guia do usuário do CodeCommit *.

1. Na AWS conta que contém o CodeCommit repositório, crie uma função do IAM e anexe a política que você criou na etapa anterior a essa função. Para obter mais informações, consulte [Etapa 2: Criar uma função para acesso ao repositório na ContaA](https://docs.aws.amazon.com/codecommit/latest/userguide/cross-account-administrator-a.html#cross-account-create-role-a) no *Guia do usuário do CodeCommit *.

1. Crie um perfil na instância de caderno que use a função que você criou na etapa anterior:

   1. Abra a instância de caderno.

   1. Abra um terminal na instância de caderno.

   1. Edite um novo perfil, digitando o seguinte no terminal:

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

   1. Edite o arquivo com as seguintes informações de perfil:

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

      Onde *CodeCommitAccount* está a conta que contém o CodeCommit repositório, *CrossAccountAccessProfile* o nome do novo perfil e *CrossAccountRepositoryContributorRole* o nome da função que você criou na etapa anterior.

1. Na instância de caderno, configure o git para usar o perfil que você criou na etapa anterior:

   1. Abra a instância de caderno.

   1. Abra um terminal na instância de caderno.

   1. Edite o arquivo de configuração do Git digitando o seguinte no terminal:

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

   1. Edite o arquivo com as seguintes informações de perfil:

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

      Onde *CrossAccountAccessProfile* está o nome do perfil que você criou na etapa anterior.

# Usar repositórios Git em uma instância de caderno
<a name="git-nbi-use"></a>

Quando você abre uma instância de caderno que possui repositórios Git associados, ela é aberta no repositório padrão, que é instalado diretamente na sua instância de caderno, em `/home/ec2-user/SageMaker`. Você pode abrir e criar cadernos e executar manualmente os comandos do Git em uma célula do caderno. Por exemplo:

```
!git pull origin master
```

Para abrir qualquer um dos repositórios adicionais, navegue até uma pasta. Os repositórios adicionais também são instalados como diretórios em `/home/ec2-user/SageMaker`.

Se você abrir a instância do notebook com uma JupyterLab interface, a extensão jupyter-git será instalada e estará disponível para uso. [Para obter informações sobre a extensão jupyter-git para, consulte jupyterlab-git. JupyterLab https://github.com/jupyterlab/](https://github.com/jupyterlab/jupyterlab-git)

Ao abrir uma instância do notebook no JupyterLab, você vê os repositórios git associados a ela no menu à esquerda:

![\[Exemplo de navegador de arquivos em JupyterLab.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/git-notebook.png)


É possível usar a extensão jupyter-git para gerenciar o git visualmente, em vez de usar a linha de comando:

![\[Exemplo da extensão jupyter-git em. JupyterLab\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/jupyterlab-git.png)
