#cloud #cloud-storage #plugin #nushell #service #nushell-plugin #save

bin+lib nu_plugin_cloud

用于处理云存储服务的 nushell 插件

1 个不稳定版本

新功能 0.1.0 2024 年 8 月 23 日

#13#nushell-plugin

MIT 和可能 CC-PDDC

47KB
1K SLoC

nu_plugin_cloud

为 nushell 提供对云存储服务的统一访问。

功能

  • cloud ls - 列出云存储位置的文件名、大小、修改时间、etags 和版本。
  • cloud open - 将文件加载到单元格中,如果可能则转换为表格(通过添加 '--raw' 来避免)。
  • cloud rm - 从云存储中删除文件
  • cloud save - 将文件保存到云存储
  • AWS S3 支持
  • 即将推出:Azure 支持
  • 即将推出:Google 云支持

安装

先决条件

使用 Cargo 安装

cargo install nu_plugin_cloud
plugin add ~/.cargo/bin/nu_plugin_cloud
plugin use cloud

从源代码安装

git clone https://github.com/ayax79/nu_plugin_cloud.git
cd nu_plugin_cloud
cargo install --path .
plugin add ~/.cargo/bin/nu_plugin_cloud
plugin use cloud

[!TIP] 此插件将在任何操作发生时关闭插件 GC。

要关闭插件 GC 并查询内部缓存,请运行

cloud cache-clear

AWS 支持

AWS 设置

配置 AWS 使用标准 配置和凭据文件。要更改配置文件,请确保 AWS_PROFILE 环境变量设置为所需的配置文件。

AWS SSO

对于 SSO,需要 AWS CLI 来配置和登录。要设置 AWS SSO

此插件使用 aws_config crate。它对配置错误非常敏感。

如果配置文件只包含 sso_session、sso_account_id 和 sso_role_name,则可以正常工作。例如,不要在配置文件部分包含 sso_start_url。

[profile my-profile]
sso_session = my-sso
sso_account_id = <numeric account id>
sso_role_name = my-iam-role
region = us-east-1
output = json

[sso-session my-sso]
sso_start_url = https://d-92677e5ab0.awsapps.com/start
sso_region = us-west-2
sso_registration_scopes = sso:account:access

非云存储

支持两种非云存储类型,内存和文件系统。这些对于测试目的可能很有用。

内存使用

从内存保存文件

[[a b]; [1 2]] | cloud save memory:/foo.csv

从内存加载文件

cloud open memory:/foo.csv

列出内存中的文件

cloud ls memory:/foo.csv

文件系统使用

从本地文件系统保存文件

[[a b]; [1 2]] | cloud save file:///tmp/test/foo.csv

从本地文件系统加载文件

cloud open file:///tmp/test/foo.csv

列出本地文件系统中的文件

cloud ls file:///tmp/test/foo.csv

依赖项

~61–95MB
~2M SLoC