Posts

Showing posts with the label AWS

AWS : how to play a video file from s3 bucket in browser

URI all you have to do is to sign a request like: https://s3.amazonaws.com/yourbucket/key? response-content-disposition=inline& X-Amz-Algorithm=AWS4-HMAC-SHA256& X-Amz-Credential=AKIAJWWH7EGSUBWE34IQ/20181228/us-east-1/s3/aws4_request& X-Amz-Date=20181228T074135Z& X-Amz-Expires=86400&X-Amz-SignedHeaders=host& X-Amz-Signature=b3143f8442812e176fd61838813a33f53cfd7e198e1c6e68fab5d03d4a642403   and set it as src attribue to a video element. Player component import React, { Component } from 'react'; import PropTypes from 'prop-types'; const AWS_SERVICE = 's3'; const crypto = require('crypto'); Date.prototype.toYMDString = function() { let year = this.getFullYear().toString(); let month = this.getUTCMonth() + 1; if (month < 10) month = "0" + month; let day = this.getUTCDate(); if (day < 10) day = "0" + day; return String(year) + String(month) + S

AWS: how to upload file to your s3 bucket via EvaporateJS in browser

Image
Evaporate and config s3 bucket and IAM user EvaporateJS Config AWS s3 bucket Managing Access Permissions to Your Amazon S3 Resources User Access Key In summary, create a s3 bucket, set up CORS settings and bucket policy. <CORSConfiguration> <CORSRule> <AllowedOrigin>https://*.yourdomain.com</AllowedOrigin> <AllowedOrigin>http://*.yourdomain.com</AllowedOrigin> <AllowedMethod>PUT</AllowedMethod> <AllowedMethod>POST</AllowedMethod> <AllowedMethod>DELETE</AllowedMethod> <AllowedMethod>GET</AllowedMethod> <ExposeHeader>ETag</ExposeHeader> <AllowedHeader>*</AllowedHeader> </CORSRule> </CORSConfiguration> { "Version": "2012-10-17", "Id": "Policy145337ddwd", "Statement": [ { "Sid": "&quo

AWS : how to get cognito user attributes in Lambda/cloud logic

Image
Lambda function(js) const AWS = require('aws-sdk'); const cognito = new AWS.CognitoIdentityServiceProvider(); function getUser(Username) { return new Promise((resolve, reject) => { cognito.adminGetUser({ UserPoolId: process.env.COGNITO_USER_POOL_ID, Username: Username }, (err, data) => { if (err) reject(err.stack); else resolve(data.UserAttributes[2].Value); }); }); } async function getEmail(Username) { return await getUser(Username); } exports.handler = async (event) => { console.log(await getEmail('abcdef')); console.log(await getEmail('hijklmn')); console.log('done'); return 'ok'; }; set Execution role with correct policy as below descripted. set an environment 'COGNITO_USER_POOL_ID' with the user pool id. Role policy { "Version": "2012-10-17", "Statement&

node.js download file from aws s3 bucket via http request with AWS Signature Version 4

Image
Main codes function getYMD(d) { let r = d.getFullYear().toString(); let m = d.getUTCMonth() + 1; if (m < 10) m = "0" + m.toString(); else m = m.toString(); r = r + m; let day = d.getUTCDate(); if (day < 10) day = "0" + day.toString(); else day = day.toString(); r = r + day; return r; } function getTZ(d) { let r = d.getFullYear().toString(); let m = d.getUTCMonth() + 1; if (m < 10) m = "0" + m.toString(); else m = m.toString(); r = r + m; let day = d.getUTCDate(); if (day < 10) day = "0" + day.toString(); else day = day.toString(); r = r + day + "T"; let h = d.getUTCHours(); if (h < 10) h = "0" + h.toString(); else h = h.toString(); r = r + h; let min = d.getUTCMinutes(); if (min < 10) min = "0" + min.toString(); else min =