access files from s3 bucket on client side meteor.js












0















So I am struggling getting images from an s3 bucket to show up client side in a meteor app. I am using aws-sdk node package. I am getting the objects in my console on the server side and if I change my bucket policy to public it works as well. The fact that the objects show up in the console on startup but are not showing on the client side make me think it is a meteor problem I am just having trouble finding good documentation on the subject.



server.js



Meteor.startup(() => {
AWS.config.update({
accessKeyId: Meteor.settings.AWS.S3.accessId,
secretAccessKey: Meteor.settings.AWS.S3.secret
});

s3 = new AWS.S3({
region: "<my-region>"
});

var params = {
Bucket: "<my-bucket-name>"
};

s3.listObjects(
params,
Meteor.bindEnvironment(function(err, data) {
if (err) throw err;
console.log(data);
})
);
})


Here is my bucket policy( when I set the resource to * it works but I want the resource set to a specific IAM account):



{
"Version": "2008-10-17",
"Id": "Policy-some-number",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<current-iam-account-in>"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::<bucket-name>/*"
},
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<current-iam-account-in>"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::<bucket-name>/*"
},
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<current-iam-account-in>"
},
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::<bucket-name>"
}
]
}









share|improve this question























  • Can you add the client code that is used to display the fetched images?

    – Jankapunkt
    Nov 20 '18 at 8:03











  • @jankapunkt right now the code that displays the images is the s3 url that is saved in our db

    – Kris
    Nov 20 '18 at 17:10











  • I am referring to the code that receives this URL and renders the image using the front end rendering engine of your choice

    – Jankapunkt
    Nov 20 '18 at 17:12


















0















So I am struggling getting images from an s3 bucket to show up client side in a meteor app. I am using aws-sdk node package. I am getting the objects in my console on the server side and if I change my bucket policy to public it works as well. The fact that the objects show up in the console on startup but are not showing on the client side make me think it is a meteor problem I am just having trouble finding good documentation on the subject.



server.js



Meteor.startup(() => {
AWS.config.update({
accessKeyId: Meteor.settings.AWS.S3.accessId,
secretAccessKey: Meteor.settings.AWS.S3.secret
});

s3 = new AWS.S3({
region: "<my-region>"
});

var params = {
Bucket: "<my-bucket-name>"
};

s3.listObjects(
params,
Meteor.bindEnvironment(function(err, data) {
if (err) throw err;
console.log(data);
})
);
})


Here is my bucket policy( when I set the resource to * it works but I want the resource set to a specific IAM account):



{
"Version": "2008-10-17",
"Id": "Policy-some-number",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<current-iam-account-in>"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::<bucket-name>/*"
},
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<current-iam-account-in>"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::<bucket-name>/*"
},
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<current-iam-account-in>"
},
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::<bucket-name>"
}
]
}









share|improve this question























  • Can you add the client code that is used to display the fetched images?

    – Jankapunkt
    Nov 20 '18 at 8:03











  • @jankapunkt right now the code that displays the images is the s3 url that is saved in our db

    – Kris
    Nov 20 '18 at 17:10











  • I am referring to the code that receives this URL and renders the image using the front end rendering engine of your choice

    – Jankapunkt
    Nov 20 '18 at 17:12
















0












0








0








So I am struggling getting images from an s3 bucket to show up client side in a meteor app. I am using aws-sdk node package. I am getting the objects in my console on the server side and if I change my bucket policy to public it works as well. The fact that the objects show up in the console on startup but are not showing on the client side make me think it is a meteor problem I am just having trouble finding good documentation on the subject.



server.js



Meteor.startup(() => {
AWS.config.update({
accessKeyId: Meteor.settings.AWS.S3.accessId,
secretAccessKey: Meteor.settings.AWS.S3.secret
});

s3 = new AWS.S3({
region: "<my-region>"
});

var params = {
Bucket: "<my-bucket-name>"
};

s3.listObjects(
params,
Meteor.bindEnvironment(function(err, data) {
if (err) throw err;
console.log(data);
})
);
})


Here is my bucket policy( when I set the resource to * it works but I want the resource set to a specific IAM account):



{
"Version": "2008-10-17",
"Id": "Policy-some-number",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<current-iam-account-in>"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::<bucket-name>/*"
},
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<current-iam-account-in>"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::<bucket-name>/*"
},
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<current-iam-account-in>"
},
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::<bucket-name>"
}
]
}









share|improve this question














So I am struggling getting images from an s3 bucket to show up client side in a meteor app. I am using aws-sdk node package. I am getting the objects in my console on the server side and if I change my bucket policy to public it works as well. The fact that the objects show up in the console on startup but are not showing on the client side make me think it is a meteor problem I am just having trouble finding good documentation on the subject.



server.js



Meteor.startup(() => {
AWS.config.update({
accessKeyId: Meteor.settings.AWS.S3.accessId,
secretAccessKey: Meteor.settings.AWS.S3.secret
});

s3 = new AWS.S3({
region: "<my-region>"
});

var params = {
Bucket: "<my-bucket-name>"
};

s3.listObjects(
params,
Meteor.bindEnvironment(function(err, data) {
if (err) throw err;
console.log(data);
})
);
})


Here is my bucket policy( when I set the resource to * it works but I want the resource set to a specific IAM account):



{
"Version": "2008-10-17",
"Id": "Policy-some-number",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<current-iam-account-in>"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::<bucket-name>/*"
},
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<current-iam-account-in>"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::<bucket-name>/*"
},
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<current-iam-account-in>"
},
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::<bucket-name>"
}
]
}






node.js meteor amazon-s3






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 20 '18 at 0:15









KrisKris

315




315













  • Can you add the client code that is used to display the fetched images?

    – Jankapunkt
    Nov 20 '18 at 8:03











  • @jankapunkt right now the code that displays the images is the s3 url that is saved in our db

    – Kris
    Nov 20 '18 at 17:10











  • I am referring to the code that receives this URL and renders the image using the front end rendering engine of your choice

    – Jankapunkt
    Nov 20 '18 at 17:12





















  • Can you add the client code that is used to display the fetched images?

    – Jankapunkt
    Nov 20 '18 at 8:03











  • @jankapunkt right now the code that displays the images is the s3 url that is saved in our db

    – Kris
    Nov 20 '18 at 17:10











  • I am referring to the code that receives this URL and renders the image using the front end rendering engine of your choice

    – Jankapunkt
    Nov 20 '18 at 17:12



















Can you add the client code that is used to display the fetched images?

– Jankapunkt
Nov 20 '18 at 8:03





Can you add the client code that is used to display the fetched images?

– Jankapunkt
Nov 20 '18 at 8:03













@jankapunkt right now the code that displays the images is the s3 url that is saved in our db

– Kris
Nov 20 '18 at 17:10





@jankapunkt right now the code that displays the images is the s3 url that is saved in our db

– Kris
Nov 20 '18 at 17:10













I am referring to the code that receives this URL and renders the image using the front end rendering engine of your choice

– Jankapunkt
Nov 20 '18 at 17:12







I am referring to the code that receives this URL and renders the image using the front end rendering engine of your choice

– Jankapunkt
Nov 20 '18 at 17:12














0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53384458%2faccess-files-from-s3-bucket-on-client-side-meteor-js%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53384458%2faccess-files-from-s3-bucket-on-client-side-meteor-js%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Guess what letter conforming each word

Port of Spain

Run scheduled task as local user group (not BUILTIN)