Arker 类型脚本 SDK
使用Arker TypeScript SDK来叉出VM,运行命令并同步文件.
安装
bun add @arker-ai/sdk
SDK需要节点.js 18或后.
开始吧
签名并获得您的 API 密钥 方舟(arker.ai)/主机。 。 。 .
ARKER_API_KEY, (中文(简体) ), ARKER_PROVIDER,以及 ARKER_REGION 必须在环境中设置或直接传递给 new Arker()。 。 。 .
叉出一个源 VM,运行一个命令,同步一个文件,并删除 VM :
import { Arker } from "@arker-ai/sdk";
const arker = new Arker();
const vm = await arker.fork({ source_vm_name: "ubuntu-coding" });
const result = await vm.run("python3 -c 'print(2 + 2)'");
if (result.type === "completed") {
console.log(result.stdout);
}
await vm.sync("/tmp/hello.txt", "hello from Arker");
const data = await vm.sync("/tmp/hello.txt");
console.log(new TextDecoder().decode(data));
await vm.delete();
文件和实例
许可证
阿帕奇 - 2.0
池数 v2
游泳池需要每个组织的游泳池旗帜;残疾组织接收
404 not_found。这三种池型是: managed (亚克多云)
计算, byoc (工人Arker发射 在你的云账户),和
self_hosted (BLAST工人你运行).
这取代了集合v1和早先的BYOC API:引文、固定购买条件、价格和
购买一能键被去除,没有相容层.
为集合操作配置区域终点(或提供者和区域).
列表池使用跨区域控制平面;使用每个返回池的
用于以后的行动。 叉子上有一个 pool_id 或者说
pool_name; 名称在一个区域内对大小写不敏感。 舰队不能是
叉入池: 使用支持的图像源 。 集合 VM 不支持
交互式贝壳; 使用 run 为命令.
managed 财务报告和审定财务报表 byoc 集合请求 resources 全部3个数量
(单位:千美元)vcpu, (中文(简体) ), memory_mib, (中文(简体) ), disk_mib),包括零;a self_hosted 游泳池的电话
resources 是一个可选的盖。 每个集合报告 resources_reserved (怎样)
(其工人缴款) resources_provisioned (VMs使用的内容). 一个游泳池
实值 creating 直至第一个工人开始工作(a) managed 池开始
running,则 running· ; reason 说什么需要注意。 A 类 byoc 池 (提供者) aws(中文(简体) )
需要设置: 打开 byoc.setup_url 并创建
云形相叠. A 类 self_hosted 游泳池的平台是第一个
工人; 工人加入一个仅限于游泳池的API键,
ar.createApiKey({ name, scopes: [{ pool_id: poolId }] })。 。 。 .
仅 managed 集体承担承诺.
承诺至少24小时,不能重叠,新承诺不能 从过去开始。 开始的承诺必须保持不变,包括到期的承诺 这些。 附加承诺帮助者读取池并附加到整个列表中. 序列化承诺编辑 : aPI 没有条件更新或原子 附录,因此并行编辑可以覆盖未启动的承诺. 活动 承诺 防止缩小或删除; 调整为零,否则释放 保留地。 删除一个池删除其中的每个 VM .
API错误保留其代码,状态,消息和服务器细节. A 类
429 quota_exceeded 立即返回; 调整预定/配额或
删除未使用的池来代替重试 。 普通费率限额
SDK的重试政策. capacity_unavailable 意味着安置没有能力;
检查池子的预留资源,工人,和州。 舰队对舰队叉
不支持的外壳拒绝被浮出水面而不进行倒置.
创造没有文件证明的一能性保证:经过模棱两可的运输
失败, 请在再次创建前检查池列表 .
const pool = await arker.createPool({
type: "managed", platform: "icelake",
resources: { vcpu: 8, memory_mib: 32768, disk_mib: 102400 },
});
await arker.addPoolCommitment(pool.pool_id, {
starts_at: "2027-01-01T00:00:00Z", ends_at: "2027-01-02T00:00:00Z",
});
await arker.fork({ image: "ubuntu", pool_id: pool.pool_id });
见 bYOC 集合示例 为AWS设置和准备.