我使用 HelloWorld 样式模板应用程序在 IntelliJ 中创建了一个新的无服务器项目。我设法在我的 AWS 账户中远程构建、部署和运行了这个应用程序。我什至设法将它与 API 网关集成,以便通过 Internet 访问它。
随着项目的建立,它有 1 个名为 HelloWorldFunction 的 Lambda 函数。它的处理程序称为“helloworld.App::handleRequest”,我可以在 template.yaml 文件中看到它的配置。
现在我想在同一个应用程序项目中创建另一个 Lambda 函数。因此,在 IntelliJ 中,我遵循以下步骤:
我在这里尝试了不同的名称,例如“MyNewHandler”或“helloworld.App::handleRequest”(显然这不起作用,因为它已被HelloWorldFunction 使用)、“helloworld.App2::handleRequest”、.. .. 等等。
每次我尝试使用其他名称或方式来定义处理程序时,都会收到以下错误消息:
必须能够在项目中找到处理程序才能部署到 Lambda
题:
我是否需要先在 template.yaml 文件中配置新的 Lambda 函数,或者我需要怎样调用 Handler 才能使其工作?
我确信这只是一个菜鸟错误,但我一直在谷歌上搜索这个并没有找到任何遇到同样问题的人。我还在 AWS 上阅读了有关处理程序的内容,但它仅在概念层面对其进行了描述,而不是在有多个 Lambda 的实践中进行了描述。
谢谢你的帮助!
安迪
我编写了一个Java程序,它从一个文件加载数据,我在命令行上显示加载的进度,在每n条记录后打印一条消息到屏幕上,如下所示:
$>处理了100条记录.
$>处理了200条记录.
$>处理了300条记录.
$>处理了400条记录.
$>处理了500条记录.
...
但是,我想打印一行,只更新数字,即输出总是如下所示:
$>已处理的<n>条记录.
如何在Java中实现这一点,甚至可能吗?
此错误之前已在帖子中报告过:VBoxManage:错误:无法创建仅主机适配器,并且对于新版本的 Windows/vagrant/OracleVB 不断重复发生,如下所述。如果有人为下面描述的设置确定了此问题的解决方案,请在此处分享:
"bento/ubuntu-14.04"图像我安装了 Oracle VB,然后安装了 Vagrant(都是全新安装的),然后在vagrant up我的一个工作区中以 usuas 身份运行。vagrant 下载完虚拟盒后,在尝试启动 VM 时给出以下错误输出:
C:\Users\AHL\workspace>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'bento/ubuntu-14.04' could not be found. Attempting to find and install...
default: Box Provider: virtualbox
default: Box Version: >= 0
==> default: Loading metadata for box 'bento/ubuntu-14.04'
default: URL: https://atlas.hashicorp.com/bento/ubuntu-14.04
==> default: Adding box 'bento/ubuntu-14.04' (v2.2.9) for provider: virtualbox …Run Code Online (Sandbox Code Playgroud) 我有一个程序,可以按名字和姓氏搜索 LinkedIn 成员,用于学术研究。
我有一个 LinkedIn 开发者帐户,应该每天对相关的“搜索人员”资源进行 10 万次调用,但只有 400 次以上(请参阅下面的统计数据)时,API 调用会引发异常,说“调用此资源的限制到达了”。
在我的限制如此之高的情况下,这怎么可能?
——
来自他们网站的 LinkedIn 统计数据:
从 2013 年 1 月 23 日午夜 UTC 开始到现在的 API 使用报告
资源:搜索人物
用法:调用次数:409 允许:100000
状态:OK(绿色勾号)
限制成员:1(搜索人员的限制成员列表:Idb_YiFpOs)
我正在开发一个带有两个处理程序的 Lambda 函数:一个用于抓取网站,另一个用于根据抓取和组合的内容构建静态网站。
我创建了两个单独的类,其中两个方法同时处理抓取和网站建设。这两个类都使用 AWS Java SDK 来访问 S3 和 DynamoDB 等服务。我还使用其他库,例如 Apache Free Marker、Gson 等。
我确保在我的代码中,仅导入特定的类并避免任何import .*类型表达式。
在构建和部署 Lambda 并检查部署包后,我注意到巨大的大小:123 MB!包大小较大的原因是 lib 文件夹中包含多达 211 (!) 个 jar 文件。
当我进一步分析包含的 jar 文件时,我注意到 90% 以上的 jar 文件都来自 AWS SDK。
我的问题:在构建集成到不同 AWS 服务的应用程序时,这是 Lambda 部署包的正常文件大小,还是我在这里做错了什么?在我看来,这根本不是一个复杂的应用程序,并且导入的 jar 数量似乎过多,并且破坏了部署包。
编辑 1:我的 pom.xml 包含在下面:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>helloworld</groupId>
<artifactId>HelloWorld</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<name>A sample Hello World created for SAM CLI.</name>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencyManagement>
<dependencies>
<!-- https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-bom -->
<dependency> …Run Code Online (Sandbox Code Playgroud) 我已经按照https://laravel.com/docs/5.0/homestead上的教程进行操作,当运行"vagrant up"步骤时,我收到以下错误消息(如下所示)任何想法是什么问题?运行最新版本的Oracle VirtualBox和最新版本的Vagrant.问候
-
C:\Users\Anders\Vagrant\Homestead>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'laravel/homestead'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'laravel/homestead' is up to date...
==> default: Setting the name of the VM: homestead-7
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
default: Adapter 2: hostonly
==> default: Forwarding ports...
default: 80 (guest) => …Run Code Online (Sandbox Code Playgroud) 问题
我正在关注本教程:https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/key-tasks.html
操作系统:Win 10 专业版 64 位
行家:
C:\Users\MyUserName>mvn -version
Apache Maven 3.6.2 (40f52333136460af0dc0d7232c0dc0bcf0d9e117; 2019-08-28T01:06:16+10:00)
Maven home: C:\Program Files\apache-maven-3.6.2\bin\..
Java version: 1.8.0_221, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk1.8.0_221\jre
Default locale: en_AU, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
Run Code Online (Sandbox Code Playgroud)
爪哇:
C:\Users\MyUserName>java -version
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
C:\Users\MyUserName>javac -version
javac 1.8.0_221
Run Code Online (Sandbox Code Playgroud)
Docker(已安装并正在运行):
C:\Users\MyUserName>docker -v
Docker version 19.03.2, build 6a30dfc
Run Code Online (Sandbox Code Playgroud)
IntelliJ Docker …
我维护一个“业余爱好”网站来试验 AWS 技术。因为它是一种纯粹的爱好,所以我试图将其成本保持在尽可能低的水平,并且只使用那些绝对必要的服务。
几个月来,该网站开始产生一些流量,每天大约有 30-50 次点击,在某些日子里,每天点击量高达 1000 次。
我使用 CloudFront (CF) 的主要目的是使用 HTTPS 并有一种方法将我的域与我的 S3 网站存储桶连接起来,但由于点击量的增加,成本一直在上升。
显然,在这个阶段,成本是可控的(每月几美元),但正如我所说,我的目标是将成本保持在绝对最低限度,而 CF 开始成为我成本的最大份额。
查看 Bill Details 中的 CF 成本,向我展示 HTTPS 请求,尤其是带宽占成本的最大份额。
我正在寻找一种方法,让我能够继续将 CF 用于 HTTPS,并且有一种方法可以从 S3 存储桶安全地指向我的域,但可以降低请求和带宽导致的成本。
该网站是静态的,完全托管在 S3 上。它包含了:
我的CF配置如下:
今天我计划使用vagrant将最新的Ubuntu版本发布到我的虚拟框中.加载图像并运行后vagrant up,我收到如下所示的错误,该错误与虚拟盒的网络配置有关.
有趣的是,已经有一些在线帖子(主要在GitHub上,例如:https://github.com/mitchellh/vagrant/issues/7155),还有AskUbuntu(https://askubuntu.com/questions/760871/network) -settings-fail-for-ubuntu-xenial64-vagrant-box),StackOverflow(vagrant up命令给出错误,eth1没有显示可解析的ip地址)和StackExchange(https://unix.stackexchange.com/questions/188413/not -able-to-resolve-ip-address-for-eth1-in-vagrant-vm).然而,这些问题涉及xenial64(即不 bento)或使用public_network配置.
正如报道https://askubuntu.com/questions/760871/network-settings-fail-for-ubuntu-xenial64-vagrant-box,这个问题不存在ubuntu/trusty64或ubuntu/wily64,但似乎是两个问题ubuntu/xenial64和bento/ubuntu-16.04(即两个Ubuntu 16盒).
正如您将在Vagrantfile下面看到的,我只有一个简单的设置bento/ubuntu-16.04和使用private_network.要清楚,我不能真正使用这个帖子(vagrant up命令给出错误和eth1没有显示可解析的ip地址),因为它建议注释掉public_network流浪汉配置的一部分.此外,我应该提到在发生此错误时没有其他VM正在运行.
从错误日志中可以看出netowrk界面存在问题eth1,但问题究竟是什么,我不清楚.我以前成功启动了hashicorp/precise32与ubuntu/trusty64Ubuntu框相同的流浪汉配置和相同的Oracle VB并没有遇到过这个问题.
任何帮助表示赞赏.我的技术设置和参考文件如下所示.
干杯AHL
建立:
Vagrantfile:
Vagrant.configure(2) do |config|
config.vm.box = "bento/ubuntu-16.04"
config.vm.network "private_network", ip: …Run Code Online (Sandbox Code Playgroud) I just installed Tomcat 9 on Ubuntu 14.04 LTE and when I run sudo service tomcat start, and then check the status using sudo service tomcat status, I get the status: tomcat stop waiting.
When I access localhost at port 8080 I get a Unable to connect, i.e. it looks like the server is not running.
I followed the tutorial at https://www.digitalocean.com/community/tutorials/how-to-install-apache-tomcat-8-on-ubuntu-14-04 and used the Tomcat 9 file instead of Tomcat 8.
This is how I …
aws-lambda ×3
java ×3
vagrant ×3
amazon-s3 ×1
api ×1
aws-sdk ×1
bento ×1
command-line ×1
docker ×1
homestead ×1
laravel ×1
limit ×1
linkedin ×1
output ×1
rest ×1
throttling ×1
tomcat ×1
ubuntu ×1
ubuntu-14.04 ×1
ubuntu-16.04 ×1
virtualbox ×1