开发者社区> 问答> 正文

智能语音交互、语音AI中函数计算异步调用的这个 context.token是从哪里传给函数的啊?

智能语音交互、语音AI中函数计算异步调用的这个 context.token是从哪里传给函数的啊?event和context里都找不到

展开
收起
真的很搞笑 2023-05-10 15:22:58 122 0
2 条回答
写回答
取消 提交回答
  • context.task.token,看下:https://help.aliyun.com/document_detail/149828.html?spm=a2c4g.357640.0.0.18aa5398yGBcAg,此回答整理自钉群“阿里语音AI【3群】”

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

    在阿里云函数计算中,context.token参数是属于异步调用时的上下文参数,在普通同步调用中context对象中是没有这个属性的。它是通过异步调用函数时,将请求中的x-fc-request-id参数作为token传递给函数的。x-fc-request-id是阿里云函数计算服务自动生成的一个请求ID,并通过HTTP响应头返回给调用方。通过将这个请求ID作为token传递给异步调用的函数,函数计算服务可以识别函数调用的上下文信息,从而实现异步调用。

    需要注意的是,如果是通过API网关触发函数计算的异步调用,需要在配置API网关时开启x-fc-request-id参数的转发,否则将无法获取到context.token参数。

    在函数中可以通过context.token获取到该参数的值,例如:

    exports.handler = function(event, context, callback) { console.log('context.token:', context.token); //异步调用其他函数 const asyncInvokeParams = { 'method': 'POST', 'path': '/2016-08-15/proxy/services/service_name/functions/function_name/async-invoke', 'headers':{ 'Content-Type': 'application/json', 'X-Fc-Log-Type': 'Tail', 'X-Fc-Req-Id': context.token }, 'body': JSON.stringify({ 'event': {'key': 'value'} }) }; callback(null, 'Hello World!'); }; 在上面的例子中,可以看到通过context.token可以获取到异步调用的上下文参数,并通过其调用其他函数。

    希望对您有所帮助。

    2023-05-10 15:43:09
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Lindorm AI 能力介绍 立即下载
2023云栖大会:PolarDB for AI 立即下载
2023云栖大会:Lindorm一站式AI数据平台实战 立即下载