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

阿里函数计算中函数调用 get正常,post返回报这个该怎么做?

阿里函数计算中函数调用 get正常,post返回:{
"ErrorCode": "AccessDenied",
"ErrorMessage": "unauthorized method 'POST'"
}
请问是什么原因呢?

展开
收起
小小鹿鹿鹿 2023-11-21 22:15:15 76 0
3 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    根据您提供的错误信息,“ unauthorized method 'POST' ”表示您正在尝试使用未被授权的 POST 方法进行函数调用。
    在阿里云函数计算中,当您创建一个新的函数时,默认情况下只允许 GET 请求。如果您想使用其他方法(如 POST),则需要在函数创建时选择启用这些方法。具体操作步骤如下:

    1. 在阿里云控制台中,选择“产品”>“服务器 > 函数计算”。
    2. 在新页面中,点击左侧菜单栏中的“服务列表”。
    3. 在右侧列表中,选择您希望启用 POST 请求的函数。
    4. 在新页面中,点击顶部导航栏中的“编辑”按钮。
    5. 在弹出窗口中,滚动到“API 触发器”部分,并在“方法”字段中勾选“POST”。
    6. 点击底部的“保存”按钮完成设置。
    2023-11-22 15:00:49
    赞同 展开评论 打赏
  • 这个错误信息表明,您尝试使用POST方法调用函数时被拒绝了。这通常是因为您的函数没有配置为接受POST请求,或者您的函数计算服务没有正确配置权限。

    要解决这个问题,您可以按照以下步骤进行操作:

    1. 检查您的函数代码,确保它能够处理POST请求。例如,如果您使用的是Python语言和Flask框架,可以添加一个处理POST请求的路由:
    from flask import Flask, request
    
    app = Flask(__name__)
    
    @app.route('/', methods=['GET', 'POST'])
    def handle_request():
        if request.method == 'POST':
            # 处理POST请求的逻辑...
            pass
        else:
            # 处理其他请求的逻辑...
            pass
    
    1. 确保您的函数计算服务已经正确配置了权限。您可以在函数计算控制台的“函数配置”页面中查看和修改函数的访问控制列表(ACL)。请确保您的用户或角色具有调用该函数的权限。

    2. 如果问题仍然存在,请检查您的函数计算服务的日志以获取更多详细信息。您可以在函数计算控制台的“日志”页面中查看和下载函数的日志文件。这些日志文件可能包含有关拒绝请求的原因的更多信息。

    2023-11-22 11:52:10
    赞同 展开评论 打赏
  • 触发器中加上post。此回答来自钉群阿里函数计算官网客户。

    2023-11-22 08:23:26
    赞同 展开评论 打赏

快速交付实现商业价值。

相关产品

  • 函数计算
  • 相关电子书

    更多
    Hologres Serverless之路:揭秘弹性计算组 立即下载
    Serverless开发平台: 让研发效能再提升 立即下载
    Serverless 引领云上研发新范式 立即下载