@aws- sdk/ 客户端编码
说明
JavaScript Codeartifact 客户端的 AWS SDK 为Node.js, 浏览器和 React Industrial 的客户端.
CodeArtifact是一个与语言本土兼容的全管理文物库 软件包管理器和构建工具,例如npm,Apache Maven, pip, 和dotnet. 您可以使用代码Artiffact 到 与开发团队共享软件包并拉出软件包。 软件包可以从两者中抽取 公共和密码艺术存储器。 您也可以在代码Artifact中创建上游关系 寄存器和另一个寄存器,它们从 查看软件包管理客户端.
密码艺术概念
-
仓库: 一个代码Artifact寄存器包含一组 软件包 版本,其中每个都映射到一组资产或文件。 仓库是 polyglot,所以单个寄存器可以包含任何被支持类型的包. 每个 寄存器会显示使用工具例如
npmCLI 或 maven CLI (mvn) (中文(简体) ). 支持的软件包管理器列表,请参见 密码艺术用户指南。 。 。 . -
域名: 仓库被汇总为一个称为 " a " 的更高一级实体 域名所有软件包资产和元数据都存储在域中, 却通过储存库消耗。 给定的软件包资产,如 Maven JAR 文件, 是 每个域存储一次, 不论它有多少寄存器。 所有资产 和一个域中的元数据用存储在其中的同一客户主密钥(CMK)加密 钥匙管理处(KMS).
每个寄存器都是单个域的成员,不能移动到一个 不同的域名.
域允许跨多个域实施组织政策 储存库,例如哪些账户可以访问域内的储存库,以及 哪些公共储存库可用作软件包的来源.
虽然一个组织可以拥有多个领域,但我们推荐一个单一的作品 包含所有已公布文物的域名,以便团队可以找到和共享软件包 整个组织.
-
软件包页:1 软件包 是一组软件和元数据,需要用于 解决依赖性并安装软件。 CodeArtifact支持npm,PyPI,Maven,Nuget,斯威夫特,Ruby,Cargo,以及通用包格式. 关于所支持的软件包格式和如何与之一起使用代码Artifact的更多信息,请参见 密码艺术用户指南。 。 。 .
在CodeArtifact中,一个包由:
-
A 类 名称 (例如,
webpack名称是 流行 npm 软件包) -
可选命名空间( 例如, ),
@types内@types/node(中文(简体) ) -
一套版本(例如:,
1.0.0, (中文(简体) ),1.0.1, (中文(简体) ),1.0.2页:1 -
包级元数据( 例如 npm 标签)
-
-
软件包组:一组符合指定定义的软件包。 软件包 组合可以用来应用配置到多个符合定义模式的软件包中 软件包格式、软件包命名空间和软件包名称。 您可以更方便地使用软件包组 为多个软件包配置软件包来源控制. 包原产地控制用于阻断或允许摄取或发布 保护用户免受被称为依赖替代攻击的恶意行为.
-
软件包版本: 软件包的版本, 例如
@types/node 12.6.9。版本编号 格式和语义因不同的软件包格式而异。 例如npm 软件包版本 必须符合 语义版本 规格在 CodeArtifact 中,一个软件包版本包含该版本标识符, 软件包版本级别的元数据,以及一组资产. -
上游仓库: 一个存储器是 上游 当软件包版本在 它可以从下游存放处的存放端点有效访问 从客户端的角度合并两个寄存器的内容. 密码艺术 允许在两个寄存器之间建立上游关系.
-
资产: 存储在 CodeArtifact 中的单个文件, 与一个软件包版本相关联, 如 npm
.tgz文档或 Maven POM 和 JAR 文件.
代码Artifact 支持 API 操作
-
AssociateExternalConnection: 添加现有的外部 连接到仓库. -
CopyPackageVersions: 从一个复制包版本 寄存到同一域中的另一个寄存器. -
CreateDomain: 创建一个域. -
CreatePackageGroup: 创建软件包组. -
CreateRepository:在一个域中创建代码Artifact寄存器. -
DeleteDomain: 删除一个域。 您无法删除包含 存储器. -
DeleteDomainPermissionsPolicy: 删除一个域上设置的资源策略. -
DeletePackage:删除一个软件包和所有相关软件包版本. -
DeletePackageGroup: 删除包组。 不删除与软件包组相关的软件包或软件包版本. -
DeletePackageVersions:删除软件包的版本。 在一个包之后 ,但无法恢复其资产和元数据 因为它们已被永久从存储中移除. -
DeleteRepository: 删除寄存器. -
DeleteRepositoryPermissionsPolicy: 删除寄存器上设置的资源策略. -
DescribeDomain: 返回aDomainDescription对象 包含关于请求域的信息. -
DescribePackage: 返回a 软件包描述 对象中包含关于软件包的细节. -
DescribePackageGroup: 返回a 软件包组 对象,包含关于软件包组的细节. -
DescribePackageVersion: 返回a 软件包版本描述 对象,包含关于软件包版本的细节. -
DescribeRepository: 返回aRepositoryDescription对象 包含关于所请求的寄存器的详细信息. -
DisposePackageVersions: 处理软件包的版本. 软件包版本 状态Disposed无法恢复,因为它们已经 永久删除存储. -
DisassociateExternalConnection: 从寄存器中删除已有的外部连接. -
GetAssociatedPackageGroup: 返回指定软件包中关系最密切的软件包组. -
GetAuthorizationToken: 生成访问域内寄存器的临时授权令牌. 批准期限已过. 默认授权期为12小时,可定制到任何长度,最长12小时. -
GetDomainPermissionsPolicy: 返回资源政策 附加在指定域上. -
GetPackageVersionAsset: 返回软件包版本中的资产内容. -
GetPackageVersionReadme:获取软件包版本的readme文件或描述文本. -
GetRepositoryEndpoint: 返回特定软件包格式寄存器的端点。 每个仓库有一个终点 软件包格式 :-
cargo -
generic -
maven -
npm -
nuget -
pypi -
ruby -
swift
-
-
GetRepositoryPermissionsPolicy: 返回寄存器上设置的资源策略. -
ListAllowedRepositoriesForGroup: 列出已设定来源配置的软件包组的允许寄存器ALLOW_SPECIFIC_REPOSITORIES。 。 。 . -
ListAssociatedPackages: 返回与请求的软件包组相关的软件包列表. -
ListDomains: 返回列表DomainSummary对象。 每个 已返回DomainSummary对象包含一个域的信息. -
ListPackages: 在仓库中列出软件包. -
ListPackageGroups: 返回请求域中的软件包组列表. -
ListPackageVersionAssets: 列出给定软件包版本的资产. -
ListPackageVersionDependencies: 返回一个直接依赖关系的列表 软件包版本. -
ListPackageVersions: 返回特定软件包版本列表 软件包. -
ListRepositories: 返回亚马逊Web Services账户拥有的名为这种方法的寄存器列表. -
ListRepositoriesInDomain: 返回一个域中的寄存器列表. -
ListSubPackageGroups: 返回指定包组的直接子列表. -
PublishPackageVersion: 创建包含一个或多个资产的新软件包版本. -
PutDomainPermissionsPolicy: 将资源策略附加到一个域上. -
PutPackageOriginConfiguration: 设置软件包的原产地配置,以确定软件包 如何将软件包的新版本添加到特定的寄存器中. -
PutRepositoryPermissionsPolicy: 在一个寄存器上设置资源策略 指定访问权限. -
UpdatePackageGroup: 更新软件包组。 此 API 无法用于更新软件包组的原产地配置或模式 . -
UpdatePackageGroupOriginConfiguration: 更新软件包组的软件包来源配置. -
UpdatePackageVersionsStatus:更新一个或多个版本的软件包状态. -
UpdateRepository: 更新寄存器的属性.
安装
要安装此软件包, 请使用您最喜欢的软件包管理器的 CLI :
npm install @aws-sdk/client-codeartifactyarn add @aws-sdk/client-codeartifactpnpm add @aws-sdk/client-codeartifact
开始
导入
AWS SDK由客户端和命令进行调制.
要发送请求,只需导入 CodeartifactClient 财务报告和审定财务报表
例如,您需要的命令 ListDomainsCommand数字 :
// ES5 example
const { CodeartifactClient, ListDomainsCommand } = require("@aws-sdk/client-codeartifact");
// ES6+ example
import { CodeartifactClient, ListDomainsCommand } from "@aws-sdk/client-codeartifact";
使用量
发出请求:
- 以配置(如证书,区域)为客户端提供证据.
- 见 文件/中心 用于配置细节.
- 见 @aws- sdk/ 配置 附加选项.
- 以输入参数证明命令 .
- 打电话
send操作客户端,以输入方式提供命令对象.
const client = new CodeartifactClient({ region: "REGION" });
const params = { /** input parameters */ };
const command = new ListDomainsCommand(params);
自动/等待
我们建议使用 等待时 运算符等待通过发送操作返回的承诺如下:
// async/await.
try {
const data = await client.send(command);
// process data.
} catch (error) {
// error handling.
} finally {
// finally.
}
承诺
您还可以使用 承诺连锁。 。 。 .
client
.send(command)
.then((data) => {
// process data.
})
.catch((error) => {
// error handling.
})
.finally(() => {
// finally.
});
合并客户端
归集客户端类别从同套件中导出,但没有"Client"后缀.
Codeartifact 扩展 CodeartifactClient 并额外支持所有操作,服务员, 和活人作为方法.
这种风格可能从JavaScript v2的AWS SDK中为您所熟悉.
如果你正在捆绑 AWS SDK, 我们建议只使用赤骨客户端(CodeartifactClient) (中文(简体) ).
更多详情见博客文章:
javaScript 的 AWS SDK 模块包。 。 。 .
import { Codeartifact } from "@aws-sdk/client-codeartifact";
const client = new Codeartifact({ region: "REGION" });
// async/await.
try {
const data = await client.listDomains(params);
// process data.
} catch (error) {
// error handling.
}
// Promises.
client
.listDomains(params)
.then((data) => {
// process data.
})
.catch((error) => {
// error handling.
});
// callbacks (not recommended).
client.listDomains(params, (err, data) => {
// process err and data.
});
解决问题
当服务返回例外时,错误将包括例外信息, 以及响应元数据(如请求编号).
try {
const data = await client.send(command);
// process data.
} catch (error) {
const { requestId, cfId, extendedRequestId } = error.$metadata;
console.log({ requestId, cfId, extendedRequestId });
/**
* The keys within exceptions are also parsed.
* You can access them by specifying exception names:
* if (error.name === 'SomeServiceException') {
* const value = error.specialKeyInException;
* }
*/
}
另见 文档/错误。 。 。 .
获取帮助
请利用这些社区资源获得帮助. 我们使用 GitHub 问题来跟踪错误和特性请求,但处理它们的带宽有限.
- 访问 开发者指南 或者说 API 参考。 。 。 .
- 看看贴有标签的博客文章
aws-sdk-jsaWS 开发者博客. - 问个问题 叠叠流 并贴上标签
aws-sdk-js。 。 。 . - 加入 AWS JavaScript 社区 发光。 。 。 .
- 如果你发现你发现了一个虫子,请 打开一个问题。 。 。 .
为了测试您在Node.js中通用的JavaScript代码,浏览器和反应本地环境, 拜访我们 代码样本 repo。 。 。 .
捐款
此客户端代码是自动生成的. 任何修改在下次修改时都会被覆盖 @aws-sdk/client-codeartifact 软件包正在更新.
为了帮助客户,你可以检查我们 生成客户端脚本。 。 。 .
许可证
此 SDK 分布于 Apache 许可证,2.0版本, (中文(简体) ), 更多信息见LICENSE.