J'utilise le code ci-dessous pour créer une URL de tableau de bord intégrée à partir de ma fonction lambda node js (v8.10). ** ** 2019-01-15T17:48:42.496Z cafaa35a-18ed-11e9-9e84-ad156518dcbe { UnknownError: Forbidden
at Object.extractError (/var/task/node_modules/aws-sdk/lib/protocol/json.js:51:27)
at Request.extractError (/var/task/node_modules/aws-sdk/lib/protocol/rest_json.js:52:8)
at Request.callListeners (/var/task/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
at Request.emit (/var/task/node_modules/aws-sdk/lib/sequential_executor.js:78:10)
at Request.emit (/var/task/node_modules/aws-sdk/lib/request.js:683:14)
at Request.transition (/var/task/node_modules/aws-sdk/lib/request.js:22:10)
at AcceptorStateMachine.runTo (/var/task/node_modules/aws-sdk/lib/state_machine.js:14:12)
at /var/task/node_modules/aws-sdk/lib/state_machine.js:26:10
at Request.<anonymous> (/var/task/node_modules/aws-sdk/lib/request.js:38:9)
at Request.<anonymous> (/var/task/node_modules/aws-sdk/lib/request.js:685:12)
message: 'Forbidden',
code: 'UnknownError',
statusCode: 403,
time: 2019-01-15T17:48:42.440Z,
requestId: 'XXXX',
retryable: false,
retryDelay: 1.6256019461018845 }
2019-01-15T17:48:42.938Z cafaa35a-18ed-11e9-9e84-ad156518dcbe Error:
2019-01-15T17:48:42.938Z cafaa35a-18ed-11e9-9e84-ad156518dcbe { QuickSightUserNotFoundException: Could not find user information in QuickSight
at Object.extractError (/var/task/node_modules/aws-sdk/lib/protocol/json.js:51:27)
at Request.extractError (/var/task/node_modules/aws-sdk/lib/protocol/rest_json.js:52:8)
at Request.callListeners (/var/task/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
at Request.emit (/var/task/node_modules/aws-sdk/lib/sequential_executor.js:78:10)
at Request.emit (/var/task/node_modules/aws-sdk/lib/request.js:683:14)
at Request.transition (/var/task/node_modules/aws-sdk/lib/request.js:22:10)
at AcceptorStateMachine.runTo (/var/task/node_modules/aws-sdk/lib/state_machine.js:14:12)
at /var/task/node_modules/aws-sdk/lib/state_machine.js:26:10
at Request.<anonymous> (/var/task/node_modules/aws-sdk/lib/request.js:38:9)
at Request.<anonymous> (/var/task/node_modules/aws-sdk/lib/request.js:685:12)
message: 'Could not find user information in QuickSight',
code: 'QuickSightUserNotFoundException',
time: 2019-01-15T17:48:42.938Z,
requestId: 'XXXXX,
statusCode: 412,
retryable: false,
retryDelay: 84.05706341238961 }
J'obtiens l'erreur ci-dessous.
const AWS = require('aws-sdk');
var quicksight = new AWS.QuickSight({
region: 'us-east-1'
});
return quicksight.getDashboardEmbedUrl({
'AwsAccountId': 'XXXXX',
'DashboardId': 'YYYYYYY',
'IdentityType': 'IAM',
'ResetDisabled': true,
'SessionLifetimeInMinutes': 100,
'UndoRedoDisabled': false
}).promise().then((res) => {
console.log('Response: ');
console.log(res);
}).catch((err) => {
console.log('Error: ');
console.log(err);
})
3 Réponses :
Reportez-vous au fil de discussion suivant qui donne la procédure détaillée pour générer une URL intégrée par programme.
Comment obtenir / générer aws quicksight URL du tableau de bord sécurisé
Découvrez cet exemple de dépôt. C'est des ingénieurs d'Amazon. Utilise Cloudformation.
https://github.com/aws-samples/amazon-quicksight -échantillon-d'intégration
J'ai eu un problème similaire en obtenant l'erreur QuickSightUserNotFoundException.
J'ai suivi ce post:
Le point principal étant "Lors de l'enregistrement de l'utilisateur, l'IdentityType doit être IAM mais pour getDashboardEmbedUrl, il doit être de type QUICKSIGHT et vous devez passer UserArn que vous pouvez trouver dans la réponse de registerUser"