在HarmonyOS鸿蒙Next“云函数”中使用“云数据库”,上传依赖库到层,报‘file depths [21] too large’

pakcage.json

```json
{
  "dependencies": {
    "@agconnect/common-server": "^1.2.0",
    "@agconnect/database-server": "^1.0.7"
  }
}

浏览器上传,多时无回应,采用命令行上传

agcli func create-layer --name agc-serv-db --code-path D:\work\agc-serv-db.zip

报错如下

Failed to create the layer. Error message: file depths [21] too large

想问,在云函数中,操作 云数据库 的正确方法,另外,微信小程序的,云数据库demo也跑不起

https://gitee.com/appgallery_connect/agc-wechat-demos

6 回复

关于云函数中使用云数据库,可以出个详细的文档吗?

我使用了 App Gallery Toolkit

我是这么做的,

如图我有一个test-db

  1. 尝试使用lodash

a. 新建一个目录,npm init -y

b. 然后 npm i lodash --save

c. 然后 压缩 node_modules 目录为 lodash-node_modules.zip

d. 配置本地的 config.yaml

name: test-dbruntime
runtime: nodejs10.15.2
version: $latest
description: ''
input:  
  handler: handler.myHandler  
  environmentVar: {}
  localLayers:
    - d:\xxx\lodash-node_modules.zip
  layers: []
localConfig: {}
deployInfos:  
  memorySize: 500  
  cpuSize: 500  
  timeout: 60  
  instanceConcurrency: 100
funcConfig:  
  revisionId: '20221113180112228'

e. 然后开启沙箱,调用,lodash 可用

f. 用浏览器上传 lodash-node_module.zip 并设置 层 到 云函数,云函数也能运行

  1. 但是,我打包了 云数据库的 依赖包后,配置 localLayers , 本地无法跑,压缩包30M 左右吧,浏览器上传,就一直转圈圈,agcli 工具上传,提示 file depths [21] too large

  2. 不知道这样用对吗?还有更简便的使用 agc toolkit 方式吗?希望出个官方用法

更多关于在HarmonyOS鸿蒙Next“云函数”中使用“云数据库”,上传依赖库到层,报‘file depths [21] too large’的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


微信小程序dbcloud demo报错

然后参考了,微信小程序文档  npm 支持 ,需要手动添加 一堆 dependencies,终于不报错了,就是 dependencies 的 dependencies ,微信小程序 npm构建时,不会自动添加,需要手动。

{
 "dependencies": {
    "@agconnect/api": "^1.3.2",
    "@agconnect/auth": "^1.3.2",
    "@agconnect/baseservice": "^1.3.2",
    "@agconnect/core": "^1.3.2",
    "@agconnect/database": "^1.3.2",
    "@agconnect/function": "^1.3.2",
    "@agconnect/instance": "^1.3.2",
    "@agconnect/log": "^1.3.2",
    "@agconnect/network": "^1.3.2",
    "@agconnect/storage": "^1.3.2",
    "@agconnect/util": "^1.3.2",
    "protobufjs": "6.10.2",
    "@protobufjs/aspromise": "^1.1.2",
    "@protobufjs/base64": "^1.1.2",
    "@protobufjs/codegen": "^2.0.4",
    "@protobufjs/eventemitter": "^1.1.0",
    "@protobufjs/fetch": "^1.1.0",
    "@protobufjs/float": "^1.0.2",
    "@protobufjs/inquire": "^1.1.0",
    "@protobufjs/path": "^1.1.2",
    "@protobufjs/pool": "^1.1.0",
    "@protobufjs/utf8": "^1.1.0",
    "@types/long": "^4.0.1",
    "@types/node": "^13.7.0",
    "bignumber.js": "9.0.1",
    "crypto-js": "4.1.1",
    "js-crypto-aes": "1.0.0",
    "long": "^4.0.0",
    "is-number": "^7.0.0"
  }
}

我是从cocos service 过来的,想用下cocos的全家桶,发现 官方的Demo,和文档还需要加强!!

你好!

浏览器上传,多时无响应,还麻烦取个日志呢?

另外,云数据库demo跑不起,也请提供下报错,谢谢!

看看这个Demo,依赖包解决了,但查询,插入数据还是有问题 https://gitee.com/cndream/huawei-agc-wechart-clouddb-demo

了解,您目前遇到的问题已经反馈并处理中,后续将对demo进行刷新,待刷新完毕,这边及时通知您!感谢您对Serverless云数据库的支持!

在HarmonyOS鸿蒙Next的“云函数”中使用“云数据库”时,上传依赖库到层时遇到“file depths [21] too large”错误,通常是由于文件路径层级过深导致的。建议优化文件结构,减少嵌套层级,确保路径深度在系统限制范围内。可以通过以下步骤解决:

  1. 检查依赖库的目录结构,尽量减少嵌套层级。

  2. 将依赖库打包成ZIP文件,确保路径深度不超过系统限制。

  3. 重新上传优化后的依赖库到云函数层。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!