海军上将sdk-ts
用于此程序的 TypeScript 客户端库 上将 API (英语).
建造在 连接RPC,并同时在浏览器和Node.js中工作.
安装
npm install @admiral-io/sdk
您还需要运行时间的连接传输 :
# Browser
npm install @connectrpc/connect-web
# Node.js
npm install @connectrpc/connect-node
快速启动
import { createClient } from "@admiral-io/sdk";
浏览器
import { createConnectTransport } from "@connectrpc/connect-web";
const transport = createConnectTransport({
baseUrl: "/api",
});
const client = createClient(transport);
// await client.agent.methodName({ ... });
// await client.job.methodName({ ... });
// await client.agentRuntime.methodName({ ... });
// await client.apiKey.methodName({ ... });
// await client.application.methodName({ ... });
// await client.changeSet.methodName({ ... });
// await client.credential.methodName({ ... });
// await client.environment.methodName({ ... });
// await client.healthcheck.methodName({ ... });
// await client.integration.methodName({ ... });
// await client.invitation.methodName({ ... });
// await client.registry.methodName({ ... });
// await client.run.methodName({ ... });
// await client.serviceAccount.methodName({ ... });
// await client.issuer.methodName({ ... });
// await client.source.methodName({ ... });
// await client.tenant.methodName({ ... });
// await client.user.methodName({ ... });
节点.js
import { createConnectTransport } from "@connectrpc/connect-node";
const transport = createConnectTransport({
baseUrl: "https://api.admiral.io",
httpVersion: "2",
});
const client = createClient(transport);
可用服务
| 服务 | 财产 | 说明 |
|---|---|---|
| 代理API | client.agent | 代理服务 |
| 约伯API | client.job | 工作服务 |
| 代理 Runtime API | client.agentRuntime | 代理运行服务 |
| 阿皮凯伊API | client.apiKey | ApiKey 服务 |
| 应用程序API | client.application | 应用程序服务 |
| 更改SetAPI | client.changeSet | 更改设置服务 |
| 证书API | client.credential | 证书服务 |
| 环境API | client.environment | 环境服务 |
| 健康检查API | client.healthcheck | 健康检查服务 |
| 整合API | client.integration | 融合服务 |
| 邀请协会 | client.invitation | 邀请服务 |
| 注册API | client.registry | 书记官处事务 |
| 运行API | client.run | 运行服务 |
| 服务账户 | client.serviceAccount | 服务账户服务 |
| 发行商API | client.issuer | 发行服务 |
| 来源API | client.source | 源服务 |
| 租户API | client.tenant | 租户服务 |
| 用户API | client.user | 用户服务 |
示例
import { createConnectTransport } from "@connectrpc/connect-node";
import { createClient } from "@admiral-io/sdk";
async function main() {
const transport = createConnectTransport({
baseUrl: "https://api.admiral.io",
httpVersion: "2",
});
const client = createClient(transport);
try {
const response = await client.agent.listMethod({});
console.log(response);
} catch (err) {
console.error("Request failed:", err);
}
}
main();
截取器
Auth、记录、超时和其他交叉关切问题在 途经 连接截取器数字 :
import type { Interceptor } from "@connectrpc/connect";
import { createConnectTransport } from "@connectrpc/connect-web";
import { createClient } from "@admiral-io/sdk";
const authInterceptor: Interceptor = (next) => async (req) => {
req.header.set("Authorization", `Bearer ${getToken()}`);
return next(req);
};
const transport = createConnectTransport({
baseUrl: "/api",
interceptors: [authInterceptor],
});
const client = createClient(transport);
托肯验证
校验上将不透明符号格式( 前缀、 长度、 CRC32 校验和) 网络呼叫 :
import { validateAuthToken } from "@admiral-io/sdk";
const result = validateAuthToken(token);
if (!result.valid) {
console.error(result.error);
}
习惯 TokenValidator 可提供替代验证战略:
import type { TokenValidator } from "@admiral-io/sdk";
const myValidator: TokenValidator = {
validate(token: string) {
// Custom validation logic
return { valid: token.length > 0 };
},
};
所需资源
- 22号节点(用于节点使用)
- 仅限无害环境管理(没有通用JS支持)
上将
上将 用于协调各种环境的基础设施和应用交付的控制平面。 这个寄存器是它的 开源工具。 。 。 .
许可证
Apache-2.0 许可证 - 见 自由主义 详细情况.