15 个稳定版本 (4 个主要版本)
5.0.4+20240221 | 2024年3月5日 |
---|---|
5.0.3+20230110 | 2023年8月23日 |
5.0.2+20230110 | 2023年3月16日 |
4.0.1+20220222 | 2022年9月14日 |
1.0.10+20190506 | 2019年7月6日 |
#11 in #web-api
1,055 个月下载量
用于 google-bigtableadmin2-cli
1MB
10K SLoC
google-bigtableadmin2
库允许访问 Google Bigtable Admin 服务(协议 v2)的所有功能。
本文档由 Bigtable Admin crate 版本 5.0.4+20240221 生成,其中 20240221 是由 mako 代码生成器 v5.0.4 构建的 bigtableadmin:v2 模式的确切修订。
有关 Bigtable Admin v2 API 的其他信息,请参阅官方文档站点。
功能
轻松从中央 中心 ...
- 处理以下 资源...
- 获取 和 项目操作列表
- 项目
- instances app profiles create, instances app profiles delete, instances app profiles get, instances app profiles list, instances app profiles patch, instances clusters backups copy, instances clusters backups create, instances clusters backups delete, instances clusters backups get, instances clusters backups get iam policy, instances clusters backups list, instances clusters backups patch, instances clusters backups set iam policy, instances clusters backups test iam permissions, instances clusters create, instances clusters delete, instances clusters get, instances clusters hot tablets list, instances clusters list, instances clusters partial update cluster, instances clusters update, instances create, instances delete, instances get, instances get iam policy, instances list, instances partial update instance, instances set iam policy, instances tables check consistency, instances tables create, instances tables delete, instances tables drop row range, instances tables generate consistency token, instances tables get, instances tables get iam policy, instances tables list, instances tables modify column families, instances tables patch, instances tables restore, instances tables set iam policy, instances tables test iam permissions, instances tables undelete, instances test iam permissions, instances update and locations list
本库的结构
API 结构为以下主要项目
所有 结构 都带有适用的特质,以进一步分类它们并便于浏览。
一般来说,你可以这样调用 活动
let r = hub.resource().activity(...).doit().await
或者具体地 ...
let r = hub.operations().projects_operations_list(...).doit().await
let r = hub.operations().get(...).doit().await
let r = hub.projects().instances_app_profiles_patch(...).doit().await
let r = hub.projects().instances_clusters_backups_copy(...).doit().await
let r = hub.projects().instances_clusters_backups_create(...).doit().await
let r = hub.projects().instances_clusters_create(...).doit().await
let r = hub.projects().instances_clusters_partial_update_cluster(...).doit().await
let r = hub.projects().instances_clusters_update(...).doit().await
let r = hub.projects().instances_tables_patch(...).doit().await
let r = hub.projects().instances_tables_restore(...).doit().await
let r = hub.projects().instances_tables_undelete(...).doit().await
let r = hub.projects().instances_create(...).doit().await
let r = hub.projects().instances_partial_update_instance(...).doit().await
resource
和 activity
调用创建 构建器。第二个处理 Activities
的调用支持配置即将进行的操作的各种方法(此处未显示)。它设计成所有必要的参数必须立即指定(即 (...)
),而所有可选的参数都可以按需 构建。doit
方法执行与服务器的实际通信并返回相应的结果。
使用方法
设置项目
要使用此库,您需要将以下行放入您的 Cargo.toml
文件中
[dependencies]
google-bigtableadmin2 = "*"
serde = "^1.0"
serde_json = "^1.0"
完整示例
extern crate hyper;
extern crate hyper_rustls;
extern crate google_bigtableadmin2 as bigtableadmin2;
use bigtableadmin2::{Result, Error};
use std::default::Default;
use bigtableadmin2::{BigtableAdmin, oauth2, hyper, hyper_rustls, chrono, FieldMask};
// Get an ApplicationSecret instance by some means. It contains the `client_id` and
// `client_secret`, among other things.
let secret: oauth2::ApplicationSecret = Default::default();
// Instantiate the authenticator. It will choose a suitable authentication flow for you,
// unless you replace `None` with the desired Flow.
// Provide your own `AuthenticatorDelegate` to adjust the way it operates and get feedback about
// what's going on. You probably want to bring in your own `TokenStorage` to persist tokens and
// retrieve them from storage.
let auth = oauth2::InstalledFlowAuthenticator::builder(
secret,
oauth2::InstalledFlowReturnMethod::HTTPRedirect,
).build().await.unwrap();
let mut hub = BigtableAdmin::new(hyper::Client::builder().build(hyper_rustls::HttpsConnectorBuilder::new().with_native_roots().https_or_http().enable_http1().build()), auth);
// You can configure optional parameters by calling the respective setters at will, and
// execute the final call using `doit()`.
// Values shown here are possibly random and not representative !
let result = hub.operations().projects_operations_list("name")
.page_token("magna")
.page_size(-11)
.filter("ipsum")
.doit().await;
match result {
Err(e) => match e {
// The Error enum provides details about what exactly happened.
// You can also just use its `Debug`, `Display` or `Error` traits
Error::HttpError(_)
|Error::Io(_)
|Error::MissingAPIKey
|Error::MissingToken(_)
|Error::Cancelled
|Error::UploadSizeLimitExceeded(_, _)
|Error::Failure(_)
|Error::BadRequest(_)
|Error::FieldClash(_)
|Error::JsonDecodeError(_, _) => println!("{}", e),
},
Ok(res) => println!("Success: {:?}", res),
}
处理错误
系统产生的所有错误都作为 Result 枚举提供,作为 doit
() 方法的返回值,或者作为可能的中继结果传递给 Hub Delegate 或 Authenticator Delegate。
当委托处理错误或中继值时,它们可能会有机会指示系统重试。这使得系统可能对所有类型的错误具有弹性。
上传和下载
如果方法支持下载,应该由您读取响应体来获取媒体,该响应体是 Result 的一部分。如果此方法还支持 Response Result,则默认返回该结果。您可以将其视为实际媒体的元数据。要触发媒体下载,您需要通过执行此调用来设置构建器:.param("alt", "media")
。
支持上传的方法可以使用最多两种不同的协议:简单 和 可恢复。每个的区别由定制的 doit(...)
方法表示,分别命名为 upload(...)
和 upload_resumable(...)
。
定制和回调
您可以通过在执行最后的 doit
() 调用之前向 Method Builder
提供一个 delegate 来更改 doit()
方法的调用方式。相应的方 法将调用以提供进度信息,并确定系统在失败时是否应重试。
delegate trait 默认实现,让您以最小的努力进行自定义。
服务器请求中的可选部分
本库提供的所有结构都是设计为可以通过json进行编码和解码的。编码和解码是通过响应结果实现的。使用可选参数来表示部分请求或响应是有效的。大多数可选参数被认为是部分,可以通过名称识别,这些部分将被发送到服务器以指示请求或响应中所需的部分。
构建器参数
通过使用方法构建器,您可以多次调用它的方法来准备一个动作调用。这些方法始终接受单个参数,以下陈述是正确的。
参数将始终被复制或克隆到构建器中,以确保它们与原始生命周期独立。
许可证
bigtableadmin2库由Sebastian Thiel生成,并置于MIT许可证之下。您可以在存储库的许可证文件中阅读全文。
依赖项
~17–28MB
~537K SLoC