小编Jat*_*tra的帖子

如何升级 aws lambda 的节点版本

在 AWS 中,我有一个节点版本 10 上的 lambda 函数,但我想更新它run time version- 我应该运行哪个命令来实现这一点,例如想要更新runtime到版本 12?我知道已经有一篇关于AWS Lambda 函数从 NodeJs 版本 6.10 升级到 8.10 版本的文章,但我想知道如何通过命令而不是控制台来执行此操作

amazon-web-services aws-lambda

18
推荐指数
2
解决办法
2万
查看次数

跨账户访问SSM参数

我按照 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)

amazon-iam aws-ssm aws-parameter-store

9
推荐指数
1
解决办法
2万
查看次数

s3存储类别中的最小存储持续时间是什么意思?

当我上传一个文件时,可以说是标准 IA,它已成功上传,当我尝试更改为存储类时,它显示summary of all storage class which has column minimum storage time (30 days)?

这是否意味着刚刚上传的对象应该存储30天,然后我们才能更改其存储类别?如果是,那么为什么我能够立即更改其存储类别?

即使在文档中也没有提及

amazon-s3 amazon-web-services

9
推荐指数
1
解决办法
6057
查看次数

为什么我的属性不存在的条件表达式在 dynamodb 中失败

我的 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)

amazon-web-services node.js express amazon-dynamodb

9
推荐指数
1
解决办法
2万
查看次数

AWS SQS 可以发布到 SNS 还是需要轮询 SQS?

我们\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

amazon-sqs amazon-web-services aws-lambda aws-event-bridge

8
推荐指数
2
解决办法
2万
查看次数

尝试在 Amazon Linux 2 中安装 pip3

我执行了以下操作,但无法安装 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 中的内容。

我从一年前提出的系统中设置了注释,当时就可以使用了。他们打破了什么东西吗?

linux pip amazon-ec2 amazon-web-services amazon-linux

7
推荐指数
2
解决办法
2万
查看次数

将 eslint 作为扩展安装和作为 npm 包安装有什么区别?

我一直在关注有关为 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

7
推荐指数
2
解决办法
237
查看次数

如何在 Jest 的 xyz.test.js 中导入“.mjs”模块?

我想在 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)

javascript node.js jestjs babel-jest

6
推荐指数
1
解决办法
2565
查看次数

如何将 aws cli 与 cli-input-json 结合使用

我在按照 AWS 文档使用 cli-input-json 时遇到了问题,该文档看起来很简单(此处),但与往常一样,缺少他们认为每个人都知道的关键元素。也就是说 JSON 文件需要采用 UTF-8 编码。默认情况下,当使用 Visual Studio Code 和 Powershell 时,它将获取 UTF-16 LE 编码的骨架文件。

CLI 将提供的错误是 JSON 格式错误。

Props 向Sudarpo Chong发送了对类似帖子的评论,但并未将此作为关键问题。

概括:

  • 确保JSON 文件采用 UTF-8 编码

amazon-web-services aws-cli

5
推荐指数
0
解决办法
1443
查看次数

快速验证器:如何使用查询检查来检查“+xyz”?

我正在尝试使用 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 node.js express express-validator

5
推荐指数
1
解决办法
416
查看次数