

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilisation du SDK d'intégration Amazon Quick Sight pour activer des liens partageables vers des vues de tableau de bord intégrées
<a name="embedded-view-sharing"></a>

Les développeurs Amazon Quick Sight peuvent utiliser le SDK d'intégration Amazon Quick Sight (version 2.8.0 et supérieure) pour permettre aux lecteurs de tableaux de bord intégrés de recevoir et de distribuer des liens partageables vers leur vue d'un tableau de bord intégré. Les développeurs peuvent utiliser l'intégration du tableau de bord ou de la console pour générer un lien partageable vers la page de leur application avec la référence Amazon Quick Sight encapsulée à l'aide du SDK d'intégration Amazon Quick Sight. Les lecteurs d'Amazon Quick Sight peuvent ensuite envoyer ce lien partageable à leurs pairs. Lorsque leur homologue accède au lien partagé, il est redirigé vers la page de l'application qui contient le tableau de bord Amazon Quick Sight intégré. Les développeurs peuvent également générer et enregistrer des liens partageables vers des vues de tableau de bord qui peuvent être utilisés comme favoris pour les lecteurs anonymes d'Amazon Quick Sight lors de l'intégration anonyme.

**Conditions préalables**

Avant de commencer, assurez-vous que vous utilisez le SDK Amazon Quick Sight Embedding version 2.8.0 ou supérieure

**Topics**
+ [Activation de la configuration des `SharedView` fonctionnalités pour les analyses intégrées d'Amazon Quick Sight](embedded-view-sharing-set-up.md)
+ [Création d'une vue partagée avec l'`createSharedView`API Amazon Quick Sight](embedded-view-sharing-sdk-create.md)
+ [Utilisation d'une vue Amazon Quick Sight partagée](embedded-view-sharing-sdk-consume.md)

# Activation de la configuration des `SharedView` fonctionnalités pour les analyses intégrées d'Amazon Quick Sight
<a name="embedded-view-sharing-set-up"></a>

Lorsque vous créez une instance intégrée avec l'API Amazon Quick Sight, définissez la valeur de `SharedView` dans la `FeatureConfigurations` charge utile sur`true`, comme indiqué dans l'exemple ci-dessous. `SharedView`remplace les `StatePersistence` configurations pour les utilisateurs enregistrés qui accèdent aux tableaux de bord intégrés. Si un utilisateur du tableau de bord a désactivé `StatePersistence` et activé `SharedView`, son état sera conservé.

```
const generateNewEmbedUrl = async () => {
    const generateUrlPayload = {
        experienceConfiguration: {
            QuickSightConsole: {
            FeatureConfigurations: {
                "SharedView": { 
                    "Enabled": true
                 },
            },
        },
    }
    const result: GenerateEmbedUrlResult = await generateEmbedUrlForRegisteredUser(generateUrlPayload);
    return result.url;
};
```

# Création d'une vue partagée avec l'`createSharedView`API Amazon Quick Sight
<a name="embedded-view-sharing-sdk-create"></a>

Après avoir mis à jour le SDK d’intégration vers la version 2.8.0 ou supérieure, utilisez l’API `createSharedView` pour créer une nouvelle vue partagée. Enregistrez le `sharedViewId` et le `dashboardId` renvoyé par l’opération. L’exemple ci-dessous crée une nouvelle vue partagée.

```
const response = await embeddingFrame.createSharedView();
const sharedViewId = response.message.sharedViewId;
const dashboardId = response.message.dashboardId;
```

`createSharedView` ne peut être appelé que lorsqu’un utilisateur consulte un tableau de bord. Pour créer une vue partagée spécifique à la console, assurez-vous que les utilisateurs se trouvent sur la page du tableau de bord avant d’activer l’action `createSharedView`. Vous pouvez le faire avec l’événement `PAGE_NAVIGATION`, illustré dans l’exemple ci-dessous.

```
const contentOptions = {
    onMessage: async (messageEvent, metadata) => {
    switch (messageEvent.eventName) {
            case 'CONTENT_LOADED': {
                console.log("Do something when the embedded experience is fully loaded.");
                break;
            }
            case 'ERROR_OCCURRED': {
                console.log("Do something when the embedded experience fails loading.");
                break;
            }
            case 'PAGE_NAVIGATION': {
                setPageType(messageEvent.message.pageType); 
                if (messageEvent.message.pageType === 'DASHBOARD') {
                    setShareEnabled(true);
                    } else {
                    setShareEnabled(false);
                }
                break;
            }
        }
    }
};
```

# Utilisation d'une vue Amazon Quick Sight partagée
<a name="embedded-view-sharing-sdk-consume"></a>

Après avoir créé une nouvelle vue partagée, utilisez le SDK d’intégration pour rendre la vue partagée utilisable par les autres utilisateurs. Les exemples ci-dessous configurent une vue partagée des consommables pour un tableau de bord intégré dans Amazon Quick Sight.

------
#### [ With an appended URL ]

Ajoutez-la `sharedViewId` à l’URL d’intégration, sous ` /views/{viewId}`, et exposez cette URL à vos utilisateurs. Les utilisateurs peuvent utiliser cette URL pour accéder à cette vue partagée.

```
const response = await dashboardFrame.createSharedView();
const newEmbedUrl = await generateNewEmbedUrl();
const formattedUrl = new URL(newEmbedUrl);
formattedUrl.pathname = formattedUrl.pathname.concat('/views/' + response.message.sharedViewId);
const baseUrl = formattedUrl.href;
alert("Click to view this QuickSight shared view", baseUrl);
```

------
#### [ With the contentOptions SDK ]

Passez un `viewId` à un `contentOptions` pour ouvrir l’expérience avec le `viewId` donné.

```
const contentOptions = {
    toolbarOptions: {
        ...
    },
    viewId: sharedViewId,
};

const embeddedDashboard = await embeddingContext.embedDashboard(
    {container: containerRef.current},
    contentOptions
);
```

------
#### [ With the InitialPath property ]

```
const shareView = async() => {
    const returnValue = await consoleFrame.createSharedView();
    const {dashboardId, sharedViewId} = returnValue.message;
    const newEmbedUrl = await generateNewEmbedUrl(`/dashboards/${dashboardId}/views/${sharedViewId}`);
    setShareUrl(newEmbedUrl);
};

const generateNewEmbedUrl = async (initialPath) => {
    const generateUrlPayload = {
        experienceConfiguration: {
            QuickSightConsole: {
            InitialPath: initialPath,
            FeatureConfigurations: {
                "SharedView": { 
                    "Enabled": true
                 },
            },
        },
    }
    const result: GenerateEmbedUrlResult = await generateEmbedUrlForRegisteredUser(generateUrlPayload);
    return result.url;
};
```

------