开发者社区 > 云原生 > Serverless > 正文

在使用函数计算平台创建自定义层时发现如下问题,这是平台本身的逻辑还是异常?

在使用函数计算平台创建自定义层时发现如下问题:
成功创建一个层,层版本为1,删除该层,重新创建一个名称与刚刚删除的层名一致的层,这时候出现的结果是该层的版本为2。这种现象不符合预期。
这是平台本身的逻辑还是异常?

展开
收起
-Feng、冯冯 2023-12-07 11:35:50 35 0
5 条回答
写回答
取消 提交回答
  • 创建新版本。https://help.aliyun.com/zh/fc/create-a-custom-layer?spm=a2c4g.11186623.0.i98#312820da218cv

    说明
    已创建的层或相关层版本暂不支持修改,如果您需要修改层的相关配置,可以创建新的层或创建新版本。需要注意的是,如果引用的层版本已删除,在更新层配置时,必须先删除该引用。
    在层管理页面,单击目标层名称或操作列的版本管理。

    在版本管理区域,单击创建版本。

    在创建新的版本页面,选择运行环境并上传新的层代码,然后单击创建。

    2023-12-07 16:44:37
    赞同 展开评论 打赏
  • 在阿里云函数计算中,删除一个层后重新创建一个同名的层,系统会自动分配一个新的版本号,这是平台本身的逻辑。这种设计是为了确保层版本的唯一性,避免因为误操作或其他原因导致层版本混淆。当你删除一个层时,该层的所有信息(包括版本)都会被永久删除。因此,当你重新创建一个同名的层时,它会被视为一个全新的层,并且会获得一个新的版本号。

    2023-12-07 14:52:57
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    您好,对于您在使用阿里云函数计算平台创建自定义层时遇到的问题,其现象并非异常。当您删除一个层版本后,如果该层名被再次使用来创建新的层,那么新产生的层版本号会是接着之前的最大版本号继续递增的,这实际上是平台设计的一种逻辑。

    在阿里云函数计算平台中,当您删除一个层版本时,平台并不会直接将层版本的代码删掉,而是先进行一次软删除操作。这是为了避免新的函数使用已删除的层版本。只有当该层版本没有函数引用时,才会彻底删除该层版本。因此,如果您想重新创建一个与之前同名的层,新生成的层的 version 号会是之前的 version 号加一。

    2023-12-07 13:06:06
    赞同 展开评论 打赏
  • 这种现象是符合预期的。在阿里云函数计算中,当你删除一个层后重新创建一个名称相同的层时,系统会自动为新创建的层分配一个新的版本号。

    这是因为每个层的版本都是唯一的,即使你删除了一个层并重新创建一个同名的层,系统仍然会认为这是两个不同的层版本。这样设计的原因是为了保持层版本的唯一性,避免因为误操作或其他原因导致层版本混淆。

    如果你希望使用与之前相同版本的层,你可以直接选择已有的层版本,而不需要重新创建。除一个层版本时,它将无法恢复,因此在删除前请确保你不再需要该层版本。https://help.aliyun.com/document_detail/2513609.html?spm=a2c4g.2513748.0.i2
    image.png

    2023-12-07 11:56:32
    赞同 展开评论 打赏
  • 正常逻辑 层是不可变的 所以不会重复使用一个版本。此回答整理自钉群“阿里函数计算官网客户”

    2023-12-07 11:46:56
    赞同 展开评论 打赏

快速交付实现商业价值。

相关产品

  • 函数计算
  • 相关电子书

    更多
    All in Serverless 阿里云核心产品全面升级 立即下载
    AIGC 浪潮之上,森马的 Serverless 实践之旅 立即下载
    极氪大数据 Serverless 应用实践 立即下载