

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Connect CodeArtifact repositori ke repositori publik
<a name="external-connection"></a>

[Anda dapat menambahkan koneksi eksternal antara repositori dan CodeArtifact repositori publik eksternal seperti [https://npmjs.com](https://npmjs.com)atau repositori Maven Central.](https://repo.maven.apache.org/maven2/) Kemudian, ketika Anda meminta paket dari CodeArtifact repositori yang belum ada di repositori, paket dapat diambil dari koneksi eksternal. Hal ini memungkinkan untuk menggunakan dependensi sumber terbuka yang digunakan oleh aplikasi Anda.

Dalam CodeArtifact, cara yang dimaksudkan untuk menggunakan koneksi eksternal adalah memiliki satu repositori per domain dengan koneksi eksternal ke repositori publik tertentu. Misalnya, jika Anda ingin terhubung ke npmjs.com, konfigurasikan satu repositori di domain Anda dengan koneksi eksternal ke npmjs.com dan konfigurasikan semua repositori lain dengan upstream ke sana. Dengan cara ini, semua repositori dapat menggunakan paket yang telah diambil dari npmjs.com, daripada mengambil dan menyimpannya lagi.

**Topics**
+ [Connect ke repositori eksternal (konsol)](#adding-an-external-connection-console)
+ [Connect ke repositori eksternal (CLI)](#adding-an-external-connection)
+ [Repositori koneksi eksternal yang didukung](#supported-public-repositories)
+ [Hapus koneksi eksternal (CLI)](#removing-an-external-connection)

## Connect ke repositori eksternal (konsol)
<a name="adding-an-external-connection-console"></a>

Saat Anda menggunakan konsol untuk menambahkan koneksi ke repositori eksternal, hal berikut akan terjadi:

1. `-store`Repositori untuk repositori eksternal akan dibuat di CodeArtifact domain Anda jika belum ada. `-store`Repositori ini berperilaku sebagai repositori perantara antara repositori Anda dan repositori eksternal dan memungkinkan Anda untuk terhubung ke lebih dari satu repositori eksternal.

1. `-store`Repositori yang sesuai ditambahkan sebagai upstream ke repositori Anda.

Daftar berikut berisi setiap `-store` repositori di CodeArtifact dan repositori eksternal masing-masing yang mereka sambungkan.

1. `cargo-store`terhubung ke crates.io.

1. `clojars-store`terhubung ke Clojars Repository.

1. `commonsware-store`terhubung ke CommonsWare Android Repository.

1. `google-android-store`terhubung ke Google Android.

1. `gradle-plugins-store`terhubung ke plugin Gradle.

1. `maven-central-store`terhubung ke Maven Central Repository.

1. `npm-store`terhubung ke npmjs.com.

1. `nuget-store`terhubung ke nuget.org.

1. `pypi-store`terhubung ke Otoritas Pengemasan Python.

1. `rubygems-store`terhubung ke RubyGems .org.

**Untuk terhubung ke repositori eksternal (konsol)**

1. Buka AWS CodeArtifact konsol di [https://console.aws.amazon.com/codesuite/codeartifact/home](https://console.aws.amazon.com/codesuite/codeartifact/home).

1.  Di panel navigasi, pilih **Domain**, lalu pilih nama domain yang berisi repositori Anda. 

1.  Pilih nama repositori Anda.

1.  Pilih **Edit**.

1. Di **repositori Upstream**, pilih **Associate upstream repository dan tambahkan repositori** yang sesuai `-store` yang terhubung sebagai upstream.

1.  Pilih **Update repository** (Perbarui repositori).

Setelah `-store` repositori ditambahkan sebagai repositori upstream, manajer paket yang terhubung ke repositori Anda dapat mengambil paket dari CodeArtifact repositori eksternal masing-masing.

## Connect ke repositori eksternal (CLI)
<a name="adding-an-external-connection"></a>

Anda dapat menggunakan AWS CLI untuk menghubungkan repositori Anda ke CodeArtifact repositori eksternal dengan menambahkan koneksi eksternal langsung ke repositori. Ini akan memungkinkan pengguna yang terhubung ke CodeArtifact repositori, atau repositori hilirnya, untuk mengambil paket dari repositori eksternal yang dikonfigurasi. Setiap CodeArtifact repositori hanya dapat memiliki satu koneksi eksternal.

Disarankan untuk memiliki satu repositori per domain dengan koneksi eksternal ke repositori publik tertentu. Untuk menghubungkan repositori lain ke repositori publik, tambahkan repositori dengan koneksi eksternal sebagai hulu ke repositori tersebut. Jika Anda atau orang lain di domain Anda telah mengonfigurasi koneksi eksternal di konsol, domain Anda kemungkinan sudah memiliki `-store` repositori dengan koneksi eksternal ke repositori publik yang ingin Anda sambungkan. Untuk informasi selengkapnya tentang `-store` repositori dan menghubungkan dengan konsol, lihat. [Connect ke repositori eksternal (konsol)](#adding-an-external-connection-console)

**Untuk menambahkan koneksi eksternal ke CodeArtifact repositori (CLI)**
+ Gunakan `associate-external-connection` untuk menambahkan koneksi eksternal. Contoh berikut menghubungkan repositori ke registri publik npm, npmjs.com. Untuk daftar repositori eksternal yang didukung, lihat. [Repositori koneksi eksternal yang didukung](#supported-public-repositories)

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

  Contoh output:

  ```
  {
      "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"
              }
          ]
      }
  }
  ```

Setelah menambahkan koneksi eksternal, lihat [Meminta paket dari koneksi eksternal](external-connection-requesting-packages.md) informasi tentang meminta paket dari repositori eksternal dengan koneksi eksternal.

## Repositori koneksi eksternal yang didukung
<a name="supported-public-repositories"></a>

 CodeArtifact mendukung koneksi eksternal ke repositori publik berikut. Untuk menggunakan CodeArtifact CLI untuk menentukan koneksi eksternal, gunakan nilai di kolom **Nama** untuk `--external-connection` parameter saat Anda menjalankan perintah. `associate-external-connection` 


| Jenis repositori | Deskripsi | Nama | 
| --- | --- | --- | 
| Maven | Repositori Clojars | public:maven-clojars | 
| Maven | CommonsWare Repositori Android | public:maven-commonsware | 
| Maven | Repositori Google Android | public:maven-googleandroid | 
| Maven | Repositori plugin Gradle | public:maven-gradleplugins | 
| Maven | Maven Central | public:maven-central | 
| npm | registri publik npm | public:npmjs | 
| NuGet | NuGet Galeri | public:nuget-org | 
| Python | Indeks Paket Python | public:pypi | 
| Ruby | RubyGems.org | public:ruby-gems-org | 
| Karat | Crates.io | public:crates-io | 

## Hapus koneksi eksternal (CLI)
<a name="removing-an-external-connection"></a>

Untuk menghapus koneksi eksternal yang ditambahkan dengan menggunakan `associate-external-connection` perintah di AWS CLI, gunakan`disassociate-external-connection`.

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

Contoh output:

```
{
    "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": []
    }
}
```