标签: aws-sdk-js

Number 类型的 DynamoDB 属性中可以存储多少位整数数据?

DynamoDB 的Number类型支持 38 位十进制精度。这不足以存储需要 39 位数字的 128 位整数。最大值为 340,282,366,920,938,463,463,374,607,431,768,211,455 为 unsigned 128 位整数或 170,141,183,460,469,231,731,861,730,861,730,861,730,861,861,861,873 这些都是 39 位数字。

如果我不能存储128位,那么有多少整型数据位我在商店Number

amazon-dynamodb aws-sdk aws-sdk-nodejs aws-sdk-js

4
推荐指数
1
解决办法
1994
查看次数

使用 s3 getObject 函数的 AWS Lambda 什么也没发生

这是使用内联编辑器的 node.js 代码:

const AWS = require('aws-sdk');
const s3 = new AWS.S3();

console.log('Loading function');

exports.handler = async (event) => {
    // TODO implement
    var responseMsg = '';
    var bucket = '';
    var key = '';
    if ('Records' in event) {
        var s3Data = event.Records[0].s3;
        console.log('s3Data: ' + JSON.stringify(s3Data));
        bucket = s3Data.bucket.name;
        key = s3Data.object.key;
    }
    console.log('Bucket:' + bucket);
    console.log('Key:' + key);
    var params = { 
        Bucket: bucket,
        Key: key
    };
    console.log('Params:' + JSON.stringify(params));
    s3.getObject(params, function (err, data) {
       console.log('getObject');
       if …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 node.js aws-sdk aws-lambda aws-sdk-js

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

“错误:接收的数据包顺序错误。” 连接到无服务器 aurora 时

我正在实现一个 Web 应用程序,它调用 lambda 函数从数据库中获取数据。
我选择了 Serverless Aurora 并编写了代码,但"Error: Received packet in the wrong sequence."在查询方法中出现异常。

我用谷歌搜索了这个问题,但几乎所有问题都太旧了。
一篇文章说是的问题,browisify但我不使用它。
我正在使用带有打字稿的无服务器框架。

const mysql = require('serverless-mysql')({
  config: {
    host: process.env.DB_HOST,
    database: process.env.DB_NAME,
    user: process.env.DB_USER,
    password: process.env.DB_PASSWORD
  }
});

export async function query(sql: string, param?: Array<string>): Promise<any> {
  const results = await mysql.query(sql).catch(e => {
    console.log(e); // Error: Received packet in the wrong sequence
    throw new Error(e);
  });

  await mysql.end();
  return results;
}
Run Code Online (Sandbox Code Playgroud)

以下也不起作用


export async function query(sql: string, param?: Array<string>): …
Run Code Online (Sandbox Code Playgroud)

node.js aws-lambda amazon-aurora aws-sdk-js

4
推荐指数
1
解决办法
1733
查看次数

AWS JS SDK V3(Lambda 模块) - 无法连接到实例元数据服务

我以前使用多合一的aws-sdknpm 模块 ( https://www.npmjs.com/package/aws-sdk ) 来调用 AWS Lambda 函数,为此,以下代码运行良好:

        //Some code to get "credentials"
        ...
        const AWS = require('aws-sdk');
        const lambda = new AWS.Lambda({
            accessKeyId: credentials.accessKeyId,
            secretAccessKey: credentials.secretAccessKey,
            region: Config.REGION
        });
        lambda.invoke(pullParams, (err, data) =>
            //I would do something with data
        );
        ...
Run Code Online (Sandbox Code Playgroud)

现在,从https://github.com/aws/aws-sdk-js-v3得到提示,我希望使用模块化@aws-sdk/client-lambda-node,因为它是我项目中唯一需要的类。因此,我已经更改了我的代码(如此处所建议的:https : //github.com/aws/aws-sdk-js-v3/tree/master/packages/client-lambda-node#usage),如下所示:

        import * as AWS from "@aws-sdk/client-lambda-node/Lambda";
        /*
          I believe there is a typo in the form of 
          "
           import * as AWS from "@aws-sdk/@aws-sdk/client-lambda-node/Lambda";
          "
          at …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-lambda aws-sdk-js

4
推荐指数
1
解决办法
2100
查看次数

使用 Node.js 和 Busboy 将多个文件上传到 S3

我正在尝试实现一个允许多个文件上传的 API 端点。

我不想将任何文件写入磁盘,而是缓冲它们并通过管道传输到 S3。

这是我上传单个文件的代码。一旦我尝试将多个文件发布到 中的端点route.js,它就不起作用。

route.js- 我会尽可能保持与框架无关

import Busboy from 'busboy'
// or const Busboy = require('busboy')

const parseForm = async req => {
  return new Promise((resolve, reject) => {
    const form = new Busboy({ headers: req.headers })
    let chunks = []
    form.on('file', (field, file, filename, enc, mime) => {
      file.on('data', data => {
        chunks.push(data)
      })
    })
    form.on('error', err => {
      reject(err)
    })
    form.on('finish', () => {
      const buf = Buffer.concat(chunks)
      resolve({ 
        fileBuffer: buf,
        fileType: …
Run Code Online (Sandbox Code Playgroud)

node.js busboy aws-sdk-js

4
推荐指数
1
解决办法
5052
查看次数

使用AWS javascript SDK V3,是否有等效的凭证提供程序链?

我正在使用 NodeJS 将适用于 AWS 的 javascript SDK 从 V2 迁移到 V3。我们的应用程序需要在几个地方检查凭据。之前我们使用了凭证提供程序链,但我在 V3 中找不到等效项。当我的脚本在本地运行时,我需要查看共享 INI 文件 ( SharedIniFileCredential),但该脚本也在 kubernetes 中运行,所以(我认为)我还需要roleAssumerWithWebIdentity. 如何在 V3 中使用凭证链?

javascript amazon-web-services aws-sdk-js

4
推荐指数
1
解决办法
5062
查看次数

当我拥有 AWS 积分时,为什么 Cost Explorer 客户端显示错误的结果?

使用 AWS 控制台 --> AWS Cost Management --> Cost Explorer 时 - 我得到以下值:

在此输入图像描述

当我使用@aws-sdk/client-cost-explorer“EC2 - 其他”和“Amazon Load Balancer”时,我得到不同的结果。

配置:

import { CostExplorerClient, GetCostAndUsageCommand } from '@aws-sdk/client-cost-explorer';

const client = new CostExplorerClient({
        region,
        credentials: {
          accessKeyId,
          secretAccessKey
        }
      });
    
      const params = {
        TimePeriod: {
          Start: startDate,
          End: endDate
        },
        Filter: {
         Dimensions: {
           Key: 'SERVICE',
           Values: [
             'EC2 - Other', 'Amazon ElastiCache'
           ]
         }
        },
        GroupBy: [
          {
            Type: 'DIMENSION',
            Key: 'SERVICE',
          },
        ],
        Granularity: 'DAILY',
        Metrics: [ …
Run Code Online (Sandbox Code Playgroud)

javascript amazon-web-services node.js aws-sdk-js aws-sdk-js-v3

4
推荐指数
1
解决办法
1465
查看次数

如果我已经有了 aws-sdk (javascript),我还需要 amazon-cognito-identity-js 吗?

我有一个使用 aws-sdk 的 javascript 项目。不,我想使用amazon-cognito-identity-js。页面上写着:

请注意,Amazon Cognito AWS SDK for JavaScript 只是 AWS Javascript SDK 命名空间的精简版,命名为 AWSCognito 而不是 AWS。它仅引用 Amazon Cognito Identity 服务。

事实上,例如,我可以使用以下命令创建 CognitoIdentityServiceProvider:

CognitoIdentityServiceProvider = new AWS.CognitoIdentityServiceProvider();
Run Code Online (Sandbox Code Playgroud)

但是我该怎么做,就像对用户进行身份验证一样?根据amazon-cognito-identity-js文档:

authenticationDetails = new CognitoIdentityServiceProvider.AuthenticationDetails({Userame: ..., Password: ...});
cognitoUser.authenticateUser(authenticationDetails, ...)
Run Code Online (Sandbox Code Playgroud)

但是 CognitoIdentityServiceProvider 对象没有 AuthenticationDetails 属性。

当我使用 aws-sdk 而不是 amazon-cognito-identity-js 时,我是否必须做一些不同的事情?

或者我的假设是错误的,我同时需要 aws-sdk 和 amazon-cognito-identity-js?

amazon-web-services node.js aws-sdk-js

3
推荐指数
1
解决办法
3628
查看次数

Cognito 使用哪个 AWS JS 开发工具包?

截至目前,至少有 5 个与 Cognito 相关的 AWS SDK 软件包。

其中一些在方法上是重叠的。许多只是略有不同。这些文档和链接有的已经过时,有的完全不正确。

大多数文档使用 ES5,一些使用 ES6,一些使用 TypeScript,一些使用 Node。

开发人员如何知道如何从中得出正面或反面的结论?

amazon-web-services amazon-cognito aws-sdk-js

3
推荐指数
1
解决办法
356
查看次数

尝试分段上传时 AWS.S3.upload() 403 错误

长话短说

当尝试使用浏览器中适用于 Javascript 的 AWS 开发工具包s3.upload()提供的方法以及通过调用生成的临时IAM 凭证 直接从浏览器上传文件时,对于非分段上传以及分段上传的第一部分,一切正常上传。AWS.STS.getFederationToken()

但是,当s3.upload()尝试发送分段上传的第二部分时, S3会响应错误403 Access Denied

为什么?



上下文

我正在我的应用程序中实现一个上传器,它将支持直接从浏览器到我的 S3 存储桶的分段(分块)上传。

为了实现这一目标,我在浏览器中使用了适用于 Javascript 的 AWS 开发工具包s3.upload()的方法,据我所知,它只不过是其对.new AWS.S3.ManagedUpload()

我正在尝试的简单说明可以在这里找到:https://aws.amazon.com/blogs/developer/announcing-the-amazon-s3-management-uploader-in-the-aws-sdk-for- javascript/

此外,我还使用API 层AWS.STS.getFederationToken()提供临时IAM 用户凭证来授权上传。

1、2、3:

  1. 用户通过标准 HTML 选择文件来启动上传<input type="file">
  2. 这会触发对我的 API 层的初始请求,以确保用户在我自己的系统上拥有执行此操作所需的权限,如果这是真的,那么我的服务器会使用AWS.STS.getFederationToken()一个Policy参数进行调用,该参数将其权限范围限制为将文件上传到提供钥匙。然后将生成的临时信用返回给浏览器。
  3. 现在浏览器已经有了它需要的临时信用,它可以使用它们来创建一个新的AWS.S3客户端,然后执行该AWS.S3.upload()方法来执行文件的(据称)自动分段上传。



代码

api.myapp.com/vendUploadCreds.js

这是调用的 API 层方法,用于生成和出售临时上传凭证。此时,该帐户已通过身份验证并被授权接收凭据并上传文件。

module.exports = function vendUploadCreds(request, response) {

    var …
Run Code Online (Sandbox Code Playgroud)

upload multipart amazon-s3 amazon-web-services aws-sdk-js

3
推荐指数
1
解决办法
5609
查看次数