乐趣区

关于云开发:简单几步用云函数上传文件至静态网站托管

前言

云开发 CloudBase 为开发者提供动态网站托管的能力,动态资源(HTML、CSS、JavaScript、字体等)的散发由对象存储 COS 和领有多个边缘网点的 CDN 提供反对。

本篇文章将应用云开发 Node.js 治理端 SDK 演示,只需简略几步即可在云函数中上传文件到动态网站托管。

筹备

  • 创立云开发按量计费环境;
  • 在按量计费环境下开明动态网站托管;
  • 查问腾讯云拜访密钥。

操作步骤

一、获取拜访密钥:secretId 和 secretKey

关上腾讯云控制台,在右上角头像地位下拉菜单中找到拜访治理并点击进入。

抉择左侧菜单栏中的拜访密钥 -API 密钥治理,点击新建密钥。

点击“显示”,依据提醒操作即可取得密钥。

二、创立云函数

关上云开发 CloudBase 控制台,抉择按量付费环境,抉择左侧菜单栏的云函数。

点击新建云函数,而后依据提示信息填写云函数配置信息,实现创立即可。

点击刚刚创立的云函数,进入编辑页面,点击“函数代码”。

复制测试代码到新创建的云函数中,并批改 envId(云开发环境 id)、secretId 和 secretKey(获取形式见上一步)。

const CloudBase = require('@cloudbase/manager-node')
const fs = require('fs')
const {hosting} = new CloudBase({
secretId: 'Your SecretId', // 腾讯云 API 密钥 SecretId https://console.cloud.tencent.com/cam/capi
secretKey: 'Your SecretKey', // 腾讯云 API 密钥 SecretKey  https://console.cloud.tencent.com/cam/capi
envId: 'Your envId' // 云开发环境 ID,可在腾讯云云开发控制台获取 https://console.cloud.tencent.com/tcb/env/index
})

exports.main = async(event, context) => {
// 写入文件到云函数长期目录
const content = '测试内容!'

fs.writeFile('/tmp/test.txt', content, (err) => {if (err) {return console.log(err);
}
console.log("File saved successfully!");
})
let fileCount = 0
// 上传文件
await hosting.uploadFiles({
files: [{
localPath: '/tmp/test.txt',
cloudPath: 'hosting/test_data/data.txt'
}],
ignore: ['**/ignore.*'],
onFileFinish: () => {fileCount++}
})
console.log(fileCount) // 1
return fileCount
}

以及 package.json 文件:

{
"name": "tcb_scf2hosting",
"version": "1.0.0",
"description": "应用云函数上传文件到动态网站托管",
"main": "index.js",
"scripts": {"test": "echo \"Error: no test specified\"&& exit 1"},
"dependencies": {"@cloudbase/manager-node": "latest"},
"author": "XiaoLin",
"license": "ISC"
}

三、保留并装置依赖

编辑实现后点击左下方保留并装置依赖按钮。并期待右上角呈现云函数更新胜利提醒后即可。

四、测试

关上右上角的测试按钮,点击运行测试,呈现如下后果阐明测试胜利。

关上所操作云环境的动态网站托管即可看到刚刚上传的资源信息。

结语

本文通过云开发 Node.js 治理端 SDK 以及使用云函数长期读写文件的 tmp 目录,来实现应用云函数上传文件到动态网站托管。

除了云函数,云开发 manager-node sdk 还反对开发者通过接口模式对云开发提供的数据库、文件存储等资源进行创立、治理、配置等操作,欢送体验。详见文档(点击文末浏览原文中转):https://docs.cloudbase.net/api-reference/manager/node/introduction.html

产品介绍

云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为开发者提供高可用、主动弹性扩缩的后端云服务,蕴含计算、存储、托管等 serverless 化能力,可用于云端一体化开发多种端利用(小程序,公众号,Web 利用,Flutter 客户端等),帮忙开发者对立构建和治理后端服务和云资源,防止了利用开发过程中繁琐的服务器搭建及运维,开发者能够专一于业务逻辑的实现,开发门槛更低,效率更高。
开明云开发:https://console.cloud.tencent.com/tcb?tdl_anchor=techsite
产品文档:https://cloud.tencent.com/product/tcb?from=12763
技术文档:https://cloudbase.net?from=10004
技术交换加 Q 群:601134960
最新资讯关注微信公众号【腾讯云云开发】

退出移动版