上传和测试我的AWS Lambda函数时遇到此错误:
{
"errorMessage": "Cannot find module 'elasticsearch'",
"errorType": "Error",
"stackTrace": [
"Function.Module._load (module.js:276:25)",
"Module.require (module.js:353:17)",
"require (internal/module.js:12:17)",
"Object.<anonymous> (/var/task/PublishElasticsearch.js:17:21)",
"Module._compile (module.js:409:26)",
"Object.Module._extensions..js (module.js:416:10)",
"Module.load (module.js:343:32)",
"Function.Module._load (module.js:300:12)",
"Module.require (module.js:353:17)"
]
}
Run Code Online (Sandbox Code Playgroud)
和require()作为模块的代码行:
var elasticsearch = require('elasticsearch')({
host: config.ElasticHost
});
Run Code Online (Sandbox Code Playgroud)
该功能成功运行,唯一的问题是需要我的模块。
我npm install在函数目录中运行,并且上载的ZIP的结构如下:
PublishElasticsearch.zip
PublishElasticsearch.js
node_modules
elasticsearch
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么我会收到这个错误?
我的应用程序托管在 AWS Elastic Beanstalk - Tomcat 6 上。我的数据文件存储在 S3 存储桶中。当我在我的机器上的本地服务器上托管我的应用程序时,我能够读取和写入数据到我的 S3 存储桶(通过 SDK 使用),但是从托管在 Elastic Beanstalk 上的应用程序写入操作显示错误,即在 Elastic Beanstalk 上雄猫。我收到以下错误:
com.amazonaws.AmazonClientException:无法计算 MD5 哈希值:visitorsinfo.json(没有此类文件或目录)
我的 S3 存储桶中确实有访问者信息.json,它可以从我机器上的本地服务器成功访问,但无法从 Elastic Beanstalk 访问。
amazon-s3 amazon-ec2 amazon-web-services amazon-elastic-beanstalk
在抱怨允许附加到 VPC 的 lambda 函数访问互联网的 NAT 网关成本时,我发现了一些关于在公共子网而不是私有子网中部署 lambda 并将 EIP 附加到由 Lambda 创建的 ENI 的建议。(我也有一个连接到 VPC 的 IGW)。
我关注了这篇文章:/sf/answers/5227829771/
这有效!我在公共子网中运行的 lambda 可以访问互联网。
然而,我在很多地方读到“这不应该是可能的”,或者“为 lambda 提供互联网访问的唯一方法是通过 NAT 网关/实例。” 或“如果你这样做,它就无法正确扩展”。
这只是一个坏主意吗?我的 lambda 需要访问互联网和 VPC 中的资源(例如私有子网中的 rds)
我想通知任何传入和传出语音呼叫的代码。我需要掌握以下所有内容:
如果电话号码与电话的联系人列表中的某人匹配,如果我可以获得更多的联系信息(特别是联系人姓名),那也将非常有帮助。
通话结束后,我需要我的代码来获取这些信息。也许我只是没有在寻找正确的术语,但是我很难找到如何实现此目标的任何示例。
如果有人可以提供一个实现此目的的代码示例,以及清单文件中所需的权限和任何类型的广播接收器设置,那将是非常不错的。
我无法理解的简短问题,我想在人们点击超链接后从我的WebView启动一个新的浏览器.但是,如何设置该链接的目标以逃避WebViewClient?
这是我的代码,非常感谢任何帮助:
WebView site = (WebView)findViewById(R.id.WebView);
site.setWebViewClient(new WebViewClient());
site.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
site.getSettings().setJavaScriptEnabled(true);
button1.setOnClickListener(button1OnClickListener);
button2.setOnClickListener(button2OnClickListener);
button3.setOnClickListener(button3OnClickListener);
button4.setOnClickListener(button4OnClickListener);
final AlertDialog alertDialog = new AlertDialog.Builder(this).create();
progressBar = ProgressDialog.show(FlitsersActivity.this, "Thingy1", "Load...", false, true);
site.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.i(TAG, "Loading...");
view.loadUrl(url);
return true;
}
public void onPageFinished(WebView view, String url) {
Log.i(TAG, "Done: " +url);
if (progressBar.isShowing()) {
progressBar.dismiss();
}
}
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Log.e(TAG, "Error: " + description);
Toast.makeText(MyActivity.this, "Oh no! " …Run Code Online (Sandbox Code Playgroud) 我在AWS上使用Elastic Beanstalk创建了一个单实例Web应用程序.现在我想添加ssl证书以启用https访问.
我使用ACM创建了一个ssl证书,我正在接受这个!链接将其添加到我在Elastic Beanstalk中的Web应用程序.
但我找不到任何地方.
我怎么能找到他们?
ssl https single-instance amazon-web-services amazon-elastic-beanstalk
使用Claudia JS构建Facebook messenger机器人并计划在AWS Lambda上托管.
我想问一下用户一系列问题.
当用户回答答案时,我需要保存以供日后使用,一旦我掌握了所需的所有信息,我会将答案传递给函数.
保存此信息的最佳方法是什么?
我正在考虑一些缓存层,例如redis,但因为存储在RAM中,当lamda服务器关闭时我会丢失它.Mongodb在连接时显然有很多开销,但至少会持久.
也许只是一个简单的mySQL服务器?
别人怎么做?我觉得有一个我想念的简单解决方案.
我在 ApiGateway 中使用 Lambda 代理和 Cognito 用户池授权器。在 Lambda 函数中,我可以通过事件对象访问路径等变量。除此之外,我想访问经过身份验证的用户的声明。在它写的文档中,我应该使用:
context.authorizer.claims.property
但我授权人为空,所以我得到
Cannot read property 'claims' of undefined
有人有想法吗?
amazon-web-services amazon-cognito aws-lambda aws-api-gateway aws-cognito
是否可以动态创建AWS IoT主题.
例如,是否可以设置一个RULE,一旦收到消息,它就会动态或通过lambda函数创建一个主题.
或者可以通过AWS-SDK实现
任何建议都会有所帮助
我正在从 S3 下载文件,转换其中的数据,然后创建一个新文件上传到 S3。我下载的文件不到 2GB,但因为我正在增强数据,所以当我上传它时,它非常大(200GB+)。
目前你可以想象的代码是这样的:
files = list_files_in_s3()
new_file = open('new_file','w')
for file in files:
file_data = fetch_object_from_s3(file)
str_out = ''
for data in file_data:
str_out += transform_data(data)
new_file.write(str_out)
s3.upload_file('new_file', 'bucket', 'key')
Run Code Online (Sandbox Code Playgroud)
这样做的问题是“new_file”有时太大而无法放在磁盘上。因此,我想使用 boto3upload_fileobj以流形式上传数据,这样我根本不需要磁盘上的临时文件。
有人可以帮忙提供一个例子吗?Python 方法似乎与我熟悉的 Java 完全不同。
aws-lambda ×5
amazon-s3 ×2
android ×2
node.js ×2
amazon-ec2 ×1
amazon-vpc ×1
aws-cognito ×1
aws-iot ×1
aws-sdk ×1
boto3 ×1
chatbot ×1
database ×1
https ×1
java ×1
networking ×1
python-3.x ×1
ssl ×1
webview ×1