

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Conectar un CodeArtifact repositorio a un repositorio público
<a name="external-connection"></a>

Puedes añadir una conexión externa entre un CodeArtifact repositorio y un repositorio público externo, como [https://npmjs.com](https://npmjs.com)el repositorio central de [Maven](https://repo.maven.apache.org/maven2/). A continuación, cuando solicites un paquete del CodeArtifact repositorio que aún no esté presente en el repositorio, podrás obtener el paquete desde la conexión externa. Esto permite consumir las dependencias de código abierto que utiliza su aplicación.

En CodeArtifact, la forma prevista de utilizar las conexiones externas es tener un repositorio por dominio con una conexión externa a un repositorio público determinado. Por ejemplo, si quiere conectarse a npmjs.com, configure un repositorio de su dominio con una conexión externa a npmjs.com y configure todos los demás repositorios con una conexión anterior. De esta forma, todos los repositorios pueden utilizar los paquetes que ya se han obtenido de npmjs.com, en lugar de volver a buscarlos y almacenarlos.

**Topics**
+ [

## Conectarse a un repositorio externo (consola)
](#adding-an-external-connection-console)
+ [

## Conectarse a un repositorio externo (CLI)
](#adding-an-external-connection)
+ [

## Repositorios de conexiones externas compatibles
](#supported-public-repositories)
+ [

## Eliminar una conexión externa (CLI)
](#removing-an-external-connection)

## Conectarse a un repositorio externo (consola)
<a name="adding-an-external-connection-console"></a>

Cuando utilice la consola para añadir una conexión a un repositorio externo, ocurrirá lo siguiente:

1. Si aún no existe uno, se creará un `-store` repositorio para el repositorio externo en tu CodeArtifact dominio. Estos repositorios `-store` se comportan como repositorios intermedios entre su repositorio y el repositorio externo y le permiten conectarse a más de un repositorio externo.

1. El repositorio `-store` correspondiente se añade de forma previa a su repositorio.

La siguiente lista contiene cada `-store` repositorio CodeArtifact y el repositorio externo respectivo al que se conectan.

1. `cargo-store` está conectado a crates.io.

1. `clojars-store` está conectado al repositorio de Clojars.

1. `commonsware-store`está conectado al repositorio de CommonsWare Android.

1. `google-android-store` está conectado a Google Android.

1. `gradle-plugins-store` está conectado a los complementos de Gradle.

1. `maven-central-store` está conectado al repositorio central de Maven.

1. `npm-store` está conectado a npmjs.com.

1. `nuget-store` está conectado a nuget.org.

1. `pypi-store` está conectado a la Python Packaging Authority.

1. `rubygems-store`está conectado a RubyGems .org.

**Para conectarse a un repositorio externo (consola)**

1. Abre la AWS CodeArtifact consola en [https://console.aws.amazon.com/codesuite/codeartifact/home](https://console.aws.amazon.com/codesuite/codeartifact/home).

1.  En el panel de navegación, elija **Dominios** y, a continuación, elija el nombre de dominio que contiene el repositorio. 

1.  Elija el nombre de su repositorio.

1.  Elija **Edit (Edición de)**.

1. En **repositorios ascendentes**, elija **Asociar un repositorio ascendente** y añada el repositorio `-store` correspondiente que esté conectado como un repositorio ascendente.

1.  Seleccione **Actualizar repositorio.**

Una vez que el `-store` repositorio se haya agregado como repositorio principal, los administradores de paquetes conectados a su CodeArtifact repositorio pueden recuperar los paquetes del repositorio externo respectivo.

## Conectarse a un repositorio externo (CLI)
<a name="adding-an-external-connection"></a>

Puedes usar el AWS CLI para conectar tu CodeArtifact repositorio a un repositorio externo añadiendo una conexión externa directamente al repositorio. Esto permitirá a los usuarios conectados al CodeArtifact repositorio, o a cualquiera de sus repositorios posteriores, obtener paquetes del repositorio externo configurado. Cada CodeArtifact repositorio solo puede tener una conexión externa.

Se recomienda tener un repositorio por dominio con una conexión externa a un repositorio público determinado. Para conectar otros repositorios al repositorio público, agregue el repositorio con la conexión externa como ascendente para ellos. Si usted u otra persona en su dominio ya ha configurado conexiones externas en la consola, es probable que su dominio ya tenga un repositorio `-store` con una conexión externa al repositorio público al que desea conectarse. Para obtener más información sobre los repositorios `-store` y la conexión con la consola, consulte [Conectarse a un repositorio externo (consola)](#adding-an-external-connection-console).

**Para agregar una conexión externa a un CodeArtifact repositorio (CLI)**
+ Utilice `associate-external-connection` para agregar una conexión externa. El siguiente ejemplo conecta un repositorio al registro público de npm, npmjs.com. Para ver una lista de los repositorios externos admitidos, consulte [Repositorios de conexiones externas compatibles](#supported-public-repositories).

  ```
  aws codeartifact associate-external-connection --external-connection public:npmjs \
      --domain my_domain --domain-owner 111122223333 --repository my_repo
  ```

  Ejemplo de código de salida:

  ```
  {
      "repository": {
          "name": my_repo
          "administratorAccount": "123456789012",
          "domainName": "my_domain",
          "domainOwner": "111122223333",
          "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my_domain/my_repo",
          "description": "A description of my_repo",
          "upstreams": [],
          "externalConnections": [
              {
                  "externalConnectionName": "public:npmjs",
                  "packageFormat": "npm",
                  "status": "AVAILABLE"
              }
          ]
      }
  }
  ```

Tras añadir una conexión externa, consulte [Solicitud de paquetes desde conexiones externas](external-connection-requesting-packages.md) para obtener información sobre cómo solicitar paquetes desde un repositorio externo con una conexión externa.

## Repositorios de conexiones externas compatibles
<a name="supported-public-repositories"></a>

 CodeArtifact admite una conexión externa a los siguientes repositorios públicos. Para usar la CodeArtifact CLI para especificar una conexión externa, utilice el valor de la columna **Nombre** para el `--external-connection` parámetro cuando ejecute el `associate-external-connection` comando. 


| Tipo de repositorio | Description (Descripción) | Name | 
| --- | --- | --- | 
| Maven | Repositorio de Clojars | public:maven-clojars | 
| Maven | CommonsWare Repositorio de Android | public:maven-commonsware | 
| Maven | Repositorio de Google de Android | public:maven-googleandroid | 
| Maven | Repositorio de complementos de Gradle | public:maven-gradleplugins | 
| Maven | Central de Maven | public:maven-central | 
| npm | Registro público de npm | public:npmjs | 
| NuGet | NuGet Galería | public:nuget-org | 
| Python | Índice de paquetes de Python | public:pypi | 
| Ruby | RubyGems.org | public:ruby-gems-org | 
| Rust | Crates.io | public:crates-io | 

## Eliminar una conexión externa (CLI)
<a name="removing-an-external-connection"></a>

Para eliminar una conexión externa que se agregó mediante el `associate-external-connection` comando de AWS CLI, utilice`disassociate-external-connection`.

```
aws codeartifact disassociate-external-connection --external-connection public:npmjs \
    --domain my_domain --domain-owner 111122223333 --repository my_repo
```

Ejemplo de salida:

```
{
    "repository": {
        "name": my_repo
        "administratorAccount": "123456789012",
        "domainName": "my_domain",
        "domainOwner": "111122223333",
        "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my_domain/my_repo",
        "description": "A description of my_repo",
        "upstreams": [],
        "externalConnections": []
    }
}
```