【问题标题】:how to create udf in couchbase如何在沙发上创建 udf
【发布时间】:2020-11-23 10:27:47
【问题描述】:

我正在尝试创建一个函数......

curl -v -X POST http://localhost:8091/functions/v1/libraries/math/function/dateEpoc -H 'content-type: application/json' -d '{"name": "dateEpoc" , "code": "function dateEpoc(epoc) { let date = new Date(); return date.setUTCSeconds(epoc); }"}' -u Administrator:password

但我遇到了一个错误

连接到 localhost (::1) 端口 8091 (#0) 使用 Basic 和用户“管理员”的服务器身份验证 POST /functions/v1/libraries/math/function/dateEpoc HTTP/1.1 主机:本地主机:8091 授权:基本QWRtaW5pc3RyYXRvcjp0aGlyZGV5ZUAzMQ== 用户代理:curl/7.55.1 接受:/ 内容长度:7 内容类型:application/x-www-form-urlencoded

上传完全发送出去:7 个字节中的 7 个 HTTP/1.1 404 对象未找到 缓存控制:无缓存,无存储,必须重新验证 连接:关闭 内容长度:31 内容类型:文本/纯文本 日期:2020 年 11 月 23 日星期一 10:19:52 GMT 过期:1970 年 1 月 1 日星期四 00:00:00 GMT Pragma:无缓存 服务器:Couchbase 服务器 X-Content-Type-Options: nosniff X-Frame-选项:拒绝 X-Permitted-Cross-Domain-Policies:无 X-XSS-防护:1;模式=块

【问题讨论】:

    标签: couchbase couchbase-sync-gateway


    【解决方案1】:

    404 是因为您使用了错误的服务来创建 javascript 函数体。 将端口从 8091 更改为 8093 - 这会将请求定向到 N1QL 服务而不是 ns_server,并且应该正确处理请求。

    【讨论】:

    • 谢谢@Marco Greco。我也尝试过使用端口 8093,它通过邮递员执行得很好,但没有通过 cmd 执行....
    【解决方案2】:

    更新:

    Couchbase 6.6 上的 UDF 处于开发者预览模式。所以你需要在这里启用这些预览功能:https://docs.couchbase.com/server/current/developer-preview/preview-mode.html

    之后,您可以通过 Web 查询控制台创建函数:

    CREATE FUNCTION to_meters() { args[0] * 0.3048 };
    

    这里是文档:https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/userfun.html

    【讨论】:

    • 感谢您的快速回复。我试过这个但得到同样的错误
    • 好的,等一下,我会在我的机器上试试
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-15
    • 2023-03-09
    • 2015-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多