翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
パッケージバージョンのステータスの更新
のすべてのパッケージバージョン CodeArtifact には、パッケージバージョンの現在の状態と可用性を記述するステータスがあります。パッケージバージョンのステータスは、 AWS CLI と コンソールの両方を使用して変更できます。
注記
使用可能なステータスのリストを含む、パッケージバージョンのステータスの詳細については、パッケージバージョンのステータスを参照してください。
パッケージバージョンのステータスの更新
パッケージバージョンのステータスを設定することで、そのパッケージバージョンをリポジトリから完全に削除することなく、使用方法をコントロールできます。例えば、パッケージバージョンのステータスがUnlisted
の場合、通常どおりダウンロードすることはできますが、npm view
のようなコマンドに戻されたパッケージバージョンリストには表示されません。UpdatePackageVersionsStatus API では、1 回のAPI呼び出しで同じパッケージの複数のバージョンのパッケージバージョンステータスを設定できます。さまざまなステータスの説明については、パッケージの概要を参照してください。
update-package-versions-status
コマンドを使用して、パッケージバージョンのステータスをPublished
、Unlisted
、またはArchived
に変更します コマンドを使用するために必要なIAMアクセス許可を確認するには、「」を参照してくださいパッケージバージョンのステータスを更新するために必要なIAMアクセス許可。次の例では、npm パッケージchalk
のバージョン 4.1.0 のステータスをArchived
に設定します。
aws codeartifact update-package-versions-status --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--formatnpm
--packagechalk
--versions4.1.0
--target-statusArchived
サンプル出力:
{ "successfulVersions": { "4.1.0": { "revision": "+Oz8skWbwY3k8M6SrNIqNj6bVH/ax+CxvkJx+No5j8I=", "status": "Archived" } }, "failedVersions": {} }
この例では、npm パッケージを使用しますが、このコマンドは他の形式でも同じように機能します。ひとつのコマンドを使用して、複数のバージョンを同じターゲットステータスに移動できます。次の例を参照してください。
aws codeartifact update-package-versions-status --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--formatnpm
--packagechalk
--versions4.1.0 4.1.1
--target-statusArchived
サンプル出力:
{ "successfulVersions": { "4.1.0": { "revision": "25/UjBleHs1DZewk+zozoeqH/R80Rc9gL1P8vbzVMJ4=", "status": "Archived" }, "4.1.1": { "revision": "+Oz8skWbwY3k8M6SrNIqNj6bVH/ax+CxvkJx+No5j8I=", "status": "Archived" } }, "failedVersions": {} }
いったん公開されると、パッケージバージョンをUnfinished
ステータスに戻せないので、このステータスは--target-status
パラメータの値として許可されません。パッケージバージョンをDisposed
の状態に動かすためには、代わりに以下のようにdispose-package-versions
コマンドを使用します。
パッケージバージョンのステータスを更新するために必要なIAMアクセス許可
パッケージに update-package-versions-status
を呼び出す場合は、パッケージリソースに対する codeartifact:UpdatePackageVersionsStatus
権限が必要です。つまり、パッケージごとに update-package-versions-status
を呼び出す権限を付与することができます。例えば、npm パッケージupdate-package-versions-status
で を呼び出すアクセス許可を付与するIAMポリシー chalk
には、次のようなステートメントが含まれます。
{ "Action": [ "codeartifact:UpdatePackageVersionsStatus" ], "Effect": "Allow", "Resource": "arn:aws:codeartifact:
us-east-1
:111122223333
:package/my_domain
/my_repo
/npm//chalk" }
スコープ指定された npm パッケージのステータスの更新
スコープを使用して npm パッケージバージョンのパッケージバージョンステータスを更新するには、--namespace
パラメータを使用してください。例えば、@nestjs/core
のバージョン 8.0.0 を一覧表示しないようにするためには、次のようなコマンドを使用します。
aws codeartifact update-package-versions-status --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--formatnpm
--namespacenestjs
--packagecore
--versions8.0.0
--target-statusUnlisted
Maven パッケージのステータスの更新
Maven パッケージには、常に の名前空間と呼ばれるグループ ID があります CodeArtifact。update-package-versions-status
を呼び出す際は、--namespace
パラメータで Maven グループ ID を指定します。例えば、Maven パッケージ org.apache.logging.log4j:log4j
のバージョン 2.13.1 をアーカイブするには、以下のコマンドを使用します。
aws codeartifact update-package-versions-status --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--formatmaven
--namespaceorg.apache.logging.log4j
--packagelog4j
--versions2.13.1
--target-statusArchived
パッケージバージョンリビジョンの指定
パッケージバージョンリビジョンは、パッケージバージョンの特定のアセットとメタデータのセットを指定する文字列です。パッケージバージョンリビジョンを指定して、特定の状態にあるパッケージバージョンを更新できます。パッケージバージョンのリビジョンを指定するには、--version-revisions
パラメータを使用して、ひとつ以上のカンマ区切りパッケージバージョンとパッケージバージョンリビジョンのペアを渡します。パッケージバージョンのステータスは、パッケージバージョンの現在のリビジョンが指定された値と一致する場合にのみ更新されます。
注記
--version-revisions
パラメータを使用する場合、—-versions
パラメータも定義する必要があります。
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
ひとつのコマンドで複数のバージョンを更新するには、バージョンのカンマ区切りリストとバージョンリビジョンのペアを--version-revisions
オプションに渡します。次のコマンドの例では、二つの異なるパッケージバージョンとパッケージバージョンのリビジョンのペアを定義します。
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
サンプル出力:
{ "successfulVersions": { "4.0.0": { "revision": "E3lhBp0RObRTut4pkjV5c1AQGkgSA7Oxtil6hMMzelc=", "status": "Published" }, "4.1.0": { "revision": "25/UjBleHs1DZewk+zozoeqH/R80Rc9gL1P8vbzVMJ4=", "status": "Published" } }, "failedVersions": {} }
複数のパッケージバージョンを更新する場合、--version-revisions
に渡されますバージョンが--versions
に渡されたバージョンと同じである必要があります。リビジョンが正しく指定されていない場合、そのバージョンのステータスは更新されません。
期待されるステータスパラメータの使用
update-package-versions-status
コマンドは、パッケージバージョンの予想される現在のステータスの指定をサポートする--expected-status
パラメータを提供します。現在のステータスが--expected-status
に渡された値と一致しない場合、そのパッケージバージョンのステータスは更新されません。
例えば、my_repo
、npm パッケージのバージョン 4.0.0 および 4.1.0 chalk
は現在、 ステータスですPublished
。Unlisted
の期待されるステータスを指定するupdate-package-versions-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
サンプル出力:
{ "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" } } }
個々のパッケージバージョンでのエラー
update-package-versions-status
を呼び出すときにパッケージバージョンのステータスが更新されない理由は複数あります。例えば、パッケージバージョンのリビジョンが正しく指定されていなかったり、予期されるステータスが現在のステータスと一致しない可能性があります。このような場合、バージョンはAPIレスポンスのfailedVersions
マップに含まれます。ひとつのバージョンが失敗した場合、update-package-versions-status
への同じ呼び出しで指定された他のバージョンがスキップされ、ステータスが更新されない可能性があります。このようなバージョンは、SKIPPED
のerrorCode
でfailedVersions
マップにも含まれます。
update-package-versions-status
の現在の実装では、ひとつ以上のバージョンがステータスを変更できない場合、他のすべてのバージョンはスキップされます。つまり、すべてのバージョンが正常に更新されるか、すべてのバージョンが更新されないかです。この動作はAPI契約では保証されません。将来、一部のバージョンは成功し、他のバージョンは への 1 回の呼び出しで失敗する可能性がありますupdate-package-versions-status
。
次のコマンドの例には、パッケージバージョンのリビジョンの不一致によるバージョンステータス更新の失敗が含まれます。この更新に障害があると、別のバージョンステータス更新の呼び出しがスキップされます。
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
サンプル出力:
{ "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=" } } }
パッケージバージョンの廃棄
Disposed
パッケージステータスは と同様の動作をします。ただしArchived
、パッケージアセットは によって完全に削除 CodeArtifact されるため、ドメイン所有者のアカウントはアセットストレージに対して請求されなくなります。各パッケージバージョンのステータスの詳細については、「パッケージバージョンのステータス」を参照してください。パッケージバージョンのステータスをDisposed
に変更するには、dispose-package-versions
コマンドを使用してください。この機能はupdate-package-versions-status
とは別個のものです。それは、パッケージバージョンの破棄が可逆的なものでないからです。パッケージアセットが削除されるため、バージョンのステータスをArchived
、Unlisted
、またはPublished
に戻すことはできません。廃棄されたパッケージバージョンに対して実行できる唯一のアクションは、delete-package-versions
コマンドを使用して削除することだけです。
をdispose-package-versions
正常に呼び出すには、呼び出し元のIAMプリンシパルにパッケージリソースに対するcodeartifact:DisposePackageVersions
アクセス許可が必要です。
dispose-package-versions
コマンドの動作は、update-package-versions-status
と似ていて、これは [バージョンリビジョン] そして [予期されるステータス] セクションで説明されている--version-revisions
および--expected-status
のオプションの動作を含んでいます。例えば、次のコマンドはパッケージバージョンを破棄しようとしますが、予期されるステータスが一致しないために失敗します。
aws codeartifact dispose-package-versions —domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--formatnpm
--packagechalk
--versions4.0.0
--expected-statusUnlisted
サンプル出力:
{ "successfulVersions": {}, "failedVersions": { "4.0.0": { "errorCode": "MISMATCHED_STATUS", "errorMessage": "current status: Published, expected status: Unlisted" } } }
同じコマンドをPublished
の--expected-status
で再び実行すれば、破棄は成功します。
aws codeartifact dispose-package-versions —domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--formatnpm
--packagechalk
--versions4.0.0
--expected-statusPublished
サンプル出力:
{ "successfulVersions": { "4.0.0": { "revision": "E3lhBp0RObRTut4pkjV5c1AQGkgSA7Oxtil6hMMzelc=", "status": "Disposed" } }, "failedVersions": {} }