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á.
Atualizar o status da versão do pacote
Cada versão do pacote CodeArtifact tem um status que descreve o estado atual e a disponibilidade da versão do pacote. Você pode alterar o status da versão do pacote usando o console AWS CLI e o console.
nota
Para obter mais informações sobre o status da versão do pacote, incluindo uma lista dos status disponíveis, consulte Satus da versão do pacote.
Atualizar o status da versão do pacote
Definir o status de uma versão de pacote permite controlar como uma versão de pacote pode ser usada sem excluí-la completamente do repositório. Por exemplo, quando uma versão de pacote tem o status de Unlisted
, ela ainda pode ser baixada normalmente, mas não aparecerá nas listas de versões de pacotes retornadas para comandos como npm view
. A UpdatePackageVersionsStatus API permite definir o status da versão do pacote de várias versões do mesmo pacote em uma única chamada de API. Para obter uma descrição dos diferentes status, consulte Visão geral dos pacotes.
Use o comando update-package-versions-status
para alterar o status de uma versão do pacote para Published
, Unlisted
ou Archived
. Para conferir as permissões necessárias do IAM para usar o comando, consulte Permissões obrigatórias do IAM para atualizar o status da versão do pacote. O exemplo a seguir define o status da versão 4.1.0 do pacote npm chalk
como Archived
.
aws codeartifact update-package-versions-status --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--formatnpm
--packagechalk
--versions4.1.0
--target-statusArchived
Exemplo de resultado:
{ "successfulVersions": { "4.1.0": { "revision": "+Oz8skWbwY3k8M6SrNIqNj6bVH/ax+CxvkJx+No5j8I=", "status": "Archived" } }, "failedVersions": {} }
Este exemplo usa um pacote npm, mas o comando funciona de forma idêntica para outros formatos. Várias versões podem ser movidas para o mesmo status de destino usando um único comando, confira o exemplo a seguir.
aws codeartifact update-package-versions-status --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--formatnpm
--packagechalk
--versions4.1.0 4.1.1
--target-statusArchived
Exemplo de resultado:
{ "successfulVersions": { "4.1.0": { "revision": "25/UjBleHs1DZewk+zozoeqH/R80Rc9gL1P8vbzVMJ4=", "status": "Archived" }, "4.1.1": { "revision": "+Oz8skWbwY3k8M6SrNIqNj6bVH/ax+CxvkJx+No5j8I=", "status": "Archived" } }, "failedVersions": {} }
Observe que, uma vez publicada, uma versão do pacote não pode ser movida de volta ao estado Unfinished
, portanto, esse status não é permitido como um valor para o parâmetro --target-status
. Para mover a versão do pacote para o estado Disposed
, use o comando dispose-package-versions
no lugar, conforme descrito abaixo.
Permissões obrigatórias do IAM para atualizar o status da versão do pacote
Para chamar update-package-versions-status
para um pacote, você deve ter a permissão codeartifact:UpdatePackageVersionsStatus
no recurso do pacote. Isso significa que você pode conceder permissão para chamar update-package-versions-status
por pacote. Por exemplo, uma política do IAM que concedesse permissão para chamar update-package-versions-status
o pacote npm chalk
incluiria uma declaração como a seguinte.
{ "Action": [ "codeartifact:UpdatePackageVersionsStatus" ], "Effect": "Allow", "Resource": "arn:aws:codeartifact:
us-east-1
:111122223333
:package/my_domain
/my_repo
/npm//chalk" }
Atualizar o status de um pacote npm com escopo definido
Para atualizar o status da versão do pacote de uma versão do pacote npm com um escopo, use o parâmetro --namespace
. Por exemplo, para remover da lista a versão 8.0.0 do @nestjs/core
, use o comando a seguir.
aws codeartifact update-package-versions-status --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--formatnpm
--namespacenestjs
--packagecore
--versions8.0.0
--target-statusUnlisted
Atualizar o status de um pacote Maven
Os pacotes Maven sempre têm um ID de grupo, chamado de namespace em. CodeArtifact Use o parâmetro --namespace
para especificar o ID do grupo Maven ao chamar update-package-versions-status
. Por exemplo, para arquivar a versão 2.13.1 do pacote Maven org.apache.logging.log4j:log4j
, use o comando a seguir.
aws codeartifact update-package-versions-status --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--formatmaven
--namespaceorg.apache.logging.log4j
--packagelog4j
--versions2.13.1
--target-statusArchived
Especificar uma revisão da versão do pacote
A revisão da versão do pacote é uma string que especifica um determinado conjunto de ativos e metadados da versão de um pacote. Você pode especificar uma revisão da versão do pacote para atualizar o status das versões do pacote que estão em um estado definido. Para especificar uma revisão da versão do pacote, use o parâmetro --version-revisions
para passar uma ou mais versões do pacote separadas por vírgula e os pares de revisão da versão do pacote. O status de uma versão do pacote só será atualizado se a revisão atual da versão do pacote corresponder ao valor especificado.
nota
O parâmetro —-versions
também deve ser definido ao usar o parâmetro --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/R80Rc9gL1P8bzVMJ4=
" --versions4.1.0
--target-statusArchived
Para atualizar várias versões com um único comando, passe uma lista separada por vírgulas de pares de versão e de revisão de versão para as opções --version-revisions
. O comando de exemplo a seguir define dois pares diferentes de versão do pacote e de revisão da versão do pacote.
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
Exemplo de resultado:
{ "successfulVersions": { "4.0.0": { "revision": "E3lhBp0RObRTut4pkjV5c1AQGkgSA7Oxtil6hMMzelc=", "status": "Published" }, "4.1.0": { "revision": "25/UjBleHs1DZewk+zozoeqH/R80Rc9gL1P8vbzVMJ4=", "status": "Published" } }, "failedVersions": {} }
Ao atualizar várias versões do pacote, as versões passadas para --version-revisions
devem ser iguais às versões passadas para --versions
. Se uma revisão for especificada de forma incorreta, o status dessa versão não será atualizado.
Usar o parâmetro de status esperado
O comando update-package-versions-status
apresenta o parâmetro --expected-status
compatível com a especificação do status atual esperado de uma versão do pacote. Se o status atual não corresponder ao valor passado para --expected-status
, o status dessa versão do pacote não será atualizado.
Por exemplo, emmy_repo
, as versões 4.0.0 e 4.1.0 do pacote npm chalk
atualmente têm o status de. Published
Uma chamada para update-package-versions-status
que especifica um status esperado de Unlisted
falhará na atualização de ambas as versões do pacote devido à incompatibilidade de 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
Exemplo de resultado:
{ "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" } } }
Erros com versões de pacotes individuais
Há vários motivos pelos quais o status de uma versão do pacote não será atualizado durante a chamada de update-package-versions-status
. Por exemplo, a revisão da versão do pacote pode ter sido especificada de maneira incorreta ou o status esperado não corresponde ao status atual. Nesses casos, a versão será incluída no mapa failedVersions
na resposta da API. Se uma versão falhar, outras versões especificadas na mesma chamada para update-package-versions-status
poderão ser ignoradas e não ter seu status atualizado. Essas versões também serão incluídas no mapa failedVersions
com um errorCode
deSKIPPED
.
Na implementação atual do update-package-versions-status
, se uma ou mais versões não puderem ter seu status alterado, todas as outras versões serão ignoradas. Ou seja, todas as versões são atualizadas com sucesso ou nenhuma versão é atualizada. Esse comportamento não é garantido no contrato da API; no futuro, algumas versões podem ser bem-sucedidas, enquanto outras falham em uma única chamada para update-package-versions-status
.
O exemplo de comando a seguir inclui uma falha na atualização do status da versão causada por uma incompatibilidade na revisão da versão do pacote. Essa falha na atualização faz com que outra chamada de atualização de status da versão seja ignorada.
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
Exemplo de resultado:
{ "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=" } } }
Descartar as versões do pacote
O status do Disposed
pacote tem um comportamento semelhante aoArchived
, exceto que os ativos do pacote serão excluídos permanentemente CodeArtifact para que a conta do proprietário do domínio não seja mais cobrada pelo armazenamento de ativos. Consulte mais informações sobre o status da versão do pacote em Satus da versão do pacote. Para alterar o status de uma versão do pacote para Disposed
, use o comando dispose-package-versions
. Esse recurso é separado de update-package-versions-status
porque o descarte de uma versão do pacote não é reversível. Como os ativos do pacote serão excluídos, o status da versão não pode ser alterado de volta para Archived
, Unlisted
ou Published
. A única ação que pode ser executada em uma versão de pacote que foi descartada é excluí-la usando o comando delete-package-versions
.
Para chamar dispose-package-versions
com sucesso, a entidade principal do IAM que está chamando deve ter a permissão codeartifact:DisposePackageVersions
no recurso do pacote.
O comportamento do comando dispose-package-versions
é semelhante a update-package-versions-status
, incluindo o comportamento das opções --version-revisions
e --expected-status
descritas nas seções de revisão da versão e status esperado. Por exemplo, o comando a seguir tenta descartar uma versão do pacote, mas falha devido a um status esperado incompatível.
aws codeartifact dispose-package-versions —domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--formatnpm
--packagechalk
--versions4.0.0
--expected-statusUnlisted
Exemplo de resultado:
{ "successfulVersions": {}, "failedVersions": { "4.0.0": { "errorCode": "MISMATCHED_STATUS", "errorMessage": "current status: Published, expected status: Unlisted" } } }
Se o mesmo comando for executado outra vez com um --expected-status
de Published
, o descarte será bem-sucedido.
aws codeartifact dispose-package-versions —domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--formatnpm
--packagechalk
--versions4.0.0
--expected-statusPublished
Exemplo de resultado:
{ "successfulVersions": { "4.0.0": { "revision": "E3lhBp0RObRTut4pkjV5c1AQGkgSA7Oxtil6hMMzelc=", "status": "Disposed" } }, "failedVersions": {} }