我有这个功能在python中按预期工作.如何将其转换为AWS Lambda函数?
def mymailgun(url):
import urllib2
myfile=urllib2.urlopen(url)
import requests
print requests.post("https://api.mailgun.net/v3/XXX.mailgun.org/messages",
auth=("api", "key-XXX"),
files=[("attachment", myfile)
#("attachment", open("files/test.txt"))
],
data={"from": "Excited User <excited-user@example.com>",
"to": "XXX@gmail.com",
"cc": "YYY@yahoo.com",
"bcc": "ZZZ@hotmail.com",
"subject": "Hello",
"text": "Testing some awesomness with attachments!",
"html": myfile})
Run Code Online (Sandbox Code Playgroud) 如何将托管策略附加到 lambda 函数?
我试过:
provider:
name: aws
role: arn:aws:iam::aws:policy/AmazonCognitoReadOnly
Run Code Online (Sandbox Code Playgroud)
但这导致了以下错误:
配置堆栈时发生错误:GaDashextractLambdaFunction - 检测到 1 个验证错误:“角色”处的值“arn:aws:iam::aws:policy/AmazonCognitoReadOnly”无法满足约束:成员必须满足正则表达式模式:arn:aws: iam::\d{12}:角色/?[a-zA-Z_0-9+=,.@-_/]+.
amazon-web-services amazon-iam amazon-cognito aws-lambda serverless-framework
我正在做这样的上传:
curl -v -X PUT -T“test.xml”-H“主机:my-bucket-upload.s3-eu-central-1.amazonaws.com”-H“内容类型:application/xml” https:// /my-bucket-upload.s3-eu-central-1.amazonaws.com/test.xml
文件已上传,我可以在我的 S3 存储桶中看到它。
诀窍是,当我尝试创建一个在创建时触发的 lambda 函数时,它永远不会被调用。如果我使用 S3 Web 界面上传文件,则效果很好。我究竟做错了什么?有没有关于如何做到这一点的明确食谱?
我开始为我的虚拟ios应用程序探索AWS Cognito,尽管在新用户注册期间我在电子邮件中收到确认链接,然后单击该链接可以正确验证电子邮件。
我们是否具有忘记密码的相同功能,即获取链接而不是代码,并将其重定向到我的虚拟网站,仅用户需要输入新密码即可。
提前致谢。
我正在寻找AWS Lambda来处理RDS数据库连接池机制,还是我们为此解决了这个问题?
如果我们没有这个选项,我将很快面临最大连接错误..
const userData = { Username: username, Pool: userPool };
const cognitoUser = new AWS.CognitoIdentityServiceProvider.CognitoUser(userData);
cognitoUser.getUserAttributes(function(err, result) {
if (err) {
alert(err);
return;
}
console.log(result)
for (i = 0; i < result.length; i++) {
console.log('attribute ' + result[i].getName() + ' has value ' + result[i].getValue());
}
});
Run Code Online (Sandbox Code Playgroud)
我有一个自定义字段userType.我已设置自定义属性的读取,写入权限.但是在getUserAttributes的响应中,我只获得标准属性(sub,email_verified,email).如何检索标准和自定义属性?
这是我的回答
amazon-web-services amazon-cognito aws-sdk aws-lambda aws-cognito
我们\xe2\x80\x99目前正在使用AWS构建一个应用程序,并且需要将消息推送到SQS中。我的问题是,是否可以让 SQS 向 SNS 发布一条消息,从而触发 Lambda(订阅 SNS)?然后,lambda 需要向 SQS 返回其收到消息的确认,从而从 SQS 中删除该消息。
\n\n上述场景可能吗?或者是从 SQS 获取消息、通过 Lambda 轮询队列等的唯一方法?
\n\n预先感谢您提供的任何帮助。
\n\n对于滥用术语表示歉意,但我\xe2\x80\x99m 对 AWS 来说相对较新。
\n我已尽力研究这个问题,包括堆栈溢出,但我只是不明白它。我只想将 Lambda 函数的输出保存到 S3 存储桶。但 S3 似乎不喜欢列表作为数据类型!?
我收到错误:
botocore.exceptions.ParamValidationError: Parameter validation failed:
Invalid type for parameter Body, value: type: <class 'list'>, valid
types: <class 'bytes'>, <class 'bytearray'>, file-like object
Run Code Online (Sandbox Code Playgroud)
列表似乎不适合 S3 存储桶的输出类型?这是我正在使用的代码:
bucket_name = "output-bucket"
file_name = "output.json"
s3 = boto3.resource('s3')
object = s3.Object(bucket_name, file_name)
object.put(Body=output_sentences)
Run Code Online (Sandbox Code Playgroud)
我想我只是不明白它的工作原理......
我是 Step Functions 和 AWS 的新手。是否可以从 AWS (EMR) 中的另一个 Step Function 调用一个 Step Function?我正在开发一个 Step 函数,在停止 EMR 之前我必须将 Step 函数包含在 EMR 中。
这里我有两种情况。
1) 我必须从 SFN2 呼叫 SFN3 并停止 SFN2 中的 EMR。2) 执行所有步骤功能后我必须停止 EMR。
我已附上附件供您参考。
请帮助我。
非常感谢。
我正在使用无服务器来部署我使用自定义资源迁移RDS数据库的应用程序.
我部署时一切正常,但是当我删除堆栈后一小时后自定义资源超时,并显示消息"自定义资源无法在预期时间内稳定".对预先签名的AWS S3 URL的请求将返回403错误代码AccessDenied.
我的第一个发送的,成功的响应主体到预先签名的URL(在创建时):
{
"Status": "SUCCESS",
"RequestId": "bd487606-8017-49f2-99af-b29b2bbad40b",
"LogicalResourceId": "SheltersDBMigrationTrigger",
"StackId": "arn:aws:cloudformation:us-east-1:848139458219:stack/update-shelters-dev/c08a80e0-2e4e-11e9-87a6-124d1eab42ba",
"PhysicalResourceId": "DB_MIGRATION"
}
Run Code Online (Sandbox Code Playgroud)
我的第二个发送,失败的响应正文到预先签名的URL(删除时):
{
"Status": "SUCCESS",
"RequestId": "2d166d36-7c0c-4848-9eb5-aedaf5e9172c",
"LogicalResourceId": "SheltersDBMigrationTrigger",
"StackId": "arn:aws:cloudformation:us-east-1:848139458219:stack/update-shelters-dev/c08a80e0-2e4e-11e9-87a6-124d1eab42ba",
"PhysicalResourceId": "DB_MIGRATION"
}
Run Code Online (Sandbox Code Playgroud)
lambda.go:
func handler(ctx context.Context, event cfn.Event) (rid string, data map[string]interface{}, err error) {
rid = "DB_MIGRATION"
if event.RequestType != cfn.RequestCreate {
return
}
db, err := sql.Open("mysql", fmt.Sprintf("%s:%s@(%s)/", os.Getenv("DB_MASTER_USER"), os.Getenv("DB_MASTER_PASSWORD"), os.Getenv("DB_ADDRESS")))
if err != nil {
panic(err)
}
defer db.Close()
defer func() …Run Code Online (Sandbox Code Playgroud) amazon-s3 amazon-web-services aws-cloudformation aws-lambda serverless-framework
aws-lambda ×10
amazon-s3 ×3
python ×2
amazon-iam ×1
amazon-rds ×1
amazon-sqs ×1
aws-cognito ×1
aws-sdk ×1
ios ×1
python-3.x ×1