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

为什么我本地运行函数代码能够正常进行,但是部署到云端oss触发就不行了呢?会是环境的问题吗? 应该不

为什么我本地运行函数代码能够正常进行,但是部署到云端oss触发就不行了呢?会是环境的问题吗? 应该不太可能把,http触发也正常。

展开
收起
芬奇福贵 2023-05-10 12:23:22 196 0
3 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    可能是代码中使用了本地文件或路径,导致部署到云端时找不到相应的资源。在云端部署时,应该使用云上的资源或者将需要的资源一起打包上传。另外,云上的环境和本地环境可能存在差异,也需要注意。建议检查代码中是否有问题,并查看日志以获取更多信息。

    2023-05-24 10:19:27
    赞同 展开评论 打赏
  • oss触发使用的代码和http触发是用的一样?使用oss触发器需要使用事件函数代码方式,参考对应runtime 事件请求处理程序文档 https://help.aliyun.com/document_detail/158690.html?spm=a2c4g.74753.0.0.e0534e53Va8e7r

    oss触发的参数格式也需要注意下,https://help.aliyun.com/document_detail/70140.html?spm=a2c4g.146104.0.0.c33c56bdzs3Lwx

    此答案来自钉钉群“阿里函数计算官网客户"

    2023-05-10 18:44:06
    赞同 展开评论 打赏
  • 随心分享,欢迎友善交流讨论:)

    出现本地运行正常而部署到云端不行的情况,可能是因为部署环境和本地环境存在不同,因此需要对比两个环境的差异来进行排查。以下是一些可能的原因:

    依赖库版本不一致:在本地环境中安装的依赖库版本和云端环境中的版本不一致,导致代码在云端环境中无法正常运行。可以在本地环境和云端环境中查看依赖库的版本,并保持一致。

    网络环境差异:在本地运行时,代码可能访问的是本地网络环境下的资源,而在云端运行时,资源所在的网络环境可能与本地不同,导致无法访问。可以检查代码中访问的资源是否需要跨网络访问,并确认网络环境是否正常。

    权限问题:在云端运行时,代码可能会面临权限限制,例如访问OSS资源需要授权。可以检查代码中是否有相关的授权操作,以及是否授权成功。

    如果是HTTP触发正常而OSS触发不行的情况,可以进一步确认OSS触发器的配置是否正确,例如配置的bucket、Trigger事件等是否正确。同时,也可以查看函数日志,以便更好地理解问题所在。

    2023-05-10 17:21:37
    赞同 展开评论 打赏

快速交付实现商业价值。

相关电子书

更多
OSS运维进阶实战手册 立即下载
《OSS运维基础实战手册》 立即下载
OSS运维基础实战手册 立即下载