发布dist文件夹到OSS

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
对象存储 OSS,恶意文件检测 1000次 1年
简介: 发布dist文件夹到OSS

1. 安装ali-oss后导入相关依赖


/**
 * npm install ali-oss --save
 */
const path = require("path");
const fs = require("fs");
const OSS = require("ali-oss");


2. 创建oss客户端


const client = new OSS({
  bucket: "",
  region: "",
  accessKeyId: "",
  accessKeySecret: ""
});


3. 遍历获取dist文件夹中所有文件的路径


const rootPath = path.resolve(__dirname, "./dist");
let filepaths = [];
let putCount = 0;
function readFileSync(filepath) {
  let files = fs.readdirSync(filepath);
  files.forEach(filename => {
    let p = path.join(filepath, filename);
    let stats = fs.statSync(p);
    if (stats.isFile()) {
      filepaths.push(p);
    } else if (stats.isDirectory()) {
      readFileSync(p);
    }
  });
}


4. 将文件路径添加到oss客户端


function put(filepath) {
  const p = filepath.replace(rootPath, "").substr(1);
  return client.put(p.replace("\\", "/"), filepath);
}


5. 执行上传消费OSS客户端中的任务


async function update() {
  try {
    // 递归获取所有待上传文件路径
    readFileSync(rootPath);
    let retAll = await filepaths.map(filepath => {
      putCount++;
      console.log(`任务添加: ${path.basename(filepath)}`);
      return put(filepath);
    });
    Promise.all(retAll).then(res => {
      const resAll = res.map(r => {
        return r.res.statusCode === 200;
      });
      if (Object.keys(resAll).length === putCount) {
        console.log("发布成功");
      }
    });
  } catch (e) {
    console.log(e);
  }
}


6. 运行


// 执行上传
update();



相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
存储 运维 监控
阿里云对象存储 OSS 发布全球第一可用性 SLA 背后的技术体系
2020年6月,阿里云对象存储 OSS 通过十年积累的技术红利,将可用性 SLA(Service Level Agreement) 提升 10 倍,做到了全球第一的核心竞争力,是其他的云厂家的 10~20 倍,如下图所示。
1703 0
阿里云对象存储 OSS 发布全球第一可用性 SLA 背后的技术体系
|
存储 运维 监控
CloudLens for OSS--数据洞察可观测平台发布
日志服务联合阿里云OSS推出CloudLens for OSS,支持Bucket粒度的统一管理视图,支持资源用量、访问分析、异常检测、安全分析等可视化分析能力,提供场景化运维管理,实现Bucket资产的可观测性。
268 0
|
Python
oss2 Python 如何上传一个文件或者文件夹
Python实现FTP上传文件或文件夹实例
559 0
|
JavaScript 前端开发 Linux
如何使用阿里云云效流水线发布vuecli项目到oss?
如何使用阿里云云效流水线发布vuecli项目到oss?
10707 0
|
存储 SQL 分布式计算
阿里云云原生数据湖分析DLA重磅发布-数据湖管理,助力企业一站式管理OSS数据湖存储数据
数据湖当前在国内外是比较热的方案,MarketsandMarkets市场调研显示预计数据湖市场规模在2024年会从2019年的79亿美金增长到201亿美金。一些企业已经构建了自己的云原生数据湖方案,有效解决了业务痛点;还有很多企业在构建或者计划构建自己的数据湖。阿里云数据湖分析服务DLA的数据湖管理功能定位为帮助用户构建统一、安全、高效、开放的数据湖解决方案。
阿里云云原生数据湖分析DLA重磅发布-数据湖管理,助力企业一站式管理OSS数据湖存储数据
|
存储 SQL 分布式计算
阿里云云原生数据湖分析DLA Serverless Spark重磅发布,助力企业低成本挖掘OSS数据价值
由于解决了用户当前遇到的数据分散、复杂、难管理的问题,数据湖方案越来越深入人心,阿里云DLA产品提供了一体化解决方案,从数据湖管理到数据湖分析和计算。相对于在线引擎,Spark更适合弹性计算架构,可以跟云原生的弹性能力深度整合起来。从传统IDC到搬站上云到完全Serverless化,这条路径已经被越来越被认可为云技术的发展路径。DLA Spark采用完全云原生 + Serverless形式,相对于传统的自建Hadoop在性价比方面拥有数倍的优势。
3431 0
阿里云云原生数据湖分析DLA Serverless Spark重磅发布,助力企业低成本挖掘OSS数据价值
|
SQL 关系型数据库 MySQL
阿里云云原生数据湖分析DLA SQL(兼容Presto) CU版重磅发布,助力企业低成本分析OSS数据价值
Presto作为OLAP界领先的分析引擎在国内外有着广泛的应用,各个公司要么在自己的机房自建Presto,要么在云上使用ECS自建Presto来使用,但是开源的Presto在用户学习成本、数据摄入、生态兼容性、高可用、对云上数据的支持度方面还是有一些薄弱。因此阿里云数据湖分析团队打造了一个DLA SQL(兼容Presto)CU版本,今天给大家介绍一下它的一些特性。
阿里云云原生数据湖分析DLA SQL(兼容Presto) CU版重磅发布,助力企业低成本分析OSS数据价值
|
存储 运维 关系型数据库
成本下降60%!DLA发布优化,大幅降低OSS调用成本
很多用户使用DLA对存储在OSS上的数据的进行分析。并且,由于OSS极低的存储成本,也有很多用户也会选择通过SLS日志投递、DLA一键建仓等功能把其他数据源的数据转储到OSS进行分析。然而,由于OSS按照调用次数收费,在分析OSS数据时,因OSS接口调用而产生的成本往往会成为成本中较为显著的一个部分。
成本下降60%!DLA发布优化,大幅降低OSS调用成本
|
对象存储 数据安全/隐私保护
赋予RAM子用户访问OSS的某个文件夹的权限策略
给子用户赋予bucket下某个目录的访问权限
2151 0
赋予RAM子用户访问OSS的某个文件夹的权限策略
|
SQL 监控 NoSQL
数据湖分析服务Data Lake Analytics发布支持OSS多版本优化、控制台等多项优化及改进
数据湖分析服务 Data Lake Analytics SQL引擎是兼容MySQL协议的,具备高性能的Serverless化的联邦分析引擎,支持OSS、MySQL、PG、SQLServer、Redis、MongoDB、HBase、OTS等数据源。
数据湖分析服务Data Lake Analytics发布支持OSS多版本优化、控制台等多项优化及改进
下一篇
DataWorks