Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 00:08
    github-actions[bot] unlabeled #3943
  • 00:08
    github-actions[bot] unlabeled #3943
  • 00:08
    github-actions[bot] closed #3918
  • 00:08
    github-actions[bot] labeled #3918
  • 00:08
    github-actions[bot] unlabeled #3918
  • 00:08
    github-actions[bot] closed #3917
  • 00:08
    github-actions[bot] labeled #3917
  • 00:08
    github-actions[bot] unlabeled #3917
  • 00:08
    github-actions[bot] closed #3912
  • 00:08
    github-actions[bot] labeled #3912
  • 00:08
    github-actions[bot] unlabeled #3912
  • 00:08
    github-actions[bot] closed #3823
  • 00:08
    github-actions[bot] labeled #3823
  • 00:08
    github-actions[bot] unlabeled #3823
  • 00:08
    github-actions[bot] closed #3792
  • 00:08
    github-actions[bot] labeled #3792
  • 00:08
    github-actions[bot] unlabeled #3792
  • 00:08
    github-actions[bot] closed #3789
  • 00:08
    github-actions[bot] labeled #3789
  • 00:08
    github-actions[bot] unlabeled #3789
BertrandMarechal
@BertrandMarechal
how are you invoking APIGateway ?
and why aren't you getting all the other properties from the body ?
kes333
@kes333
Well I am inserting path parameter in the path and the body, a json object..looking into it, probably the GUUID which is the issue, shall update
BertrandMarechal
@BertrandMarechal
the issue is in a mapping somewhere - wrong type
kes333
@kes333
Working now , had to do with the UUID. I created a random number for the Id ,probably that did the trick. it probably was not able to parse the UUID. function between(min, max) {
return Math.floor(
Math.random() (max - min + 1) + min ).toString();
}
original UUID function was :function uuidv4() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = Math.random()
16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
return v.toString(16);
});
}
BertrandMarechal
@BertrandMarechal
glad you figured it out ! :thumbsup:
MichaƂ Dymel
@mdymel_gitlab
Hi, I have a browser app built with angular, which is used to manage resources using CloudFront. I want to be able to disable and delete the CF distributions. However when I use getDistribution from the js SDK, I am not getting the ETAG value - probably due to CORS restrictions. How can I work around it?
rajesh
@getmetorajesh_twitter
are there any default retryDelayOptions set for s3 uploads in the sdk
BertrandMarechal
@BertrandMarechal
it seems like you need to set it on the s3 initialization itself
rajesh
@getmetorajesh_twitter
thanks @BertrandMarechal
Jaafar Shhade
@jfrshd
Hello,
const paramsCredentials: CognitoIdentityCredentials.CognitoIdentityOptions = {
IdentityPoolId: this.POOL_DATA.IdentityPoolID,
Logins: {}
};
      paramsCredentials.Logins[this.POOL_DATA.YOUR_USER_POOL_ID_IDP] = session.getIdToken().getJwtToken();

      AWS.config.region = 'eu-east-2';
      AWS.config.credentials = new AWS.CognitoIdentityCredentials(paramsCredentials, {region: 'eu-east-2'});
      console.log(AWS.config.credentials);
      new AWS.CognitoIdentityCredentials(paramsCredentials, {
        region: 'eu-east-2',
      }).get((err) => {
        console.log('err', err);
      });
      // console.log('AWS.config.credentials', AWS.config.credentials);
      // config.credentials.get((err: AWSError) => {
      // if (!err) {
      // const id = config.credentials.identityId;
      // console.log('Cognito Identity ID ' + id);

      const docClient = new AWS.DynamoDB.DocumentClient({region: 'eu-east-2'});

      const params = {
        TableName: this.ddbTable,
        Item: {userid: 'haha', status: 'worked'}
      };

      docClient.put(params, (error, data) => {
        if (error) {
          console.log('error put', error);
        } else {
          console.log(data);
        }
      });

i am facing an error :

error put CredentialsError: Missing credentials in config

please help i found nothing
BertrandMarechal
@BertrandMarechal
Hey
where do you run this code ? locally ?
Jaafar Shhade
@jfrshd
yes
i am using angular
BertrandMarechal
@BertrandMarechal
so this is part of an angular service ?
Jaafar Shhade
@jfrshd
yes
BertrandMarechal
@BertrandMarechal
ok
so this error is usually linked to the fact that AWS cannot find the aws credentials (as api keys) from your environment variables
Jaafar Shhade
@jfrshd
should i be using secret and access keys?
BertrandMarechal
@BertrandMarechal
yes and no : Yes, that's what AWS SDK is expecting, no in an angular service if you are about to deploy it somewhere
it it is just a local app you are not gonna share, then you should be fine if you are careful (and do not share the credentials on a public github repo for instance)
Jaafar Shhade
@jfrshd
i mean i am trying to access the dynamo db using cognito user pool with identity pool
why should i need accesskey
they didn't mention that in the tutorial
BertrandMarechal
@BertrandMarechal
because they might be expecting you to run this code in Lambda or somewhere else where your credentials are set up
Jaafar Shhade
@jfrshd
Owwwwwwww
are you sure?
BertrandMarechal
@BertrandMarechal
not entirely, that's why I said might
Jaafar Shhade
@jfrshd
mmmmmmm
BertrandMarechal
@BertrandMarechal
but this error message is usually when it's missing the API keys :)
so which tutorial are you following ?
Jaafar Shhade
@jfrshd
i am following the link above
BertrandMarechal
@BertrandMarechal
so try with the following just after you define the region : AWS.config.credentials = new AWS.Credentials('<API KEY ID>', '<API SECRET>');
Jaafar Shhade
@jfrshd
it worked without access keys, there was a problem in matching keys
this took me 4 hours
thank you for your help
Jaafar Shhade
@jfrshd
hello
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::com.mybucket.123.mybucket"
],
"Condition": {
"StringLike": {
"s3:prefix": [
"${cognito-identity.amazonaws.com:sub}"
]
}
}
},
{
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::com.mybucket.123.mybucket/${cognito-identity.amazonaws.com:sub}/*"
]
}
]
}
this is my policy code

i am creating a folder in s3 like this

region + ":" + session.getIdToken().payload.sub

i think i am facing a problem where "sub" of js isn't matching the one of the policy so it keeps getting denied
i tried putting in statically in the policy and it worked
region + ":" + session.getIdToken().payload.sub isn't the same as cognito-identity.amazonaws.com:sub
am i right?