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á.
Comportamento da API com repositórios upstream
Quando você chama determinadas CodeArtifact APIs em repositórios conectados a repositórios upstream, o comportamento pode ser diferente dependendo se os pacotes ou as versões do pacote estão armazenados no repositório de destino ou no repositório upstream. O comportamento dessas APIs está documentado aqui.
Para obter mais informações sobre CodeArtifact APIs, consulte a Referência da CodeArtifact API.
A maioria das APIs que fazem referência a um pacote ou a uma versão de pacote retornará um erro de ResourceNotFound
se a versão do pacote especificada não estiver presente no repositório de destino. Isso acontece mesmo se o pacote ou a versão do pacote estiver presente em um repositório upstream. Efetivamente, os repositórios upstream são ignorados ao chamar essas APIs. Essas APIs são:
DeletePackageVersions
DescribePackageVersion
GetPackageVersionAsset
GetPackageVersionReadme
ListPackages
ListPackageVersionAssets
ListPackageVersionDependencies
ListPackageVersions
UpdatePackageVersionsStatus
Para demonstrar esse comportamento, temos dois repositórios: o target-repo
e upstream-repo
. O target-repo
está vazio e tem o upstream-repo
configurado como um repositório upstream. O upstream-repo
contém o pacote npm lodash
.
Ao chamar a API DescribePackageVersion
no upstream-repo
, que contém o pacote lodash
, obtemos o seguinte resultado:
{ "packageVersion": { "format": "npm", "packageName": "lodash", "displayName": "lodash", "version": "4.17.20", "summary": "Lodash modular utilities.", "homePage": "https://lodash.com/", "sourceCodeRepository": "https://github.com/lodash/lodash.git", "publishedTime": "2020-10-14T11:06:10.370000-04:00", "licenses": [ { "name": "MIT" } ], "revision": "Ciqe5/9yicvkJT13b5/LdLpCyE6fqA7poa9qp+FilPs=", "status": "Published" }
Ao chamar a mesma API no target-repo
, que está vazio, mas tem o upstream-repo
configurado como upstream, obtemos o seguinte resultado:
An error occurred (ResourceNotFoundException) when calling the DescribePackageVersion operation: Package not found in repository. RepoId:
repo-id
, Package = PackageCoordinate{packageType=npm, packageName=lodash},
A API CopyPackageVersions
se comporta de forma diferente. Por padrão, a API CopyPackageVersions
copia somente as versões do pacote que estão armazenadas no repositório de destino. Se uma versão do pacote for armazenada no repositório upstream, mas não no repositório de destino, ela não será copiada. Para incluir versões de pacotes que são armazenados somente no repositório upstream, defina o valor de includeFromUpstream
para true
na sua solicitação de API.
Para mais informações sobre a API CopyPackageVersions
, consulte Copiar pacotes entre repositórios.