In clientseitige Javascript, habe ich:Warum ändert sich mein Zugriffsschlüssel? (Unter Verwendung von AWS javascript & node.js APIs für Lambda)
AWS.config.credentials = {
"accessKeyId": ak, // starts with "AKIA..."
"secretAccessKey": sk // something long and cryptic
};
Dann rufen schließlich
var lambda = new AWS.Lambda({apiVersion: '2015-03-31'});
var params = {
FunctionName: 'my-function-name',
InvokeArgs : my_data
};
lambda.invokeAsync(params, function(err, data) {
...
Die HTML-Anforderung den richtigen Zugriffsschlüssel zu enthalten scheint, :
authorization:AWS4-HMAC-SHA256 Credential=AKIA...
Und in serverseitige node.js, ich alle AWS-Anmeldeinformationen nicht manuell eingestellt, mit dem Verständnis, dass sie in der Client-Seite Einstellung suffici ist hno, wie:
var AWS = require('aws-sdk');
var s3 = new AWS.S3();
...
die Anfrage folgenden wird die Upload-Handler des Servers wird wie erwartet genannt, aber in diesem Handler, nicht s3.putObject()
mit einem Fehler Zugriff verweigert. Der Versuch, dies zu debuggen, fügte ich console.log (AWS.config.credentials) mit dem Upload-Handler und Cloudwatch zeigt:
accessKeyId: 'ASIA...
Ich habe nicht die accessKeyId erkennen, dass gezeigt wird, und es ist sicherlich doesn‘ t dem im Anfrageheader angegebenen entsprechen. Tue ich hier etwas falsch oder ist das erwartetes Verhalten?
@errhunter, Ich habe meine Frage bearbeitet, um zu erwähnen, dass ich keine Anmeldeinformationen auf der Serverseite festlegen werde. –