@aws-sdk/客户端-ivs
说明
JavaScript Ivs Client for Node.js的AWS SDK,浏览器和回放原生.
导言
Amazon Interactive Video Service(IVS) API是REST相容的,使用标准的HTTP API和Amazon Web Service EventBridge事件流进行响应. JSON既用于请求,也用于答复,包括出错.
API是一个亚马逊网络服务区域服务. 关于支助区域和亚马逊IVS HTTPS服务终点列表,请参见: 亚马逊IVS页面 输入 亚马逊网络服务总参考。 。 。 .
所有API请求参数和URL都是对大小写敏感的.
每期的显著文件变化概要,见 文档历史。 。 。 .
允许的标题值
-
Accept:应用程序/json -
Accept-Encoding:gzip, 调高 -
Content-Type:应用程序/json
关键概念
-
频道 ——存储与您直播流相关的配置数据. 您首先创建频道, 然后使用频道的流键启动您的活流 .
-
流键 —— 亚马逊IVS在创建频道时指定的标识符,然后用于授权流. 把流键当作秘密处理,因为它允许任何人流到频道.
-
回放密钥对 ——视频回放可能使用播放回放授权令牌进行限制,使用公钥加密. 回放密钥对是公用-私用密钥对一对,用于签名和验证回放授权符.
-
记录配置 ——存储配置与录制活流和将所录内容放入何处有关. 多个频道可以参考相同的录音配置.
-
回放限制政策 国家和(或)原产地限制回放.
更多信息,请查看InfoFinland上的 IVS 直播流 从IVS低密度流化开始。 。 。 .
缠绕
A 类 标签 是您为 Amazon Web 服务 资源指定的元数据标签。 标签包含 键 (单位:千美元) 价值你们俩都安排好了 例如,您可能设置标签为 topic:nature 标记特定视频类别。 见 最佳做法和战略 内 Taging Amazon 网络服务资源和标签编辑器 细节,包括适用于标签和“标签命名限制和要求”的限制; Amazon IVS除了记录的内容之外,没有具体服务限制.
标记可以帮助您识别和组织您的亚马逊网络服务资源. 例如,您可以使用不同资源的同名标记来表示它们具有关联性. 您也可以使用标签来管理访问(参见 访问标记) (中文(简体) ).
Amazon IVS API有这些与标记相关的操作: 标签资源, (中文(简体) ), 调和资源,以及 列表标签格式资源。以下资源支持标记:通道、流键、回放键对等和记录配置.
最多50个标记可以应用到一个资源上.
认证与授权
注意到这些概念之间的差异:
-
认证 是为了验证身份 您需要认证才能签署 Amazon IVS API 请求 .
-
授权 这是关于批准。 您的 IAM 角色需要拥有 Amazon IVS API 请求的权限 。 此外,需要授权才能查看 亚马逊IVS私人频道. (私人频道是允许"回放授权"的频道
认证
所有亚马逊IVS API请求都必须通过签名认证. 亚马逊网络服务指令-线上接口(CLI)和亚马逊IVS Player SDKs负责为您签名基本的API呼叫. 如果您的应用程序直接拨打Amazon IVS API, 您有责任签署请求.
您使用有效的 Amazon Web Services 证书生成签名, 这些证书可以执行请求的动作 。 例如,您必须在 PutMetadata 请求上签名,签名来自拥有 ivs:PutMetadata 允许.
更多信息:
-
认证和生成签名——见 认证请求( Amazon Web Services Signation 版本 4) 输入 亚马逊网络服务总参考。 。 。 .
-
管理亚马逊IVS权限——参见 身份和访问管理 安全页面 Amazon IVS 用户指南。 。 。 .
亚马逊资源名称( ARNs)
ARNs独有地识别AWS资源. 当您需要在所有AWS中明确指定资源时,例如IAM政策和API调用时,需要一个ARN. 更多信息见 亚马逊资源名称 输入 AWS 一般参考。 。 。 .
安装
要安装此软件包, 请使用您最喜欢的软件包管理器的 CLI :
npm install @aws-sdk/client-ivsyarn add @aws-sdk/client-ivspnpm add @aws-sdk/client-ivs
开始
导入
AWS SDK由客户端和命令进行调制.
要发送请求,只需导入 IvsClient 财务报告和审定财务报表
例如,您需要的命令 ListStreamsCommand数字 :
// ES5 example
const { IvsClient, ListStreamsCommand } = require("@aws-sdk/client-ivs");
// ES6+ example
import { IvsClient, ListStreamsCommand } from "@aws-sdk/client-ivs";
使用量
发出请求:
- 以配置(如证书,区域)为客户端提供证据.
- 见 文件/中心 用于配置细节.
- 见 @aws- sdk/ 配置 附加选项.
- 以输入参数证明命令 .
- 打电话
send操作客户端,以输入方式提供命令对象.
const client = new IvsClient({ region: "REGION" });
const params = { /** input parameters */ };
const command = new ListStreamsCommand(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"后缀.
Ivs 扩展 IvsClient 并额外支持所有操作,服务员, 和活人作为方法.
这种风格可能从JavaScript v2的AWS SDK中为您所熟悉.
如果你正在捆绑 AWS SDK, 我们建议只使用赤骨客户端(IvsClient) (中文(简体) ).
更多详情见博客文章:
javaScript 的 AWS SDK 模块包。 。 。 .
import { Ivs } from "@aws-sdk/client-ivs";
const client = new Ivs({ region: "REGION" });
// async/await.
try {
const data = await client.listStreams(params);
// process data.
} catch (error) {
// error handling.
}
// Promises.
client
.listStreams(params)
.then((data) => {
// process data.
})
.catch((error) => {
// error handling.
});
// callbacks (not recommended).
client.listStreams(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-ivs 软件包正在更新.
为了帮助客户,你可以检查我们 生成客户端脚本。 。 。 .
许可证
此 SDK 分布于 Apache 许可证,2.0版本, (中文(简体) ), 更多信息见LICENSE.