跳到主要内容

(可选)同步云端代码至DevEco Studio工程

DevEco Studio还支持您将AGC云端当前项目下的代码同步至本地工程,包括之前从本地部署到AGC云端的代码、以及在AGC云端编写的代码,以保证云端和本地的版本一致性,方便您的日常开发。

云端代码同步目前支持以下模式:仅同步云函数/云对象仅同步云数据库一键同步云侧代码

同步云函数/云对象

对于使用DevEco Studio 4.1 Canary 2之前的版本部署的函数,同步下来的是JavaScript代码。

同步单个云函数/云对象

云函数/云对象部署到AGC云端后,如在云端又进行了新改动,您可再将云端的云函数/云对象同步到本地工程。云函数/云对象的同步方式一致,下文以云对象为例进行说明。

  1. 右击云对象目录,选择“Sync '云对象名'”。下文以云对象“id-generator”为例。

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

  3. 等待同步完成,“cloudfunctions”目录下将生成从云端同步下来的云对象“id-generator”,同时将本地原云对象“id-generator”备份在同路径下。

    后续如执行部署或调试,DevEco Studio会自动跳过备份数据。但出于精简包的考虑,建议您在对比代码差异后,及时将无用的备份数据删除。

批量同步云函数/云对象

批量同步云函数/云对象即将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会自动跳过备份数据。但出于精简包的考虑,建议您在对比代码差异后,及时将无用的备份数据删除。

同步云数据库

目前仅支持同步对象类型。

同步单个对象类型

对象类型部署到AGC云端后,如又发生了新改动,您可再将云端的对象类型同步到本地。

  1. 右击对象类型JSON文件(以“objecttype1.json”为例),选择“Sync 'objecttype1.json'”。

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

  3. 等待同步完成,“objecttype”目录下将生成从云端同步下来的对象类型“objecttype1.json”。

    • 如果云端和本地的同名对象类型内容存在差异,则还会将本地原对象类型备份在同路径下。
    • 如果云端和本地的同名对象类型内容完全一致,则不生成备份。

    后续如执行部署,DevEco Studio会自动跳过备份数据。但出于精简包的考虑,建议您在对比代码差异后,及时将无用的备份数据删除。

批量同步对象类型

您可以将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会自动跳过备份数据。但出于精简包的考虑,建议您在对比代码差异后,及时将无用的备份数据删除。

一键同步云侧代码

对于使用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会自动跳过备份数据。但出于精简包的考虑,建议您在对比代码差异后,及时将无用的备份数据删除。