Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
    Mike Love
    I am using the new preview v3 aws-sdk
    (import { DynamoDBClient, ScanInput, ScanCommand, ScanOutput } from ‘@aws-sdk/client-dynamodb-v2-node’;)
    I have a method in a repository class (source below) that makes a simple scan of a DDB table.
    The aim with the method getDevicesList() is to use the async / await pattern on the ddbClient.scan()
    I have stripped the method to only structure and logging at each step.
    My question, why is the log statement ‘After DevicesScan...’ not appearing in the log?
    My assumption is that the method is completing before the ddbClient.send promise completes, which is consistent with what in the log.
    My expectation is that the execution will block until promise resolution. What am I missing?
    async getDevicesList(): Promise<DeviceEntity[]> {
    const devices: DeviceEntity[] = [];
    const command = new ScanCommand({
    TableName: ‘Device’,
    try {
    this.logger.log(‘Get From DDB’);
    const devicesScanResult = await this.ddbClient.send(command);
    this.logger.log(‘After DevicesScan : ’ + JSON.stringify(devicesScanResult));
    for (const item of devicesScanResult.Items) {
    this.logger.log(‘Processing Item : ’ + JSON.stringify(item));
    } catch (error) {
    this.logger.log( ‘Error Getting DeviceEntities List From DynamoDB’ + JSON.stringify(error) );
    return devices;
    Jedediah Smith
    The question I have that brought me here is that I am having issues with using the CloudFrontClient to do a CreateInvalidationCommand. It is trying to use cloudfront.us-east-1.amazonaws.com for the hostname but is getting an ENOTFOUND error for getaddrinfo. What should I be setting the region to or is there some setting I am missing something?
    const elasticBeanstalk = new CloudFrontClient({
      region: 'us-east-1',
    export const createInvalidation = async () => {
      const params = {
        DistributionId: DISTRIBUTION_ID,
        InvalidationBatch: {
          CallerReference: String(new Date().getTime()),
          Paths: {
            Quantity: 1,
            Items: ['/index.html'],
      const createInvalidationCommand = new CreateInvalidationCommand(params);
      await elasticBeanstalk.send(createInvalidationCommand);
    Parth Mehta
    Hi everyone! New here :)
    I have a question regarding the @aws-sdk/credential-provider-cognito-identity
    I raised an issue on the aws/aws-sdk-js-v3#564 but its been a while and no one responded so I thought I could get some help here
    The issue is around some variable being undefined in the compiled version of the @aws-sdk/credential-provider-cognito-identity
    Anyone have any ideas how I can go about fixing it?
    Tom Medema
    Hi I'm starting a new project to upload multipart chunks from browser the s3. Should I use aws sdk for javascript version 2 or 3?
    And where is the documentation for V3?
    Tom McLaughlin
    Who questions here. first, what packages should I be using? I see packages with -node on the end and packages without. I think the ones without are the latest and greatest. That correct?
    Second. Can't figure out why this request returns an HTTP 400 with a Validation esception. https://gist.github.com/tmclaugh/0d4f4838d909e0e0e623194b7e3f50e6
    Tom McLaughlin
    Also, how do I set the log level?
    Tom McLaughlin
    installing @alpha fixes it
    Kristian Lundström
              new GetObjectCommand({
                Bucket: "pdf-template-dev",
                Key: `cool-key/${path}`
    How can I store the response in a buffer from a GetObjectCommand this? Can anyone link example code ? Thank

    I can only find this in the docs but I don't quite get it

    For operations containing stream response like GetObject(), you can get response stream by accessing to streaming member. e.g. data.Body.pipe(/ some writable stream /).(data is the resolved response object)

    Kristian Lundström
    (using @aws-sdk/client-s3-node)
    Kristian Lundström
              new GetObjectCommand({
                Bucket: bucketName,
                Key: `cool-key/${path}`
              }).then(response =>
               const receiveObject = new Promise<Buffer>(resolve => {
               const forBuffer = new PassThrough();
               const buffers: any[] = [];
               forBuffer.on("data", chunk => {
                 return buffers.push(chunk);
               forBuffer.on("finish", () => {
                return resolve(Buffer.concat(buffers));
    Got this to work eventually but it's a bit messy
    Logan Powell
    :wave: New guy here
    Logan Powell
    Is there a planned release date for v3 to come out of beta?
    Amit Prakash Ambasta
    Where do I find documentation on various clients?
    Gigin George
    Is the v3 sdk compatible with TypeScript?
    1 reply
    Gary Stidston-Broadbent
    hi all, has anyone tried running this on Deno?
    I know this is still in Beta, but is there a place for API docs? might be the easiest place to start contributing
    Hey guyz, I'm trying to create S3 instance from S3 class in aws-sdk js v3. I add region, accessKeyId, secretAccessKey and sessionToken as constructor config parameters. But I am getting an error saying 'Credential is missing'. Please someone help me out. The issue is opened on stackoverflow at this link https://stackoverflow.com/questions/62612082/credential-is-missing-error-on-instantiating-s3-class-using-aws-sdk-js-v3
    Keren Cohen
    I am using @aws-sdk/client-ec2 and @aws-sdk/client-cloudformation (is there a specific version for the browser?). Can anyone help me understand the format of exceptions that are being "catched"? I can console.log the error but I don't know how to extract a specific property that holds the content of the error. Any documentation exists?
    Keren Cohen
    answering myself - was able to get it with e.toString()
    Traycho Ivanov

    Het, I am just trying v3.

    const data = await s3.getObject({
            Bucket: bucket,
            Key: key

    And this results into {"errorType":"SyntaxError","errorMessage":"Unexpected token o in JSON at position 1","stack":["SyntaxError: Unexpected token o in JSON at position 1"," at JSON.parse (<anonymous>)"," at Runtime.exports.handler (/var/task/src/index.js:45:27)"," at processTicksAndRejections (internal/process/task_queues.js:97:5)"]}

    What is the best way to use getObject with new v3 ?

    2 replies
    Traycho Ivanov
    The issue is data.Body.toString("utf-8") is not working anymore
    Ronique Ricketts
    Hello all
    I am new to AWS and I am here going through the documentation for the Dynamodb client. If I do a ´´´put’´´ it only returns a blank object. Is there a way to get the created item results after creating it?
    Ricardo Montoya
    Hello. I opened an aws/aws-sdk-js#3443 yesterday night (Mexico CDT) and I can now see in my github activity that "@trivikr transferred this issue from aws/aws-sdk-js-v3 24 minutes ago”. The issue cannot be found anymore (404), only through my github issues created activity.
    Can anybody please tell me what that means? Was the issue discarded, moved to internal review, etc? I’m new on this so I just want to know if I did something wrong or what to expect. Thank you in advance.
    Trivikram Kamat
    @mogarick the issue was moved to v2 repo aws/aws-sdk-js#3443
    Ricardo Montoya
    Thank you I’ve noticed a few minutes ago. It looks the redirect from the transfer was not being updated or something like that.
    Ricardo Montoya
    @trivikr is the package @aws-sdk part of version 2? I stated "aws-sdk": "^2.747.0” but it was because I had that version installed in addition to aws-amplify that installs @aws-sdk in node modules. In such directory I don’t see a clear way to know the package version but only the individual directories ´package.json´ files. Most of them are in 1.0.0-gamma.3. I unisntalled the aws-sdk package to make sure it was not the one being used. The problems describen in the issue still persisted. So that’s why I’m asking if it is correct to leave the isse in version 2. thank you for your attention
    hi, I want to use aws-sdk-v3 for s3, how can I install it from npm?
    Ricardo Montoya

    Hi @sozakir. According to the v3 repo example for dynamoDB, this could be the way for S3:

    yarn add @aws-sdk/client-s3@gamma

    or for node

    npm i @aws-sdk/client-s3@gamma
    I don’t know if other v3 libs need to be installed alongside or the s3 client package handles that by itself.
    Thanks @mogarick I had installed this yesterday. But some of the API are changed as compared to earlier aws-sdk. My earlier code written using aws-sdk was not working. could anyone shared the docs for aws-sdk-js-v3 usage? I am currently using s3 only in my code base.
    Hello. I hope that you are all well. I'm working with the old SDK and have been struggling with credential issues. Is the V3 sdk compatible with amazon-cognito-identity-js and if so, how are credentials created using the v3 sdk?
    David Pfeffer
    Hello all, hopefully this is something stupidly simple that I'm just not understanding. I am using a pretty vanilla instantiation of the SNS client, but when I tell it to publish a message, it tries to connect to localhost:443. It does this regardless of whether or not I specify an endpoint at construction.
    David Pfeffer
    Solved it, I was using a much older release of the library (alpha.x, not gamma.x) and there was a bug. Its now been fixed.
    Oliver Salzburg
    Where is the documentation for the v3 SDK?
    Hi, I was trying the new gamma-10 release, and was trying to use the function ec2.modifyTransitGateway(params, function(err, data) mentioned in the SDK documentation. However, seems that function do not exist in the V3 SDK. Does anyone know if it was replaced by something else?
    Robert Wawrzyniak

    Hi everyone,
    I was thinking it might be better to ask this question here first, before opening an issue. Checking out the current gamma release there is a lot to like in the v3 SDK, however when trying it out I was left a bit disappointed by the proposed new API. It doesn't feel like an API designed for node... yet there is no description in the README or the issues giving insight into the design.
    I'm not sure if this is just my personal biases regarding API design talking though. Hence this long question here:
    Why is the "modular" API designed as a pattern of const c = new Client() and c.send(new Command())? I would have anticipated an API more in line with patterns in other libraries like const result = await command(options, client()), that way we could easily curry SDK-functions with project-specific configuration etc.
    Please ignore my non-usage of new this question is really not about "why classes".
    The current API feels very much like it is wrapping a set of RPC endpoints... which is absolutely fine, but wouldn't it be preferable to more closely align with other projects in this space.

    On a related note:
    Maybe the SDK could ship with a babel plugin or macro to rewrite the "enhanced v2" syntax to the "modular" one? The v2 syntax in many ways feels like a rather cohesive OOP-API, making it much easier to teach to juniors or team members who are not as familiar with AWS. The v3 API already raised questions like "what's a command" when we presented the v3 SDK as something new in a knowledge session.

    Robert Wawrzyniak
    I cross-posted my question above to Github: aws/aws-sdk-js-v3#1557
    Martin Juhasz
    Hey, is the v3 api reference already online somewhere?
    Oliver Salzburg
    @martinjuhasz The last time I looked, it wasn't and nobody here answered me regarding where to find it
    Lauri Svan

    Hi, also awaiting for the v3 api. Meanwhile - how does the "assume role" functionality work in V3 API? Our current setup requires assuming a role from another account, and somehow v2 API was able to do it under the hood. When calling commands with the v3 API, I get "Profile <profile> requires a role to be assumed, but no role assumption callback was provided.".

    How to define such a callback?

    Would anyone happen to know why when using the S3Client with v3 it seems to be asking for credentials when being ran on an ec2? Usually the AWS SDK doesn't need to be provided credentials as long as the IAM profile has sufficient access (which it does)
    Chris Kalafarski
    Do v3 DynamodbClient commands work like the v2 DocumentClient? I.e., do they work with standard JSON data, or does it need to be typed S: foo, etc