目录
[1 -> 同步云函数/云对象](#1 -> 同步云函数/云对象)
[1.1 -> 同步单个云函数/云对象](#1.1 -> 同步单个云函数/云对象)
[1.2 -> 批量同步云函数/云对象](#1.2 -> 批量同步云函数/云对象)
[2 -> 同步云数据库](#2 -> 同步云数据库)
[2.1 -> 同步单个对象类型](#2.1 -> 同步单个对象类型)
[2.2 -> 批量同步对象类型](#2.2 -> 批量同步对象类型)
[3 -> 一键同步云侧代码](#3 -> 一键同步云侧代码)

1 -> 同步云函数/云对象
说明
对于使用DevEco Studio 4.1 Canary 2之前的版本部署的函数,同步下来的是JavaScript代码。
1.1 -> 同步单个云函数/云对象
云函数/云对象部署到AGC云端后,如在云端又进行了新改动,可再将云端的云函数/云对象同步到本地工程。云函数/云对象的同步方式一致,下文以云对象为例进行说明。
1. 右击函数目录,选择"Sync '函数名'"。下文以云对象"id-generator"为例。

2. 在确认弹框中点击"Overwrite",AGC云端的"id-generator"函数将覆盖更新本地云对象"id-generator"。

3. 等待同步完成,"cloudfunctions"目录下将生成从云端同步下来的云对象"id-generator",同时将本地原云对象"id-generator"备份在同路径下。
说明
后续如执行部署或调试,DevEco Studio会自动跳过备份数据。但出于精简包的考虑,建议在对比代码差异后,及时将无用的备份数据删除。

1.2 -> 批量同步云函数/云对象
批量同步云函数/云对象即将AGC云端当前项目下的所有云函数/云对象同步至本地工程。
1. 右击"cloudfunctions"目录,选择"Sync Cloud Functions"。

2. 弹窗提示本地工程下存在同名云函数/云对象。
- 选择"Skip",同步时将跳过本地同名云函数/云对象。
- 选择"Overwrite",AGC云端的云函数/云对象将覆盖更新本地同名云函数/云对象。

3. 如选择"Skip",等待同步完成后,"cloudfunctions"目录下将生成从云端同步下来的本项目下所有云函数/云对象,本地已存在的不同步。
如下图,"cloudfunctions"目录下新增了云端同步下来的"test-cloud-function",上图中本地已存在的云函数/云对象未被覆盖更新。

4. 如选择"Overwrite",等待同步完成后,"cloudfunctions"目录下将生成从云端同步下来的本项目下所有云函数/云对象;本地同名云函数/云对象也被覆盖更新,同时更新前的原云函数/云对象会备份在同路径下。
如下图,"cloudfunctions"目录下新增了云端同步下来的云对象"test-cloud-function",本地已存在的几个云函数/云对象也被覆盖更新,并且均生成了备份文件"xxxx-备份时间.backup"。
说明
后续如执行部署或调试,DevEco Studio会自动跳过备份数据。但出于精简包的考虑,建议在对比代码差异后,及时将无用的备份数据删除。

2 -> 同步云数据库
说明
目前仅支持同步对象类型。
2.1 -> 同步单个对象类型
对象类型部署到AGC云端后,如又发生了新改动,可再将云端的对象类型同步到本地。
1. 右击对象类型JSON文件(以"objecttype1.json"为例),选择"Sync 'objecttype1.json'"。

2. 在确认弹框中点击"Overwrite",AGC云端的对象类型"objecttype1.json"将覆盖更新本地对象类型"objecttype1.json"。

3. 等待同步完成,"objecttype"目录下将生成从云端同步下来的对象类型"objecttype1.json"。
- 如果云端和本地的同名对象类型内容存在差异,则还会将本地原对象类型备份在同路径下。
- 如果云端和本地的同名对象类型内容完全一致,则不生成备份。
说明
后续如执行部署,DevEco Studio会自动跳过备份数据。但出于精简包的考虑,建议在对比代码差异后,及时将无用的备份数据删除。

2.2 -> 批量同步对象类型
可以将AGC云端当前项目下所有的对象类型一键同步至本地。
1. 右击"objecttype"目录,选择"Sync Object Type"。

2. 弹窗提示本地工程下已存在同名对象类型,如下图"Post.json"与"objecttype1.json"。
- 选择"Skip",同步时将跳过本地同名对象类型。
- 选择"Overwrite",AGC云端的对象类型将覆盖更新本地同名对象类型。

3. 如选择"Skip",等待同步完成后,"objecttype"目录下将生成从云端同步下来的本项目下所有对象类型,本地已存在的不同步。
如下图,"objecttype"目录下新增了云端同步下来的"test_object.json",本地已存在的"Post.json"与"objecttype1.json"未被覆盖更新。

4. 如选择"Overwrite",等待同步完成后,"objecttype"目录下将生成从云端同步下来的所有对象类型,本地已存在的对象类型也被覆盖更新。
- 如果云端和本地的同名对象类型内容存在差异,则还会将本地原对象类型备份在同路径下。
- 如果云端和本地的同名对象类型内容完全一致,则不生成备份。
如下图,"objecttype"目录下生成了"test_object.json"、"Post.json"与"objecttype1.json"三个对象类型文件,其中:"test_object.json"为从云端新同步下来的对象类型;"objecttype1.json"本地已存在且与云端内容一致,不生成备份;"Post.json"本地已存在但与云端内容存在差异,因此被覆盖更新,同时原"Post.json"备份为"Post.json-备份时间.backup"。
说明
后续如执行部署,DevEco Studio会自动跳过备份数据。但出于精简包的考虑,建议在对比代码差异后,及时将无用的备份数据删除。

3 -> 一键同步云侧代码
说明
对于使用DevEco Studio 4.1 Canary 2之前的版本部署的函数,同步下来的是JavaScript代码。
1. 右击云开发工程("CloudProgram"),选择"Sync Cloud Program"。

2. 弹窗提示本地工程下已存在同名对象类型/云函数/云对象。
- 选择"Skip",同步时将跳过本地同名对象类型/云函数/云对象。
- 选择"Overwrite",AGC云端的对象类型/云函数/云对象将覆盖更新本地同名对象类型/云函数/云对象。

3. 如选择"Skip",等待同步完成后,"objecttype"目录下将生成从云端同步下来的本项目下所有对象类型,"cloudfunctions"目录下将生成从云端同步下来的本项目下所有云函数/云对象,本地已存在的云函数/云对象/对象类型均不同步。
如下图:
- "objecttype"目录下新增了云端同步下来的"test_object.json",本地已存在的"Post.json"与"objecttype1.json"未被覆盖更新。
- "cloudfunctions"目录下生成了从云端同步下来的云对象"test-cloud-function",本地已存在的"id-generator"、"my-cloud-function"与"my-cloud-object"未被覆盖更新。

4. 如选择"Overwrite",等待同步完成后,"objecttype"目录下将生成从云端同步下来的本项目下所有对象类型,"cloudfunctions"目录下将生成从云端同步下来的本项目下所有云函数/云对象,本地已存在的云函数/云对象/对象类型也被覆盖更新。
- 如果云端和本地的同名对象类型内容存在差异,则还会将本地原对象类型备份在同路径下。
- 如果云端和本地的同名对象类型内容完全一致,则不生成备份。
- 无论云端和本地的同名云函数/云对象代码是否一致,均会将本地原云函数/云对象备份在同路径下。
如下图:
- "objecttype"目录下生成了"test _object.json"、"Post.json"与"objecttype1.json"三个对象类型文件,其中:"test _object.json"为从云端新同步下来的对象类型;"Post.json"本地已存在且与云端内容一致,不生成备份;"objecttype1.json"本地已存在但与云端内容存在差异,因此被覆盖更新,同时原"objecttype1.json"备份为"objecttype1.json-备份时间.backup"。
- "cloudfunctions"目录下生成了从云端同步下来的云对象"test-cloud-function",本地已存在的"id-generator"、"my-cloud-function"与"my-cloud-object"也被覆盖更新,并且均生成了备份文件"xxxx-备份时间.backup"。
说明
后续如执行部署或调试,DevEco Studio会自动跳过备份数据。但出于精简包的考虑,建议在对比代码差异后,及时将无用的备份数据删除。

感谢各位大佬支持!!!
互三啦!!!