2
votes

Impossible de créer l'URL du tableau de bord intégré AWS Quicksight

  • J'ai une application react js sans serveur hébergée dans S3.
  • J'utilise Cognito pour l'authentification des utilisateurs.
  • Configuration du rôle d'authentification d'identité Cognito avec Quicksight: autorisation CreateUser .
  • J'ai chargé des données dans Quicksight à partir de fichiers de données dans S3 et créé un tableau de bord.
  • 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);
                })
    


    0 commentaires

    3 Réponses :


    2
    votes

    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é


    0 commentaires

    1
    votes

    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


    0 commentaires

    0
    votes

    J'ai eu un problème similaire en obtenant l'erreur QuickSightUserNotFoundException.

    J'ai suivi ce post:

    QuickSightUserNotFoundException Lors de l'obtention d'une URL d'intégration AWS Quicksight avec utilisateur cognito

    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"


    0 commentaires