86个版本 (42个稳定版)
新 1.42.0 | 2024年8月15日 |
---|---|
1.39.0 | 2024年7月22日 |
1.19.0 | 2024年3月26日 |
1.9.0 | 2023年12月21日 |
0.0.0 |
|
#4 in #key-pair
每月395次下载
2.5MB
38K SLoC
aws-sdk-ivs
简介
Amazon Interactive Video Service (IVS) API 兼容REST,使用标准的HTTP API和Amazon Web Services EventBridge事件流进行响应。请求和响应(包括错误)都使用JSON格式。
API是Amazon Web Services的区域服务。有关支持的地区和Amazon IVS HTTPS服务端点的列表,请参阅《Amazon Web Services一般参考》中的Amazon IVS页面。
_ __所有API请求参数和URL都是区分大小写的。 __ _
有关每个版本中显著文档更改的摘要,请参阅文档历史。
允许的头部值
- Accept: application/json
- Accept-Encoding: gzip, deflate
- Content-Type: application/json
关键概念
- 频道 — 存储与您的直播流相关的配置数据。您首先创建一个频道,然后使用频道的流密钥来开始您的直播流。
- 流密钥 — 当您创建频道时,Amazon IVS分配的一个标识符,然后用于授权流式传输。 _ 将流密钥视为秘密,因为它允许任何人向该频道流式传输。 _
- 播放密钥对 — 使用播放授权令牌可以限制视频播放,这些令牌使用公钥加密。播放密钥对是用于签名和验证播放授权令牌的公钥-私钥对。
- 录制配置 — 存储与录制直播流相关的配置以及记录内容的存储位置。多个频道可以引用相同的录制配置。
- 播放限制策略 — 根据国家/地区和/或来源站点限制播放。
有关您的IVS直播流的更多信息,请参阅IVS低延迟流入门。
标记
标签是您为Amazon Web Services资源分配的元数据标签。标签由一个键和一个值组成,均由您设置。例如,您可以设置一个标签为topic:nature,以标记特定的视频类别。有关更多信息,包括标签的约束条件和“标签命名限制和要求”,请参阅标签Amazon Web Services资源。Amazon IVS在此之外没有特定服务的约束。
标签可以帮助您识别和组织您的Amazon Web Services资源。例如,您可以使用相同的标签标记不同的资源,以指示它们之间有联系。您还可以使用标签来管理访问(请参阅访问标签)。
Amazon IVS API具有以下与标签相关的端点:TagResource、UntagResource和ListTagsForResource。以下资源支持标签:频道、流密钥、播放密钥对和录制配置。
每个资源最多可以应用50个标签。
身份验证与授权
请注意这些概念之间的区别
- 身份验证是关于验证身份。您需要通过身份验证来签署Amazon IVS API请求。
- 授权是关于授予权限。您的IAM角色需要具有对Amazon IVS API请求的权限。此外,查看Amazon IVS私有频道也需要授权。(私有频道是启用了“播放授权”的频道)。
身份验证
所有Amazon IVS API请求都必须通过签名进行身份验证。Amazon Web Services命令行界面(CLI)和Amazon IVS Player SDK为您处理底层API调用的签名。但是,如果您的应用程序直接调用Amazon IVS API,则您有责任签署请求。
您使用有效的Amazon Web Services凭据生成签名,这些凭据具有执行请求操作的权限。例如,您必须使用具有ivs:PutMetadata权限的用户帐户生成的签名来签署PutMetadata请求。
更多信息
- 身份验证和生成签名 - 请参阅在Amazon Web Services通用参考中的请求身份验证(Amazon Web Services签名版本4)。
- 管理Amazon IVS权限 - 请参阅身份和访问管理在Amazon IVS用户指南的安全页面。
Amazon资源名称(ARN)
ARN可以唯一标识AWS资源。在您需要在整个AWS中明确指定资源时,需要ARN,例如在IAM策略和API调用中。有关更多信息,请参阅AWS通用参考中的Amazon资源名称。
入门
许多服务和操作都有示例,请查看GitHub上的示例文件夹。
SDK为每个AWS服务提供了一个crate。您必须在Rust项目中添加Tokio作为依赖项来执行异步代码。要将aws-sdk-ivs
添加到您的项目中,请将以下内容添加到您的Cargo.toml
文件中:
[dependencies]
aws-config = { version = "1.1.7", features = ["behavior-version-latest"] }
aws-sdk-ivs = "1.42.0"
tokio = { version = "1", features = ["full"] }
然后在代码中,可以使用以下方式创建客户端:
use aws_sdk_ivs as ivs;
#[::tokio::main]
async fn main() -> Result<(), ivs::Error> {
let config = aws_config::load_from_env().await;
let client = aws_sdk_ivs::Client::new(&config);
// ... make some calls with the client
Ok(())
}
请参阅客户端文档,以了解可以发出哪些调用以及每个调用的输入和输出。
使用SDK
在SDK发布之前,我们将向开发指南中添加有关使用SDK的信息。您可以免费通过打开一个问题并描述您试图做什么来建议指南的附加部分。
获取帮助
- GitHub 讨论区 - 有关想法、RFC和一般问题
- GitHub 问题 - 用于错误报告和功能请求
- 生成的文档(最新版本)
- 使用示例
许可证
本项目采用Apache-2.0许可证。
依赖项
~8–20MB
~283K SLoC