我想知道在Word API网关上将wordpress部署为一系列lambda函数是否可行.关于可行性/陷阱的任何指示将不胜感激!
提前致谢,
库尔德工人党
如何从AWS dynamodb使用中获取/扫描所有项目node.js.我在这里发布我的代码.
var docClient = new aws.DynamoDB.DocumentClient();
var params = {
TableName:"users",
KeyConditionExpression:"user_status=:status",
ExpressionAttributeValues: {
":status": "Y"
}
};
var queryExecute = function(callback) {
docClient.query(params,function(err,result) {
if(err) {
console.log(err)
callback(err);
} else {
console.log(result);
if(result.LastEvaluatedKey) {
params.ExclusiveStartKey = result.LastEvaluatedKey;
queryExecute(callback);
} else {
callback(err,items);
}
}
});
}
queryExecute(callback);
Run Code Online (Sandbox Code Playgroud)
这给了我以下错误.
ValidationException: Query condition missed key schema element: `user_id`.
Run Code Online (Sandbox Code Playgroud)
这里的主键是user_id.我不想在查询条件中使用它,因为如果我提到主键,我需要设置一个值KeyConditionExpression.可能是我错了.但是请建议我一个很好的方法来获取所有项目dynamodb,这是有的user_status = "Y"
默认情况下,当我创建Lambda函数时,CloudWatch Log Group将设置为Never Expire.是否可以设置到期时间(说14天),所以我不必在创建后从控制台手动设置它?
更新#1
感谢@jens walter回答这是如何解决问题的代码片段
Resources:
LambdaFunction:
Type: AWS::Serverless::Function
Properties:
Handler: index.handler
Runtime: nodejs6.10
CodeUri: <your code uri>
Policies: <your policies>
LambdaFunctionLogGroup:
Type: "AWS::Logs::LogGroup"
DependsOn: "LambdaFunction"
Properties:
RetentionInDays: 14
LogGroupName: !Join ["", ["/aws/lambda/", !Ref LambdaFunction]]
Run Code Online (Sandbox Code Playgroud) 获取错误 fork/exec /var/task/main: 执行 lambda 函数时没有这样的文件或目录。
我正在使用 Windows 平台在 Go 中运行和构建代码。
我已完成以下步骤来部署 go aws-lambda 处理程序:
package main
import (
"fmt"
"github.com/aws/aws-lambda-go/lambda"
)
// Request represents the requested object
type Request struct {
ID int `json:"ID"`
Value string `json:"Value"`
}
// Response represents the Response object
type Response struct {
Message string `json:"Message"`
Ok bool `json:"Ok"`
}
// Handler …Run Code Online (Sandbox Code Playgroud) 我有两个关于 AWS SAM 和部署的问题。
\n我\xe2\x80\x99m 阅读文档并检查这样的示例,并且我\xe2\x80\x99m 仍然不太确定如何使用我的 SAM 模板单独部署到staging和production环境。是否像部署一个具有新名称(例如sam deploy \xe2\x80\x94stack-name my-app-staging和 )的新堆栈一样简单sam deploy \xe2\x80\x94stack-name my-app-production?
在下面的例子中,我有一个问题。如果我的 SAM 模板包含具有三个可能值的Parameters名称MyEnvironment,则部署如何知道在部署堆栈时使用这三个值中的哪个值?就像我会怎么说使用值stagingor production?这是我部署时会自动询问的问题还是我必须在 CLI 上提供的问题?
我正在尝试从AWS Lambda(Java)连接到RDS数据库.
我应该从RDS安全组规则中启用哪个IP?
amazon-web-services amazon-vpc aws-lambda aws-security-group
编写由Cloudwatch预定事件触发的AWS Java Lambda函数时,哪个事件对象会传递给Lambda处理函数?
例如,对于由S3事件触发的Lambda函数,AWS调用该函数并传递S3Event对象.类似地,它会将SNSEvent对象传递给由SNS消息触发的函数.
public class LambdaHandler {
public void eventHandler(S3Event event, Context context) {
}
Run Code Online (Sandbox Code Playgroud)
要么
public class LambdaHandler {
public void eventHandler(SNSEvent event, Context context) {
}
Run Code Online (Sandbox Code Playgroud)
对于Cloudwatch计划事件驱动的功能,将取代SNSEvent/S3Event?
public class LambdaHandler {
public void eventHandler(__________ event, Context context) {
}
Run Code Online (Sandbox Code Playgroud)
我无法为我的生活找到任何由Java编写的AWS Lambda函数的示例,这些函数由Cloudwatch Scheduled事件触发...
样本函数的加分点.
编辑1目前还没有正确答案(虽然我不知道AWS已经在SDK中发布了一个适当的'事件'对象,将被传递给Lambda函数),所以实际上可能没有答案我正在寻找.
这个问题也是在这里问:什么是由CloudWatch的事件传递给lambda函数参数类型-计划触发?有人评论建议使用Object并打印类名.原来是LinkedHashMap.看起来像我要得到的答案一样正确......
我有一个运行lambda函数的API网关资源.我正在使用来自Api Gateway的AWS Generated SDK调用API网关资源.
这是我的客户端堆栈跟踪的一部分似乎相关:
Caused by: com.amazonaws.mobileconnectors.apigateway.ApiClientException: {"message": "Internal server error"} (Service: DevnetcountableClient; Status Code: 500; Error Code: null; Request ID: 348e8f98-6f55-11e6-97f6-098c2caf220f)
at com.amazonaws.mobileconnectors.apigateway.ApiClientHandler.handleResponse(ApiClientHandler.java:255) at com.amazonaws.mobileconnectors.apigateway.ApiClientHandler.invoke(ApiClientHandler.java:88)
at java.lang.reflect.Proxy.invoke(Proxy.java:393)
at $Proxy1.accountCreatePost(Unknown Source)
Run Code Online (Sandbox Code Playgroud)
现在看AWS控制台,我的API网关仪表板内我看到的请求进来并导致"AWS/ApiGateway 5XXError".但是有0个日志(我可以找到).我的lambda函数似乎没有被调用,也没有显示lambda日志.
现在这是我的lambda看起来像:
module.exports.createAccount = function(event, context, cb) {
console.log('createAccount');
console.log(event);
console.log(context);
console.log(cb);
cb(null, {status: 'SUCCESS', message: 'I ran!'});
};
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能调试这个?
编辑:好的,这是将所有内容整合在一起的cloudformation脚本.
{
"AWSTemplateFormatVersion":"2010-09-09",
"Description":"The AWS CloudFormation template for this Serverless application",
"Resources":{
"ServerlessDeploymentBucket":{
"Type":"AWS::S3::Bucket"
},
"IamRoleLambda":{
"Type":"AWS::IAM::Role",
"Properties":{
"AssumeRolePolicyDocument":{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":[
"lambda.amazonaws.com"
] …Run Code Online (Sandbox Code Playgroud) amazon-web-services aws-lambda aws-api-gateway serverless-framework
我的应用程序为每个新注册用户创建一个自定义属性“userType”。现在,每当用户登录或刷新令牌时,我都希望将此“userType”声明/属性添加到 JWT 访问令牌中。
是否可以选择告诉 cognito 将我的自定义声明/属性添加到 JWT 访问令牌?(没有预代币生成 Lambda)
我试图包装示例代码片段以获取函数中的秘密,然后调用它,但它似乎不起作用。我怀疑我是异步调用它,我需要同步调用它?我只想要一个可以调用的函数来获取一个秘密值并将其放入一个 var 中。
这是功能:
//outside exports.handler = (event, context, callback) => {
function getSecret(secretName) {
// Load the AWS SDK
var AWS = require('aws-sdk'),
region = process.env.AWS_REGION,
secretName = secretName,
secret,
decodedBinarySecret;
// Create a Secrets Manager client
var client = new AWS.SecretsManager({
region: region
});
// In this sample we only handle the specific exceptions for the 'GetSecretValue' API.
// See https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html
// We rethrow the exception by default.
client.getSecretValue({SecretId: secretName}, function(err, data) {
if (err) {
if (err.code …Run Code Online (Sandbox Code Playgroud) aws-lambda ×10
node.js ×2
amazon-s3 ×1
amazon-vpc ×1
aws-sam ×1
go ×1
handler ×1
javascript ×1
wordpress ×1