Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memperbarui status versi paket
Setiap versi paket CodeArtifact memiliki status yang menjelaskan status saat ini dan ketersediaan versi paket. Anda dapat mengubah status versi paket menggunakan konsol AWS CLI dan konsol.
catatan
Untuk informasi selengkapnya tentang status versi paket, termasuk daftar status yang tersedia, lihatStatus versi paket.
Memperbarui status versi paket
Mengatur status versi paket memungkinkan mengontrol bagaimana versi paket dapat digunakan tanpa menghapusnya sepenuhnya dari repositori. Misalnya, ketika versi paket memiliki statusUnlisted
, itu masih dapat diunduh seperti biasa, tetapi tidak akan muncul dalam daftar versi paket yang dikembalikan ke perintah sepertinpm view
. UpdatePackageVersionsStatus API memungkinkan pengaturan status versi paket dari beberapa versi paket yang sama dalam satu panggilan API. Untuk deskripsi status yang berbeda, lihatGambaran umum paket.
Gunakan update-package-versions-status
perintah untuk mengubah status versi paket menjadiPublished
,Unlisted
, atauArchived
. Untuk melihat izin IAM yang diperlukan untuk menggunakan perintah, lihat. Izin IAM yang diperlukan untuk memperbarui status versi paket Contoh berikut menetapkan status versi 4.1.0 dari paket chalk
npm ke. Archived
aws codeartifact update-package-versions-status --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--formatnpm
--packagechalk
--versions4.1.0
--target-statusArchived
Contoh output:
{ "successfulVersions": { "4.1.0": { "revision": "+Oz8skWbwY3k8M6SrNIqNj6bVH/ax+CxvkJx+No5j8I=", "status": "Archived" } }, "failedVersions": {} }
Contoh ini menggunakan paket npm, tetapi perintah bekerja identik untuk format lain. Beberapa versi dapat dipindahkan ke status target yang sama menggunakan satu perintah, lihat contoh berikut.
aws codeartifact update-package-versions-status --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--formatnpm
--packagechalk
--versions4.1.0 4.1.1
--target-statusArchived
Contoh output:
{ "successfulVersions": { "4.1.0": { "revision": "25/UjBleHs1DZewk+zozoeqH/R80Rc9gL1P8vbzVMJ4=", "status": "Archived" }, "4.1.1": { "revision": "+Oz8skWbwY3k8M6SrNIqNj6bVH/ax+CxvkJx+No5j8I=", "status": "Archived" } }, "failedVersions": {} }
Perhatikan bahwa setelah diterbitkan, versi paket tidak dapat dipindahkan kembali ke Unfinished
status, sehingga status ini tidak diizinkan sebagai nilai untuk --target-status
parameter. Untuk memindahkan versi paket ke Disposed
status, gunakan dispose-package-versions
perintah sebagai gantinya seperti yang dijelaskan di bawah ini.
Izin IAM yang diperlukan untuk memperbarui status versi paket
update-package-versions-status
Untuk memanggil paket, Anda harus memiliki codeartifact:UpdatePackageVersionsStatus
izin pada sumber daya paket. Ini berarti Anda dapat memberikan izin untuk menelepon update-package-versions-status
berdasarkan per paket. Misalnya, kebijakan IAM yang memberikan izin untuk memanggil update-package-versions-status
kapur
paket npm akan menyertakan pernyataan seperti berikut ini.
{ "Action": [ "codeartifact:UpdatePackageVersionsStatus" ], "Effect": "Allow", "Resource": "arn:aws:codeartifact:
us-east-1
:111122223333
:package/my_domain
/my_repo
/npm//chalk" }
Memperbarui status untuk paket npm cakupan
Untuk memperbarui status versi paket dari versi paket npm dengan cakupan, gunakan --namespace
parameter. Misalnya, untuk membatalkan daftar versi 8.0.0 dari@nestjs/core
, gunakan perintah berikut.
aws codeartifact update-package-versions-status --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--formatnpm
--namespacenestjs
--packagecore
--versions8.0.0
--target-statusUnlisted
Memperbarui status untuk paket Maven
Paket Maven selalu memiliki ID grup, yang disebut sebagai namespace di. CodeArtifact Gunakan --namespace
parameter untuk menentukan ID grup Maven saat memanggil. update-package-versions-status
Misalnya, untuk mengarsipkan versi 2.13.1 dari paket Mavenorg.apache.logging.log4j:log4j
, gunakan perintah berikut.
aws codeartifact update-package-versions-status --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--formatmaven
--namespaceorg.apache.logging.log4j
--packagelog4j
--versions2.13.1
--target-statusArchived
Menentukan revisi versi paket
Revisi versi paket adalah string yang menentukan serangkaian aset dan metadata tertentu untuk versi paket. Anda dapat menentukan revisi versi paket untuk memperbarui status versi paket yang berada dalam keadaan tertentu. Untuk menentukan revisi versi paket, gunakan --version-revisions
parameter untuk meneruskan satu atau beberapa versi paket yang dipisahkan koma dan pasangan revisi versi paket. Status versi paket hanya akan diperbarui jika revisi versi paket saat ini cocok dengan nilai yang ditentukan.
catatan
—-versions
Parameter juga harus ditentukan saat menggunakan --version-revisions
parameter.
aws codeartifact update-package-versions-status --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--formatnpm
--packagechalk
--version-revisions "4.1.0=25/UjBleHs1DZewk+zozoeqH/R80Rc9gL1P8bzVMJ4=
" --versions4.1.0
--target-statusArchived
Untuk memperbarui beberapa versi dengan satu perintah, teruskan daftar pasangan revisi versi dan versi yang dipisahkan koma ke opsi. --version-revisions
Contoh perintah berikut mendefinisikan dua versi paket yang berbeda dan pasangan revisi versi paket.
aws codeartifact update-package-versions-status --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--formatnpm
--packagechalk
--version-revisions "4.1.0=25/UjBleHs1DZewk+zozoeqH/R80Rc9gL1P8vbzVMJ4=
,4.0.0=E3lhBp0RObRTut4pkjV5c1AQGkgSA7Oxtil6hMMzelc=
" --versions4.1.0 4.0.0
--target-statusPublished
Contoh output:
{ "successfulVersions": { "4.0.0": { "revision": "E3lhBp0RObRTut4pkjV5c1AQGkgSA7Oxtil6hMMzelc=", "status": "Published" }, "4.1.0": { "revision": "25/UjBleHs1DZewk+zozoeqH/R80Rc9gL1P8vbzVMJ4=", "status": "Published" } }, "failedVersions": {} }
Saat memperbarui beberapa versi paket, versi yang diteruskan --version-revisions
harus sama dengan versi yang diteruskan--versions
. Jika revisi ditentukan secara tidak benar, versi itu tidak akan diperbarui statusnya.
Menggunakan parameter status yang diharapkan
update-package-versions-status
Perintah menyediakan --expected-status
parameter yang mendukung menentukan status saat ini yang diharapkan dari versi paket. Jika status saat ini tidak sesuai dengan nilai yang diteruskan--expected-status
, status versi paket tersebut tidak akan diperbarui.
Misalnya, di my_repo
, versi 4.0.0 dan 4.1.0 dari paket npm saat ini memiliki status. chalk
Published
Panggilan update-package-versions-status
yang menentukan status yang diharapkan Unlisted
akan gagal memperbarui kedua versi paket karena ketidakcocokan status.
aws codeartifact update-package-versions-status --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--formatnpm
--packagechalk
--versions4.1.0 4.0.0
--target-statusArchived
--expected-statusUnlisted
Contoh output:
{ "successfulVersions": {}, "failedVersions": { "4.0.0": { "errorCode": "MISMATCHED_STATUS", "errorMessage": "current status: Published, expected status: Unlisted" }, "4.1.0": { "errorCode": "MISMATCHED_STATUS", "errorMessage": "current status: Published, expected status: Unlisted" } } }
Kesalahan dengan versi paket individual
Ada beberapa alasan mengapa status versi paket tidak akan diperbarui saat meneleponupdate-package-versions-status
. Misalnya, revisi versi paket mungkin telah ditentukan secara tidak benar, atau status yang diharapkan tidak cocok dengan status saat ini. Dalam kasus ini, versi akan disertakan dalam failedVersions
peta dalam respons API. Jika satu versi gagal, versi lain yang ditentukan dalam panggilan yang sama update-package-versions-status
mungkin dilewati dan statusnya tidak diperbarui. Versi tersebut juga akan dimasukkan dalam failedVersions
peta dengan errorCode
aSKIPPED
.
Dalam implementasi saat iniupdate-package-versions-status
, jika satu atau lebih versi tidak dapat diubah statusnya, semua versi lain akan dilewati. Artinya, semua versi berhasil diperbarui atau tidak ada versi yang diperbarui. Perilaku ini tidak dijamin dalam kontrak API; di masa depan, beberapa versi mungkin berhasil sementara versi lain gagal dalam satu panggilan keupdate-package-versions-status
.
Perintah contoh berikut mencakup kegagalan pembaruan status versi yang disebabkan oleh ketidakcocokan revisi versi paket. Kegagalan pembaruan itu menyebabkan panggilan pembaruan status versi lain dilewati.
aws codeartifact update-package-versions-status --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--formatnpm
--packagechalk
--version-revisions "4.1.0=25/UjBleHs1DZewk+zozoeqH/R80Rc9gL1P8vbzVMJ=
,4.0.0=E3lhBp0RObRTut4pkjV5c1AQGkgSA7Oxtil6hMMzelc=
" --versions4.1.0 4.0.0
--target-statusArchived
Contoh output:
{ "successfulVersions": {}, "failedVersions": { "4.0.0": { "errorCode": "SKIPPED", "errorMessage": "version 4.0.0 is skipped" }, "4.1.0": { "errorCode": "MISMATCHED_REVISION", "errorMessage": "current revision: 25/UjBleHs1DZewk+zozoeqH/R80Rc9gL1P8vbzVMJ4=, expected revision: 25/UjBleHs1DZewk+zozoeqH/R80Rc9gL1P8vbzVMJ=" } } }
Membuang versi paket
Status Disposed
paket memiliki perilaku yang mirip denganArchived
, kecuali bahwa aset paket akan dihapus secara permanen CodeArtifact sehingga akun pemilik domain tidak lagi ditagih untuk penyimpanan aset. Untuk informasi selengkapnya tentang setiap status versi paket, lihatStatus versi paket. Untuk mengubah status versi paket keDisposed
, gunakan dispose-package-versions
perintah. Kemampuan ini terpisah dari update-package-versions-status
karena membuang versi paket tidak dapat dibalik. Karena aset paket akan dihapus, status versi tidak dapat diubah kembali keArchived
,Unlisted
, atauPublished
. Satu-satunya tindakan yang dapat diambil pada versi paket yang telah dibuang adalah untuk menghapusnya menggunakan delete-package-versions
perintah.
dispose-package-versions
Agar berhasil menelepon, prinsipal IAM pemanggil harus memiliki codeartifact:DisposePackageVersions
izin pada sumber daya paket.
Perilaku dispose-package-versions
perintah mirip denganupdate-package-versions-status
, termasuk perilaku --version-revisions
dan --expected-status
opsi yang dijelaskan dalam revisi versi dan bagian status yang diharapkan. Misalnya, perintah berikut mencoba untuk membuang versi paket tetapi gagal karena status yang diharapkan tidak cocok.
aws codeartifact dispose-package-versions —domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--formatnpm
--packagechalk
--versions4.0.0
--expected-statusUnlisted
Contoh output:
{ "successfulVersions": {}, "failedVersions": { "4.0.0": { "errorCode": "MISMATCHED_STATUS", "errorMessage": "current status: Published, expected status: Unlisted" } } }
Jika perintah yang sama dijalankan lagi dengan a --expected-status
ofPublished
, pembuangan akan berhasil.
aws codeartifact dispose-package-versions —domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--formatnpm
--packagechalk
--versions4.0.0
--expected-statusPublished
Contoh output:
{ "successfulVersions": { "4.0.0": { "revision": "E3lhBp0RObRTut4pkjV5c1AQGkgSA7Oxtil6hMMzelc=", "status": "Disposed" } }, "failedVersions": {} }