如何在项目中集成 erlcloud:rebar3 依赖配置与 Hex 安装终极教程

发布时间:2026/10/6 12:49:01

如何在项目中集成 erlcloud:rebar3 依赖配置与 Hex 安装终极教程 如何在项目中集成 erlcloudrebar3 依赖配置与 Hex 安装终极教程【免费下载链接】erlcloudAWS APIs library for Erlang (Amazon EC2, S3, SQS, DDB, ELB and etc)项目地址: https://gitcode.com/gh_mirrors/er/erlcloud如果您的 Erlang 项目需要对接 AWS 云服务如 EC2、S3、SQS、DynamoDBerlcloud就是最流行的开源选择。它是纯 Erlang 编写的AWS APIs library for Erlang覆盖 Amazon EC2、S3、SQS、DDB、ELB 等数十个服务。本文带来erlcloud rebar3 依赖配置与Hex 安装的终极教程从零开始带您把 erlcloud 集成进自己的项目几分钟内跑通第一个 AWS API 调用。为什么选择 erlcloudAWS 服务支持一览 erlcloud 不是 AWS 官方维护但社区活跃、功能持续更新目前已经实现了绝大多数常用 API计算与存储EC2、ECS、S3、EFS、EBS 相关能力数据库DynamoDBddb2 及流、RDS、Redshift、SimpleDB消息队列SQS、SNS、Kinesis、SES管理与安全IAM、STS、KMS、CloudFormation、CloudTrail、Config更多Athena、Glue、Lambda、Step Functions、WAF、CloudWatch 等erlcloud 支持 OTP 19.3 到 27.1 的多个版本兼容性良好。整体结构清晰核心入口模块包括 erlcloud.erl、erlcloud_ec2.erl、erlcloud_s3.erl配置结构定义在 erlcloud_aws.hrl。方式一rebar3 依赖配置最推荐一键添加 Hex 依赖步骤rebar3 是 Erlang 最主流的构建工具通过 Hex 添加依赖只需两步第 1 步在rebar.config的deps中加入 erlcloud{deps, [ {erlcloud, 3.2.17} ]}.第 2 步执行依赖拉取与编译rebar3 get-deps rebar3 compilerebar3 会自动解析 erlcloud 的传递依赖jsx、lhttpc、eini、base16 等无需手工处理。配置 project_plugins 支持 Hex 发布如果您还需要在项目内管理 Hex 包的发布参考 erlcloud 自身的 rebar.config 配置rebar3_hex插件{project_plugins, [rebar3_hex]}.在 app.src 中声明运行依赖把 erlcloud 加入src/xxx.app.src的applications列表保证应用启动时自动拉起依赖{applications, [kernel, stdlib, crypto, ssl, inets, jsx, lhttpc, eini, base16, erlcloud]}启动时执行application:ensure_all_started(erlcloud).即可完成初始化。方式二通过 git clone 源码集成如果希望直接使用最新源码或定制修改可以克隆仓库后作为本地依赖使用仓库地址为 https://gitcode.com/gh_mirrors/er/erlcloud。git clone https://gitcode.com/gh_mirrors/er/erlcloud cd erlcloud make本地依赖方式在rebar.config中这样引用{deps, [ {erlcloud, {git, 本地绝对路径或子模块路径, {branch, master}}} ]}.快速配置 AWS 凭证的三种方法 方法 1环境变量推荐用于 CI/CDexport AWS_ACCESS_KEY_ID您的 Access Key export AWS_SECRET_ACCESS_KEY您的 Secret Key export AWS_DEFAULT_REGIONus-east-1方法 2使用 ~/.aws 配置文件{ok, Conf} erlcloud_aws:profile(), erlcloud_s3:list_buckets(Conf).该功能由 erlcloud_aws.erl 中的profile/0、profile/1、profile/2函数实现支持命名 profile 与自定义选项。方法 3application 环境变量application:set_env(erlcloud, aws_access_key_id, your key), application:set_env(erlcloud, aws_secret_access_key, your secret key), application:set_env(erlcloud, aws_region, your region).第一个 AWS API 调用实战演练使用进程字典配置最简单erlcloud_s3:configure(AccessKeyId, SecretAccessKey), erlcloud_s3:list_buckets().使用配置对象适合多账户场景Conf erlcloud_ec2:new(AccessKeyId, SecretAccessKey), erlcloud_ec2:describe_images(Conf).配置对象#aws_config{}记录定义在 erlcloud_aws.hrl包含各服务的 host、端口、协议等默认值您可以按需修改字段后传入任意 API。常见问题排查FAQQ1编译报错缺少依赖检查rebar3 get-deps是否成功以及网络是否能访问 Hex 仓库。Q2提示 region 不存在确认AWS_DEFAULT_REGION已正确设置或通过erlcloud_ec2:configure(AK, SK, ec2.eu-west-1.amazonaws.com)指定主机。Q3如何切换多账户使用配置对象方式为每个账户创建独立的#aws_config{}调用时作为最后一个参数传入即可适合跨 AWS 账户访问场景。结语通过本文的erlcloud rebar3 依赖配置与Hex 安装教程您已经可以快速在 Erlang 项目中集成 erlcloud 并调用 AWS API。建议优先采用 Hex rebar3 方式管理依赖生产环境注意使用 IAM 临时凭证与最小权限策略。动手试试第一个erlcloud_s3:list_buckets()吧【免费下载链接】erlcloudAWS APIs library for Erlang (Amazon EC2, S3, SQS, DDB, ELB and etc)项目地址: https://gitcode.com/gh_mirrors/er/erlcloud创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/4 6:50:15

Java插件化框架实战:从SPI到Spring的动态扩展架构设计

在实际项目开发中,我们经常会遇到需要将复杂的业务逻辑或数据处理过程进行封装和抽象的场景。一个典型的例子是,当我们需要处理一组具有相似行为但具体实现不同的对象时,如果为每个对象都编写一套独立的处理流程,代码会变得冗长且…

2026/10/6 12:44:08

一文讲透TCP/IP协议栈:从分层原理到Socket编程与嵌入式实战

1. 先搞明白:TCP/IP协议栈到底是个什么东西很多人一听到“TCP/IP协议栈”这七个字就开始头皮发麻,脑子里全是大学《计算机网络》教材上那些密密麻麻的分层图解、三次握手四次挥手、各种报文字段说明。说实话,当年我也一样,对着课本…

2026/10/6 12:44:08

Visual C++ OpenGL 三维图形绘制入门:从环境配置到旋转立方体

简介:这份资源面向希望在 Visual C 6.0 环境下入门 OpenGL 三维图形绘制的开发者与在校学生,解决从环境配置到窗口创建、图形渲染的完整实践问题。内容围绕 Win32 控制台项目展开,涵盖 OpenGL 头文件引入、窗口过程函数重写、wglMakeCurrent …

2026/10/6 12:44:08

SpringBoot+Vue装饰工程管理系统毕设源码分析与部署实战

1. 项目定位与整体思路 1.1 为什么装饰工程管理系统适合当毕设 很多同学做Java Web毕设,第一反应是图书馆管理系统、学生信息管理这类老掉牙题目。不是说不行,而是答辩时老师听了一百遍,很难挑出亮点。装饰工程管理系统这个方向不一样&#…

2026/10/6 12:44:08

DDR5 CA_ODT配置全解析:从JEDEC规范到PCB布局与仿真验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 12:44:08

Mac上用Luatools烧录LuatOS模组:完整流程与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 12:39:08

出海品牌GEO指南之品牌做好GEO的前置条件

很多 GEO 项目一开始就走错了:先上工具、追提示词、拉看板。顺序不对——你还不知道自己要和什么比,就先把所有东西测一遍,最后只是在制造数据。 审计 AI、规划内容之前,先回答一句:你到底是谁? 上一篇讲过…

2026/10/5 6:32:56

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/6 4:01:51

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/5 17:38:27

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 0:03:23

MR25H40CDF+STM32F031C6工业级高可靠数据存储方案

1. 项目概述:为什么在工业现场非得用 MR25H40CDF 配 STM32F031C6 做数据存储?在工厂产线的 PLC 控制柜里、在风电变流器的散热片背面、在矿井监测终端的金属外壳下,你经常能看到一块指甲盖大小的黑色芯片——它既不是 Flash,也不是…

2026/10/6 0:03:23

MRAM+STM32工业断电数据保全实战指南

1. 项目概述:为什么在工业现场非得用 MR25H40CDF 配 STM32F031C6 做数据存储?在工厂产线的PLC柜里、在野外无人值守的环境监测终端里、在高速运转的包装机控制板上,你经常能看到一块指甲盖大小的黑色芯片,旁边贴着“MR25H40CDF”丝…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑