amazon-web-services - AWS API Gateway Websockets——connectionID 在哪里?
问题描述
我正在 $connect 路由上设置一个带有自定义授权方的 AWS API Gateway Websockets,如下所述:
我的问题是——我如何获得connectionID,即我以后可以用来广播到那个连接的客户端的标识符?
解决方案
要向集成请求添加内容,您需要使用请求模板。
- 为您的路由关闭 HTTP 代理集成。(否则您不能修改请求。)
- 保存您的更改。(在您这样做之前,“请求模板”部分不会出现。)
- 设置您的模板选择表达式。这用于从传入的请求对象中查找值。(如果您想匹配所有传入的请求,请输入
\$default
。注意斜杠。完整文档在这里。) - 设置您的模板键。这与模板选择表达式选择的值进行比较。如果匹配,则使用模板。(如果要匹配所有传入请求,请输入
$default
。注意没有斜杠。) - 单击您的模板键以打开模板编辑器。您可以在此处输入模板,该模板将作为请求正文发送到您的集成端点。例如,如果您想将连接 ID 和传入查询参数转发到集成端点,您可以使用以下内容:
{
"myConnectionIdProperty": "$context.connectionId",
"myQueryParams": $input.params()
}
您可以在此处找到模板表达式中可用变量的文档。
(请注意,虽然它是$request
模板选择表达式中的有效变量,但它不是模板本身中的有效变量。在$input
此处使用。)
推荐阅读
- java - 在 Java 中的对象中拆分数组
- html - 在图像标签上使用 onclick 时出现 HTML 语法错误
- python - Python多处理进程在启动后立即死亡
- php - 如何使用 PHP 邮件库在 ubuntu NGINX 服务器上配置 SMTP 设置?
- spacy - spacy nightly (3.0.0rc) load without vocab 如何添加 word2vec 向量空间?
- c# - 如果登录页面有 slug,则使该登录页面的链接包含 slug
- java - 更新Ignite版本到2.8.0或2.9.0后,sql查询速度明显降低,cpu占用高
- c - 有没有办法在 LLDB 中打印 if 语句或任何其他条件表达式的计算结果?
- node.js - 如何在 express 中使用 next()
- asp.net-core - MassTransit 并发