akamai/edgeworkersEdgeworkers CLI 镜像封装了 Akamai 官方提供的 cli-edgeworkers 工具,用于 EdgeWorkers 脚本的全生命周期管理。EdgeWorkers 是 Akamai 边缘计算平台的功能,允许开发者在 Akamai CDN 边缘节点运行轻量级 JavaScript 脚本,实现请求/响应处理、缓存逻辑自定义等功能。本镜像提供了免安装的命令行环境,简化 EdgeWorkers 脚本的开发、测试和部署流程。
.ewp 格式包。client_token、client_secret、access_token 和 host),需通过 Akamai Control Center 创建。通过 Docker 运行 Edgeworkers CLI 容器,执行基础命令:
bash# 查看 CLI 帮助信息 docker run --rm akamai/cli-edgeworkers edgeworkers --help # 映射本地目录到容器(用于项目文件交互) docker run --rm -v $(pwd):/app -w /app akamai/cli-edgeworkers edgeworkers [command]
在本地创建新的 EdgeWorkers 项目:
bash# 在当前目录初始化项目(需映射本地目录) docker run --rm -v $(pwd):/app -w /app akamai/cli-edgeworkers edgeworkers init my-edgeworker-project
执行后,当前目录下会生成 my-edgeworker-project 文件夹,包含以下结构:
my-edgeworker-project/ ├── edgeworker.js # 主脚本文件 ├── bundle.json # 项目配置 └── config.json # 环境配置
使用本地模拟器测试脚本逻辑:
bash# 在项目目录中运行本地测试 docker run --rm -v $(pwd):/app -w /app akamai/cli-edgeworkers edgeworkers test
测试结果将显示脚本执行日志、请求/响应处理结果,以及错误信息(如有)。
将项目打包为部署格式(.ewp 文件):
bash# 打包当前项目,输出到 dist/ 目录 docker run --rm -v $(pwd):/app -w /app akamai/cli-edgeworkers edgeworkers bundle --output dist/
通过 EdgeGrid 认证部署打包后的脚本到 Akamai EdgeWorkers 平台:
bash# 部署到测试环境(需传入 Akamai 认证凭证) docker run --rm \ -v $(pwd):/app -w /app \ -e AKAMAI_EDGEGRID_CLIENT_TOKEN="your-client-token" \ -e AKAMAI_EDGEGRID_CLIENT_SECRET="your-client-secret" \ -e AKAMAI_EDGEGRID_ACCESS_TOKEN="your-access-token" \ -e AKAMAI_EDGEGRID_HOST="your-api-host" \ akamai/cli-edgeworkers edgeworkers deploy --env test dist/my-worker.ewp
容器支持通过环境变量注入 Akamai 认证信息,避免每次命令输入:
| 环境变量名 | 说明 | 是否必需 |
|---|---|---|
AKAMAI_EDGEGRID_CLIENT_TOKEN | Akamai EdgeGrid 客户端令牌 | 是 |
AKAMAI_EDGEGRID_CLIENT_SECRET | Akamai EdgeGrid 客户端密钥 | 是 |
AKAMAI_EDGEGRID_ACCESS_TOKEN | Akamai EdgeGrid 访问令牌 | 是 |
AKAMAI_EDGEGRID_HOST | Akamai API 主机地址(如 akab-xxxx.luna.akamaiapis.net) | 是 |
EDGEWORKERS_ENV | 默认部署环境(可选值:test/prod,默认 test) | 否 |
可将 Akamai 认证信息保存到本地配置文件(如 ~/.edgerc),并通过容器映射该文件实现持久化:
bash# 映射本地 .edgerc 文件到容器 docker run --rm \ -v $(pwd):/app -w /app \ -v ~/.edgerc:/root/.edgerc \ akamai/cli-edgeworkers edgeworkers deploy --section default dist/my-worker.ewp
其中 ~/.edgerc 文件格式示例:
ini[default] client_token = your-client-token client_secret = your-client-secret access_token = your-access-token host = your-api-host
request.geo)可能返回模拟数据,建议部署到测试环境后进行全流程验证。--user $(id -u):$(id -g) 参数指定用户 ID 解决。HTTP_PROXY/HTTPS_PROXY 环境变量配置代理服务器。manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务