问题标签 [fn]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
8840 浏览

node.js - node.js - 错误:第一次连接时无法连接到服务器 [localhost:27017] [MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017]

我是 nodeJS 和 mongodb 的新手。我从 YouTube 学到了所有这些东西。我尝试使用 node.js 创建一个 api,但现在我什至无法连接到 mongodb。

问题是我使用 Fn 项目(运行时节点)并尝试连接到 mongodb 但它不起作用。(Fn 项目是一个开源容器原生无服务器平台。)

这是我用来连接 mongodb 的部分:

所以我运行命令来启动 Fn 服务器

我还运行命令来启动 mongodb

一切设置好后,我在部署前运行命令来执行代码。

这是我得到的结果:

我的 docker 版本是 Docker 版本 18.06.1-ce,Ubuntu 版本是 Ubuntu 18.04.1 LTS。

另外,这是 package.json 和 func.yaml

--

我被这个错误困了一个星期,现在我很迷茫。

0 投票
2 回答
478 浏览

docker - Fn 项目缺少 http 操作 (CRUD)

我整个下午都对容器原生无服务器平台“fn 项目”- http://fnproject.io/感到非常兴奋。

我喜欢 FaaS 模型的想法,但无意在应用程序的大部分生命周期内将自己锁定在特定的云供应商中 - 以及其他几个原因,包括希望在任何地方的小型服务器上启动整个应用程序(如果我选择的话) .

fn 项目似乎非常适合我的需求,直到我阅读完文档和所有相关的博客文章并突然想到‘什么?等等……什么???http 操作在哪里?

我无法在任何地方找到一个单一的参考资料,说明是否有可能为不同的 http 操作(即 POST、PUT、PATCH、DELETE)设置 http 触发器,更不用说我将如何做到这一点了。

我想构建 REST api(或者至少可以构建基于 json 服务的基于 http 的 RPC api——如果它没有超媒体链接,它就不是 REST ;)但是我们不要在这个线程中进入那个)

我在这里遗漏了什么(当然是正确的文档)?

谁能告诉我我将如何做到这一点,或者甚至告诉我我是否完全误解了我应该用它做什么?

我现在的兴奋已经减弱,但我希望有人会改变正确的信息。

我找不到其他人抱怨这个感觉很奇怪,所以我认为这可能表明我的误解。

OpenFaaS 等其他解决方案看起来很有趣,但如果可以避免的话,我不想学习如何部署 kubernetes 和 docker swarms :)

0 投票
1 回答
1255 浏览

dialogflow-es - 从意图异步触发实现 webhook?

我有一些意图需要触发履行 webhook 并且不关心响应。webhook 的响应时间比超时时间长,所以我希望简单地回复“感谢聊天”,然后在实际触发 webhook 时关闭对话。

感觉很容易,但我错过了一些东西。我也是对话框流的新手。

我可以用任何语言做到这一点,但这里有一个 Javascript 示例:

编辑 1 - 尝试异步

当我使用异步函数时,POST 请求永远不会发生。所以在下面的代码中:

我在日志中看到了两个 console.log 输出,但没有从请求中看到。而且该请求似乎也没有发生,因为我在端点上看不到它。

解决方案

感谢囚犯的提示。似乎我需要通过 callFlow() 和 handle() 函数返回履行 JSON。现在 Google Home 不会超时,并且会生成 HTTP 调用和响应。

0 投票
0 回答
115 浏览

angular - 从 Angular UI 连接到 Java FN 时出现 CORS 问题

我目前正在尝试解决我们在使用从 Angular 调用的 FN 项目函数查询数据库时遇到的 CORS 问题。fnproject/fn-java-fdk:1.0.83FN函数是用 Java(数据库。数据库以查询结果进行响应,查询结果通过 FN 函数以适当的响应传递回 UI。

我尝试将 CORS 标头作为 htxc.setResponseHeader() 和 htxc.addResponseHeader()。我还尝试更改 func.yaml 以在其中包含 CORS 协议,而不是在函数内部,但这不起作用。此外,我尝试将"*"Access-Control-Allow-Origin头中的 更改为我们也从中发出请求的特定 URL。我们还考虑添加许多不同的标头,Access-Control-Allow-Headers希望其中一个可以解决问题。

在我们正在制作的 Angular 7 UI 中,当我们在 Chrome/Firefox 中打开它时会出现以下错误:

尽管在 Java 代码中设置了“Access-Control-Allow-Origin”响应标头,但仍然如此。除此 CORS 错误外,该函数正常工作,因此我们相当确信它与标头有关。例如,JSON 响应是正确的。

有什么想法吗?当前的标头方法可能存在问题,或者它也可能在 Angular 方面。让我知道是否还需要澄清这个问题。

0 投票
0 回答
610 浏览

java - 尝试在 Java Fn 项目中实例化 Log4j2 记录器时出现 IllegalAccessError

我有一个 Java 类,它是使用 FDK 1.0.95 实例化 Log4j2 记录器的 Fn 函数(在 Fn 应用程序内)的入口点。

我有一个测试类,它在 MyClass 中测试一个非常基本的句柄方法,看起来像这样。

我在 pom.xml 中使用 log4j2 版本 2.11.2。

在我的 IntelliJ IDE 中运行测试时,它在实例化记录器时运行没有任何问题,但是当我fn --verbose deploy --create-app -all --local在 Fn 应用程序的根目录中运行以构建和部署该应用程序中分组的所有 Fn 函数时,我得到以下堆栈跟踪。

我尝试了 Log4j2 和 FDK 的不同版本,但均无济于事。

0 投票
2 回答
664 浏览

if-statement - Cloudformation:: ManagedPolicyArns 基于环境的条件

我正在尝试根据环境向 ManagedPolicyArns 添加条件,它必须运行指定的策略

这是我的代码:

收到以下错误:ValidateTemplate 操作:模板错误:Fn::If 需要一个包含三个元素的列表参数

0 投票
0 回答
36 浏览

fn - 如何在 Fn 函数中检索请求日期 + 时间戳

有没有办法在触发映射函数之前获取 Fn 服务器收到请求时的日期和时间戳?似乎HTTPGatewayContext.getInvocationContext().getRequestHeaders()包含一个属性Fn-Deadline,它似乎是收到请求(或函数触发器开始)日期和时间戳+超时;我希望有一种简单的方法来获取我可能错过的 Fn 收到请求时的日期和时间戳。

0 投票
1 回答
49 浏览

oracle - 如何使用 java 代码调用示例 helloword func

我是功能即服务的新手。我已经完成了所有相关的设置并得到以下命令命令的输出: fn invoke helloworld-app helloworld-func 输出:你好,世界!

现在我需要使用可以在任何位置运行的 java 客户端代码调用 helloworld-func。可能吗 ?如果是怎么办?

0 投票
2 回答
191 浏览

oracle-call-interface - How can I delete a pod via a Oracle Function?

I have a cluster with some deployments / services / etc... inside an OKE, which I usually connect to via kubectl from my pc.

The question is: is it possible to delete a pod inside that cluster from a Oracle Function? What I want to do is build a CI/CD chain, triggering my function via a Gateway to execute my "ci-function", and this part works well.

I'm writing my functions in Go using oci-go-sdk , but here is the problem:

I can obtain the Kubeconfig file of my cluster with:

But this Kubeconfig file contains:

which need oci installed inside the function env, which I am not able to install.

Also, oci-cli used there is opensource, here is the interesting part that generate the token used here: https://github.com/oracle/oci-cli/blob/cf04fa4f08238cb1ee4287f0354603ba92e60647/services/container_engine/src/oci_cli_co… But I wasn't able to recreate this part and use it inside kubeconfig directly.

Someone know any way to do this?

Thanks in advance

0 投票
1 回答
154 浏览

python - 在 fnproject 函数中包含自己的项目代码

我正在使用Fn Project作为 Oracle Cloud Functions 的一部分,我希望包含一些我自己编写的帮助函数,这些函数目前在其他一些程序中使用。我想包含这些函数,而不必将它们复制并粘贴到我的源代码中,我觉得有一种方法可以做到这一点,但我还没有找到。

这是我的目录结构的样子。名称已更改,以使其更易于理解。

目前,在example.py我有以下内容:

当我写 func.py 时,我写了同样的东西,但是当我运行时fn deploy -app test_appfn invoke test_app myfunc它在 import 语句上出错(我from helper import foo在顶部运行了基本的 hello world 函数:

我的第一反应是放入helperrequirements.txt 文件,但这仅适用于pip包。如何确保包含我自己的代码?

任何帮助将非常感激!


更新

到目前为止,我唯一的解决方案是将我的代码从字面上复制并粘贴到源文件中,这不是很容易维护。