29 个稳定版本 (4 个主要版本)
5.0.5+20240531 | 2024 年 6 月 27 日 |
---|---|
5.0.4+20240223 | 2024 年 3 月 5 日 |
5.0.3+20230104 | 2023 年 8 月 23 日 |
5.0.2+20230104 | 2023 年 3 月 16 日 |
1.0.2+20161206 | 2016 年 12 月 27 日 |
在 网页编程 中排名 2832
每月下载 711 次
在 google-logging2-cli 中使用
3.5MB
42K SLoC
google-logging2
库允许访问 Google 日志服务的所有功能。
本文档基于 Logging crate 版本 5.0.5+20240531 生成,其中 20240531 是由 mako 代码生成器 v5.0.5 构建的 logging:v2 架构的确切修订版本。
有关 Logging v2 API 的其他信息,请参阅 官方文档网站。
特性
从中心 中心 轻松处理以下 资源...
- 计费账户
- exclusions create, exclusions delete, exclusions get, exclusions list, exclusions patch, get cmek settings, get settings, locations buckets create, locations buckets create async, locations buckets delete, locations buckets get, locations buckets links create, locations buckets links delete, locations buckets links get, locations buckets links list, locations buckets list, locations buckets patch, locations buckets undelete, locations buckets update async, locations buckets views create, locations buckets views delete, locations buckets views get, locations buckets views list, locations buckets views logs list, locations buckets views patch, locations get, locations list, locations operations cancel, locations operations get, locations operations list, locations recent queries list, locations saved queries create, locations saved queries delete, locations saved queries list, logs delete, logs list, sinks create, sinks delete, sinks get, sinks list, sinks patch and sinks update
- 条目
- 复制、列出、尾部 和 写入
- 排除项
- 创建、删除、获取、列出 和 修补
- 文件夹
- exclusions create, exclusions delete, exclusions get, exclusions list, exclusions patch, get cmek settings, get settings, locations buckets create, locations buckets create async, locations buckets delete, locations buckets get, locations buckets links create, locations buckets links delete, locations buckets links get, locations buckets links list, locations buckets list, locations buckets patch, locations buckets undelete, locations buckets update async, locations buckets views create, locations buckets views delete, locations buckets views get, locations buckets views get iam policy, locations buckets views list, locations buckets views logs list, locations buckets views patch, locations buckets views set iam policy, locations buckets views test iam permissions, locations get, locations list, locations operations cancel, locations operations get, locations operations list, locations recent queries list, locations saved queries create, locations saved queries delete, locations saved queries list, logs delete, logs list, sinks create, sinks delete, sinks get, sinks list, sinks patch, sinks update and update settings
- 位置
- 桶创建,桶异步创建,桶删除,桶获取,桶链接创建,桶链接删除,桶链接获取,桶链接列表,桶列表,桶修补,桶恢复删除,桶异步更新,桶视图创建,桶视图删除,桶视图获取,桶视图获取 IAM 策略,桶视图列表,桶视图修补,桶视图设置 IAM 策略,桶视图测试 IAM 权限,获取,列表,操作取消,操作获取和操作列表
- 日志
- 删除和列表
- 监控资源描述符
- 列表
- 组织
- exclusions create, exclusions delete, exclusions get, exclusions list, exclusions patch, get cmek settings, get settings, locations buckets create, locations buckets create async, locations buckets delete, locations buckets get, locations buckets links create, locations buckets links delete, locations buckets links get, locations buckets links list, locations buckets list, locations buckets patch, locations buckets undelete, locations buckets update async, locations buckets views create, locations buckets views delete, locations buckets views get, locations buckets views get iam policy, locations buckets views list, locations buckets views logs list, locations buckets views patch, locations buckets views set iam policy, locations buckets views test iam permissions, locations get, locations list, locations operations cancel, locations operations get, locations operations list, locations recent queries list, locations saved queries create, locations saved queries delete, locations saved queries list, logs delete, logs list, sinks create, sinks delete, sinks get, sinks list, sinks patch, sinks update, update cmek settings and update settings
- 项目
- exclusions create, exclusions delete, exclusions get, exclusions list, exclusions patch, get cmek settings, get settings, locations buckets create, locations buckets create async, locations buckets delete, locations buckets get, locations buckets links create, locations buckets links delete, locations buckets links get, locations buckets links list, locations buckets list, locations buckets patch, locations buckets undelete, locations buckets update async, locations buckets views create, locations buckets views delete, locations buckets views get, locations buckets views get iam policy, locations buckets views list, locations buckets views logs list, locations buckets views patch, locations buckets views set iam policy, locations buckets views test iam permissions, locations get, locations list, locations operations cancel, locations operations get, locations operations list, locations recent queries list, locations saved queries create, locations saved queries delete, locations saved queries list, logs delete, logs list, metrics create, metrics delete, metrics get, metrics list, metrics update, sinks create, sinks delete, sinks get, sinks list, sinks patch and sinks update
- 输出
- 创建,删除,获取,列表和更新
其他活动是 ...
此库的结构
API 被组织成以下主要项目
所有 结构 都使用适用的特性标记,以便进一步分类并便于浏览。
一般来说,你可以这样调用活动:
let r = hub.resource().activity(...).doit().await
或者更具体地说...
let r = hub.billing_accounts().exclusions_delete(...).doit().await
let r = hub.billing_accounts().locations_buckets_views_delete(...).doit().await
let r = hub.billing_accounts().locations_buckets_delete(...).doit().await
let r = hub.billing_accounts().locations_buckets_undelete(...).doit().await
let r = hub.billing_accounts().locations_operations_cancel(...).doit().await
let r = hub.billing_accounts().locations_saved_queries_delete(...).doit().await
let r = hub.billing_accounts().logs_delete(...).doit().await
let r = hub.billing_accounts().sinks_delete(...).doit().await
let r = hub.exclusions().delete(...).doit().await
let r = hub.folders().exclusions_delete(...).doit().await
let r = hub.folders().locations_buckets_views_delete(...).doit().await
let r = hub.folders().locations_buckets_delete(...).doit().await
let r = hub.folders().locations_buckets_undelete(...).doit().await
let r = hub.folders().locations_operations_cancel(...).doit().await
let r = hub.folders().locations_saved_queries_delete(...).doit().await
let r = hub.folders().logs_delete(...).doit().await
let r = hub.folders().sinks_delete(...).doit().await
let r = hub.locations().buckets_views_delete(...).doit().await
let r = hub.locations().buckets_delete(...).doit().await
let r = hub.locations().buckets_undelete(...).doit().await
let r = hub.locations().operations_cancel(...).doit().await
let r = hub.logs().delete(...).doit().await
let r = hub.organizations().exclusions_delete(...).doit().await
let r = hub.organizations().locations_buckets_views_delete(...).doit().await
let r = hub.organizations().locations_buckets_delete(...).doit().await
let r = hub.organizations().locations_buckets_undelete(...).doit().await
let r = hub.organizations().locations_operations_cancel(...).doit().await
let r = hub.organizations().locations_saved_queries_delete(...).doit().await
let r = hub.organizations().logs_delete(...).doit().await
let r = hub.organizations().sinks_delete(...).doit().await
let r = hub.projects().exclusions_delete(...).doit().await
let r = hub.projects().locations_buckets_views_delete(...).doit().await
let r = hub.projects().locations_buckets_delete(...).doit().await
let r = hub.projects().locations_buckets_undelete(...).doit().await
let r = hub.projects().locations_operations_cancel(...).doit().await
let r = hub.projects().locations_saved_queries_delete(...).doit().await
let r = hub.projects().logs_delete(...).doit().await
let r = hub.projects().metrics_delete(...).doit().await
let r = hub.projects().sinks_delete(...).doit().await
let r = hub.sinks().delete(...).doit().await
resource()
和activity(...)
调用创建构建器。第二个与Activities
相关的支持各种配置即将进行的操作的方法(此处未显示)。它被设计成必须立即指定所有必需的参数(即(...)
),而所有可选的都可以按照需求构建。doit()
方法执行与服务器实际通信并返回相应的结果。
用法
设置你的项目
要使用这个库,你需要在你的Cargo.toml
文件中添加以下几行
[dependencies]
google-logging2 = "*"
serde = "^1.0"
serde_json = "^1.0"
一个完整的例子
extern crate hyper;
extern crate hyper_rustls;
extern crate google_logging2 as logging2;
use logging2::api::UndeleteBucketRequest;
use logging2::{Result, Error};
use std::default::Default;
use logging2::{Logging, 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 = Logging::new(hyper::Client::builder().build(hyper_rustls::HttpsConnectorBuilder::new().with_native_roots().unwrap().https_or_http().enable_http1().build()), auth);
// As the method needs a request, you would usually fill it with the desired information
// into the respective structure. Some of the parts shown here might not be applicable !
// Values shown here are possibly random and not representative !
let mut req = UndeleteBucketRequest::default();
// 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.billing_accounts().locations_buckets_undelete(req, "name")
.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")
。
支持上传的方法可以使用最多2种不同的协议:简单和可恢复。每种协议的独特性由定制的doit(...)
方法表示,分别命名为upload(...)
和upload_resumable(...)
。
定制和回调
您可以通过在执行最终的doit()
调用之前向Method Builder
提供一个代理来更改调用doit()
方法的方式。相应的方将调用提供进度信息,以及确定系统在失败时是否应该重试。
委托特质(delegate trait)默认实现,允许您以最小的努力进行自定义。
服务器请求中的可选部分
此库提供的所有结构都设计为可以通过 json 进行 编码 和 解码。可选部分用于表示部分请求和响应是有效的。大多数可选部分被视为 部分,这些部分可以通过名称识别,将发送到服务器以指示请求的设置部分或响应中希望包含的部分。
构建器参数
使用 方法构建器,您可以通过反复调用其方法来准备一个动作调用。这些方法总是接受一个参数,以下陈述适用于该参数。
参数将始终复制或克隆到构建器中,以使其与原始生命周期独立。
Cargo 功能
utoipa
- 为所有类型添加对 utoipa 的支持,并派生utoipa::ToSchema
。您必须在#[openapi(schemas(...))]
中导入并注册所需类型,否则生成的openapi
规范将无效。
许可证
logging2 库由 Sebastian Thiel 创建,并置于 MIT 许可证之下。您可以在存储库的 许可证文件 中阅读全文。
依赖关系
~12–22MB
~342K SLoC