在 AWS 中,我有一个节点版本 10 上的 lambda 函数,但我想更新它run time version- 我应该运行哪个命令来实现这一点,例如想要更新runtime到版本 12?我知道已经有一篇关于AWS Lambda 函数从 NodeJs 版本 6.10 升级到 8.10 版本的文章,但我想知道如何通过命令而不是控制台来执行此操作。
我按照 AWS 开发者论坛帖子(现已不再可用)中提到的说明进行操作。
政策
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"ssm:GetParametersByPath",
"ssm:GetParameters",
"ssm:GetParameter"
],
"Resource": "arn:aws:ssm:eu-central-1:XXXXXXXXXX:parameter/some-root/*"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": "ssm:DescribeParameters",
"Resource": "*"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我已将策略附加到角色中的目标账户
当我从源帐户获取参数时,它可以工作,但是我无法从目标帐户访问它们。
C:\Users\my-home>aws ssm get-parameters-by-path --path "/some-root/" --profile aws-acc-src
{
"Parameters": [
{
"Name": "/some-root/dev",
"Type": "SecureString",
"Value": "AQICAHh5z4qygT6rbxBnR/PmJn811vO30kBJNB+JrB1tdKNBeAEHFLSQDpTMsRMc1l0D8lXYAAAAYTBfBgkqhkiG9w0BBwagUjBQAgEAMEsGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQM+Qmz5FoNcESEXabnAgEQgB6MdOlb545EPN61QqA50w7rH3sghmNWvxsLPPneHEA=",
"Version": 1,
"LastModifiedDate": "2020-10-06T16:03:32.637000+03:00",
"ARN": "arn:aws:ssm:eu-central-1:XXXXXXXX:parameter/some-root/dev"
}
]
}
aws ssm get-parameters-by-path --path "/some-root/" --with-decryption --profile aws-acc-src
{
"Parameters": [
{
"Name": "/some-root/dev",
"Type": "SecureString",
"Value": …Run Code Online (Sandbox Code Playgroud) 当我上传一个文件时,可以说是标准 IA,它已成功上传,当我尝试更改为存储类时,它显示summary of all storage class which has column minimum storage time (30 days)?
这是否意味着刚刚上传的对象应该存储30天,然后我们才能更改其存储类别?如果是,那么为什么我能够立即更改其存储类别?
即使在文档中也没有提及
我的 DynamoDB 表的主键为id. 查询记录时将使用相同的 id。
现在我想插入一条带有id和作为属性的记录,当且仅当表中不存在和originalURL时,我想插入此记录。idoriginalURL
更新:-根据文档ConditionExpression: "attribute_not_exists(id) AND attribute_not_exists(originalURL)",仅在主键上下文中有效(您可以执行条件放置操作(如果指定主键不存在,则添加一个新项目),所以是否存在?没有什么区别。所以我需要一个两个条件都有效的解决方案,或者originalURL也充当关键attribute_not_exists(originalURL)
router.post('/', async function (req, res, next) {
urlId = await nanoid(8);
//const hashids = new Hashids('this is my salt')
//urlId=hashids.encode(1)
console.log('jatin', urlId);
// urlId=uuidv4();
const { longURL } = req.body
const params = {
TableName: 'url',
Item: {
"id": urlId,
"originalURL": longURL
},
UpdateExpression: "set originalURL = :y",
ConditionExpression: "attribute_not_exists(id) AND attribute_not_exists(originalURL)"
}
dynamoDb.put(params, (error, …Run Code Online (Sandbox Code Playgroud) 我们\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我执行了以下操作,但无法安装 pip3。任何帮助表示赞赏!
sudo yum install python3 pip3
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Package python3-3.7.9-1.amzn2.0.2.x86_64 already installed and latest version
No package pip3 available.
Nothing to do
Run Code Online (Sandbox Code Playgroud)
我在此之前运行 sudo yum update 没有任何问题。
我发现的帖子表明这应该有效。
这是 Amazon Linux 2 上的最新 AMI 中的内容。
我从一年前提出的系统中设置了注释,当时就可以使用了。他们打破了什么东西吗?
我一直在关注有关为 vscode 和开发设置和配置eslint 和 prettier 的各种博客和视频。但是每篇文章都没有解释 why do we need to separately install eslint as an npm package and vs code extension?
如果我安装其中任何一个,会有什么不同?
javascript development-environment npm eslint visual-studio-code
我想在 Jest 26.1.0 中使用 ES6 模块的导入/导出功能(因为我的整个项目都使用它)。
我为我的测试用例创建了一个名为的目录,testCases/其中包含一个math.mjs文件。现在我正在尝试将此文件导入math.test.js(对于 Jest)。每当我运行时npm run test,它都会引发以下错误。
>Details:
/home/jatin/Downloads/Node.js/task-manager-app/TestCases/math.test.js:1
import calc from "../src/math.mjs";
^^^^^^
SyntaxError: Cannot use import statement outside a module
at Runtime._execModule (node_modules/jest-runtime/build/index.js:1179:56)
Test Suites: 1 failed, 1 total
Tests: 0 total
Snapshots: 0 total
Time: 1.556 s
Ran all test suites.
npm ERR! Test failed. See above for more details.
Run Code Online (Sandbox Code Playgroud)
我什至尝试根据文档和其他 GitHub 问题更改 Jest 配置,但到目前为止没有成功。
下面是我的 math.mjs 测试文件
const calc = (total, tippercent) => {
const …Run Code Online (Sandbox Code Playgroud) 我在按照 AWS 文档使用 cli-input-json 时遇到了问题,该文档看起来很简单(此处),但与往常一样,缺少他们认为每个人都知道的关键元素。也就是说 JSON 文件需要采用 UTF-8 编码。默认情况下,当使用 Visual Studio Code 和 Powershell 时,它将获取 UTF-16 LE 编码的骨架文件。
CLI 将提供的错误是 JSON 格式错误。
Props 向Sudarpo Chong发送了对类似帖子的评论,但并未将此作为关键问题。
概括:
我正在尝试使用 express-validator 验证/允许 +originalUrl、-originalUrl 、 +createdAt 等单词集。
它支持允许模式的.matches。https://github.com/validatorjs/validator.js/
这是我的模式
query('sort_by')
.optional()
.matches(/^(+originalUrl|-originalUrl)$/)
.withMessage({
error: 'Invalid parameter value',
detail: {
max_results: 'parameter value (+originalUrl|-originalUrl) is allowed',
},
}),
Run Code Online (Sandbox Code Playgroud)
尝试过.matches(/^(\+originalUrl|-originalUrl)$/)但没有成功。
不知怎的,我觉得阅读“+”有问题。 在我的后端+被编码为 %20,因此尝试用 %20 替换 + 但没有成功。
更新:在记录查询参数 + 时,它被视为' orignalUrl'并且.isIn([' orginalUrl']现在可以工作,但是我仍然如何在 + 上进行转换或查询,因为有人可以输入“originalUrl”,这仍然可以工作,因此得到验证,这是不可取的。
也尝试询问验证者 -> https://github.com/express-validator/express-validator/issues/1122
我如何检查+某事?
javascript ×3
node.js ×3
aws-lambda ×2
express ×2
amazon-ec2 ×1
amazon-iam ×1
amazon-linux ×1
amazon-s3 ×1
amazon-sqs ×1
aws-cli ×1
aws-ssm ×1
babel-jest ×1
eslint ×1
jestjs ×1
linux ×1
npm ×1
pip ×1