#open-whisk #client #action #openwhisk #applications #version #invoke

openwhisk-client-rust

用Rust编写的OpenWhisk客户端

2个版本

0.1.7 2023年6月12日
0.1.6 2023年4月1日

#10 in #invoke

每月 36 次下载

Apache-2.0

71KB
1K SLoC

Openwhisk Client Rust

OpenWhisk Rust客户端是一个用于与OpenWhisk API交互的Rust库。它使开发者能够轻松地从他们的Rust应用程序中访问OpenWhisk功能。

先决条件

确保您的系统上已安装并配置了最新版本的Rust。

安装

将以下内容添加到您的 Cargo.toml 文件中

[dependencies]
openwhisk-client-rust = { version = "0.1.7", default-features = false }

然后,运行 cargo build 以下载和编译OpenWhisk Rust客户端。

用法

要开始使用OpenWhisk Rust客户端,您需要使用您的OpenWhisk凭据和设置配置客户端。

配置

创建一个包含您的API主机、认证令牌、命名空间和连接安全偏好的 WskProperties 实例

let wsk_properties = WskProperties::new(
			"<Openwhisk_Auth_Token>",
			"<Openwhisk_API_Host>",
			"<Namespace>"
 );
  • Openwhisk_Auth_Token:这是用于认证对OpenWhisk API请求的认证令牌。您可以通过转到“命名空间”选项卡下的“API密钥”部分从OpenWhisk控制台获取此令牌。您应该在代码片段中的 <Openwhisk_Auth_Token> 替换实际的令牌字符串。
  • Openwhisk_API_Host:这是OpenWhisk API端点的域名或IP地址。您可以通过转到“命名空间”选项卡下的“端点”部分从OpenWhisk控制台找到端点URL。您应该在代码片段中的 <Openwhisk_API_Host> 替换实际的端点URL。
  • 命名空间:这是您想要与之交互的OpenWhisk命名空间名称。您可以在OpenWhisk控制台的“命名空间”选项卡下找到您的命名空间名称。您应该在代码片段中的 <Namespace> 替换实际的命名空间名称。

示例

以下是一些使用OpenWhisk Rust客户端的示例

  • 调用已部署的操作
use openwhisk_client_rust::{NativeClient, OpenwhiskClient, WskProperties};

let wsk_properties = WskProperties::new(
			"<Openwhisk_Auth_Token>",
			"<Openwhisk_API_Host>",
			"<Namespace>"
	  );

let client = OpenwhiskClient::<NativeClient>::new(Some(&wsk_properties));

client.actions().invoke("action_name",serde_json::json!({"key":"value"}),true,true).unwrap();

  • 获取可用的触发器列表
use openwhisk_client_rust::{NativeClient, OpenwhiskClient, WskProperties};

let wsk_properties = WskProperties::new(
			"<Openwhisk_Auth_Token>",
			"<Openwhisk_API_Host>",
			"<Namespace>"
	  );

let client = OpenwhiskClient::<NativeClient>::new(Some(&wsk_properties));

let triggers = client.triggers().list().unwrap();
  • 获取可用的规则列表
use openwhisk_client_rust::{NativeClient, OpenwhiskClient, Rule, RuleResponse, WskProperties};

let wsk_properties = WskProperties::new(
			"<Openwhisk_Auth_Token>",
			"<Openwhisk_API_Host>",
			"<Namespace>"
	  );

let client = OpenwhiskClient::<NativeClient>::new(Some(&wsk_properties));

let properties = client.rules().list().unwrap();

测试

使用以下命令运行测试套件

cargo test

贡献

我们欢迎对库进行改进、添加新功能和修复错误的贡献。要贡献,请按照以下步骤操作

  • 分支仓库
  • 克隆您的分支
  • 创建一个新分支
  • 在本地仓库中修改
  • 将您的更改提交并推送到分叉仓库
  • 开始并创建一个拉取请求
  • 一旦拉取请求被审查并被接受,代码更改将被合并到主分支
  • 更改合并后,您将收到一封通知电子邮件

参考资料

特别感谢 Openwhisk-go-client,它激发我们开发 Rust 中的 Openwhisk 客户端

许可

根据 Apache-2.0 许可

依赖关系

~16–31MB
~493K SLoC