本文以常用的访问阿里云对象存储(OSS)服务为例,详细讲解如何使用边缘函数计算访问阿里云服务,完成本地文件上传和云端文件下载能力。
前提条件
- 已开通阿里云对象存储(OSS)服务,若未开通,请参考开通OSS服务内容开通。
- 请您确保已根据专业版环境搭建或标准版环境搭建内容完成边缘实例的创建。
背景信息
物联网边缘计算提供边缘函数计算能力,更方便地访问阿里云各种云服务,支持将设备在边缘端运行时生成的各类文件(统计报表、日志、图片、视频等)传输到云端,或从云端下载配置文件作为程序的输入来影响边缘端程序的行为。通过边缘函数计算访问OSS服务,可以选择永久存储设备数据。
使用边缘函数计算访问阿里云各种云服务的操作流程主要分为三步:
- 访问阿里云官网,开通对应的云服务,下载云服务SDK,将SDK和函数计算代码一起打包成.zip文件。
- 访问阿里云函数计算控制台,创建函数,上传.zip文件。
- 访问物联网平台控制台,分配函数到边缘实例,部署函数到边缘网关运行。
一、创建OSS Bucket
二、创建访问OSS的函数
说明 样例代码解读如下,其逻辑分为三步:
- 获取Credential,作为访问云服务的临时Token。
credChain.resolvePromise()
- 填写您的OSS Region信息和OSS Bucket信息。
region: '<Your OSS Region>', bucket: '<Your OSS Bucket>',
- 调用OSS SDK的put方法,将本地文件上传到OSS。
client.put('fileFromEdge.txt', "/linkedge/run/localFile.txt");
其中fileFromEdge.txt是文件上传后在云端保存的文件名,/linkedge/run/localFile.txt是本地需要上传的文件,两个文件名都可根据需求做修改,前提是本地文件必须存在。
三、分配函数到边缘实例
首先请参见云资源访问内容,为边缘实例分配包含管理对象存储服务(OSS)权限权限的角色,或者在已分配到边缘实例的角色中添加管理对象存储服务(OSS)权限权限。
四、部署边缘实例
后续步骤
如果在OSS文件管理页没有看到fileFromEdge.txt文件,可能有如下几种原因:
- 函数触发时间还没到:函数定时每分钟运行一次,如果刚部署完成,函数有可能还没有运行。请等待2分钟刷新页面查看。
- 网关本地系统时间不正确:本地时间可通过
date
命令查看,如果时间和网络时间差距过大,OSS会拒绝请求。 - 本地待上传文件不存在:如果在网关上执行
ls /linkedge/run/localFile.txt
命令,显示文件不存在,请参考创建本地文件内容创建。 - OSS配置信息填写有误:请参考在线编辑代码内容填写正确的OSS配置信息。
- 如果上述配置都检查无误,可通过
cat /linkedge/run/logger/fc-base/accessAliOSS/log.INFO
命令查看函数运行日志,进行问题定位。
原创文章,作者:网友投稿,如若转载,请注明出处:https://www.cloudads.cn/archives/33566.html