Can we use dynamodb without nodejs ?

0

Hello guys, how are you I am a beginner in AWS and I wanna know can I use plain JavaScript to store values and manipulate them using DynamoDB.

const { DynamoDBClient } = require('@aws-sdk/client-dynamodb');
const { DynamoDBDocument } = require('@aws-sdk/lib-dynamodb');
// Create service client module using ES6 syntax.
//import { DynamoDBClient } from "@aws-sdk/client-dynamodb";
// Set the AWS Region.
const REGION = "ap-south-1"; //e.g. "us-east-1"
// Create an Amazon DynamoDB service client object.
const ddbClient = new DynamoDBClient({ region: REGION });


// Import required AWS SDK clients and commands for Node.js
import { CreateTableCommand } from "@aws-sdk/client-dynamodb";


// Set the parameters
const params3 = {
    AttributeDefinitions: [
      {
        AttributeName: "Season", //ATTRIBUTE_NAME_1
        AttributeType: "N", //ATTRIBUTE_TYPE
      },
      {
        AttributeName: "Episode", //ATTRIBUTE_NAME_2
        AttributeType: "N", //ATTRIBUTE_TYPE
      },
    ],
    KeySchema: [
      {
        AttributeName: "Season", //ATTRIBUTE_NAME_1
        KeyType: "HASH",
      },
      {
        AttributeName: "Episode", //ATTRIBUTE_NAME_2
        KeyType: "RANGE",
      },
    ],
    ProvisionedThroughput: {
      ReadCapacityUnits: 1,
      WriteCapacityUnits: 1,
    },
    TableName: "TEST_TABLE", //TABLE_NAME
    StreamSpecification: {
      StreamEnabled: false,
    },
  };
  
const run = async () => {
    try {
      const data = await ddbClient.send(new CreateTableCommand(params3));
      console.log("Table Created", data);
      return data;
    } catch (err) {
      console.log("Error", err);
    }
  };
  run();

and I am facing this error- Enter image description here

above is a code and output image in which I am facing credentials error. Please someone guide me where I am doing wrong. Thanks for your time and guidance.

posta 2 anni fa391 visualizzazioni
1 Risposta
2
Risposta accettata

You seem to be missing credentials. You haven't mentioned where you are running your application from, if its from your local machine you can set up the credentials using AWS Configure. This will allow your code pick up credentials and interact with DynamoDB, so long as the credentials belong to a user who has DynamoDB access. More on Identity and Access Management here.

If you're using an AWS service to host the code such as Lambda, then ensure you attach an IAM execution role to the service so it has permissions. Here is an example for Lambda but the same goes for EC2 or other services.

profile pictureAWS
ESPERTO
con risposta 2 anni fa

Accesso non effettuato. Accedi per postare una risposta.

Una buona risposta soddisfa chiaramente la domanda, fornisce un feedback costruttivo e incoraggia la crescita professionale del richiedente.

Linee guida per rispondere alle domande