> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Démarrage rapide du réseau de distribution de contenu

> Stockez et servez les ressources de jeu par clé à partir du CDN PlayFab hérité, y compris les chemins de dossiers, le comportement de mise en cache en périphérie et les délais liés aux téléversements, aux remplacements et aux suppressions.

<Info>
  Le CDN PlayFab est une fonctionnalité héritée prise en charge pour les comptes ayant au moins un titre qui a déjà configuré le CDN. Pour les nouveaux développeurs PlayFab intéressés par une solution de gestion de contenu, nous recommandons d'utiliser Azure CDN. Pour commencer, consultez la [documentation d'Azure CDN](https://learn.microsoft.com/en-us/azure/cdn/).
</Info>

Le réseau de distribution de contenu (CDN) de PlayFab stocke des ressources individuelles sous forme de fichiers identifiés de façon unique par le nom de fichier (aussi appelé *clé*). Cela signifie que vous ajoutez, mettez à jour, supprimez et récupérez les ressources par clé.

Le CDN PlayFab permet de séparer les ressources par dossiers. Le chemin du dossier vers la ressource fait partie de la *clé de ressource*.

L'exemple suivant est une clé de ressource valide stockée dans le dossier nommé `Android`.

`Android/Image.png`.

Lorsque l'utilisateur récupère des ressources, ses requêtes sont automatiquement acheminées vers l'emplacement en périphérie le plus proche, afin que le contenu soit livré avec les meilleures performances possibles.

Cela peut toutefois introduire des délais dans les actions de gestion de fichiers, comme celles présentées dans les exemples suivants :

* **Téléversement de fichier** : votre fichier est disponible immédiatement.

* **Remplacement de fichier** : l'ancien fichier reste visible pour les utilisateurs pendant un maximum de 24 heures, jusqu'à ce qu'il soit remplacé par le nouveau fichier.

* **Suppression de fichier** : le fichier continue d'exister pendant un maximum de 24 heures, le temps que la commande de suppression le retire de tous les emplacements en périphérie.

## Téléversement de ressources

Avant que vos utilisateurs puissent récupérer une ressource, celle-ci doit être téléversée vers le CDN. Vous pouvez le faire dans **Game Manager** :

* Sélectionnez **Content** dans le menu de gauche.
* Choisissez l'onglet **File Management**.
* Sélectionnez ensuite **Upload Files**.

<img src="https://mintcdn.com/microsoft-4404708b/MjJ0-cTsb1bpaMcX/images/playfab/data-analytics/legacy/content-delivery-network/tutorials/game-manager-content-file-management-upload-files.png?fit=max&auto=format&n=MjJ0-cTsb1bpaMcX&q=85&s=8434341dcd92836b082c55dbaa661e4b" alt="Game Manager - Content - File Management - Upload Files" width="2560" height="1184" data-path="images/playfab/data-analytics/legacy/content-delivery-network/tutorials/game-manager-content-file-management-upload-files.png" />

Vous pouvez :

* Sélectionner plusieurs **fichiers (1)**.
* Chaque fichier sélectionné apparaît dans la liste **(2)**.
* Soumettre vos fichiers en sélectionnant le bouton **Upload Files** **(3)**.

<img src="https://mintcdn.com/microsoft-4404708b/MjJ0-cTsb1bpaMcX/images/playfab/data-analytics/legacy/content-delivery-network/tutorials/game-manager-choose-and-upload-files.png?fit=max&auto=format&n=MjJ0-cTsb1bpaMcX&q=85&s=7c6bbd20066b2a6c40bdc062c8ec9603" alt="Game Manager - Choisir et téléverser des fichiers" width="924" height="580" data-path="images/playfab/data-analytics/legacy/content-delivery-network/tutorials/game-manager-choose-and-upload-files.png" />

* Les fichiers téléversés apparaissent dans la liste **(1)**.

* N'oubliez pas que vous pouvez aussi gérer des *dossiers*.
  * Pour créer un dossier, sélectionnez le bouton **New Folder** **(2)**.

* Remplissez le champ **Folder name (1)**.

* Sélectionnez le bouton **Create Folder** **(2)**.

<img src="https://mintcdn.com/microsoft-4404708b/MjJ0-cTsb1bpaMcX/images/playfab/data-analytics/legacy/content-delivery-network/tutorials/game-manager-create-new-folder.png?fit=max&auto=format&n=MjJ0-cTsb1bpaMcX&q=85&s=b25109c958f0156cb00fd5a84d75ddbd" alt="Game Manager - Créer un nouveau dossier" width="913" height="240" data-path="images/playfab/data-analytics/legacy/content-delivery-network/tutorials/game-manager-create-new-folder.png" />

Cela crée un nouveau dossier dans l'arborescence. Vous pouvez ensuite sélectionner ce dossier et y téléverser les fichiers normalement.

Vous pouvez aussi téléverser des ressources par code à l'aide du SDK d'administration. Il s'agit d'un processus en deux étapes :

1. D'abord, appelez [GetContentUploadUrl](xref:titleid.playfabapi.com.admin.content.getcontentuploadurl) et obtenez l'URL présignée qui autorise votre téléversement.
2. Ensuite, utilisez l'URL pour effectuer une requête `HTTP PUT`, en fournissant vos données et (facultativement) le type de contenu.

Utilisez l'extrait ci-dessous, qui montre comment obtenir une URL présignée.

```csharp theme={null}
public void UploadFileToCDN(string key, byte[] content, string contentType = "binary/octet-stream") {
    GetUploadUrl(key, contentType, presignedUrl => {
        PutFile(presignedUrl, content, contentType);
    });
}

void GetUploadUrl(string key, string contentType, Action<string> onComplete) {
    PlayFabAdminAPI.GetContentUploadUrl(new GetContentUploadUrlRequest() {
        ContentType = contentType,
        Key = key
    }, result => onComplete(result.URL),
    error => Debug.LogError(error.GenerateErrorReport()));
}

void PutFile(string presignedUrl, byte[] content, string contentType = "binary/octet-stream") {
    // Implement your own PUT HTTP request here.
    // - Must use PUT method
    // - Must set content type Header
}
```

Vous pouvez ensuite vérifier le résultat dans le Game Manager de PlayFab. Assurez-vous que le fichier figure dans la liste.

## Récupération de ressources

Le téléchargement de la ressource par code est identique à son téléversement. Comme mentionné précédemment, il s'agit d'un processus en deux étapes.

1. D'abord, appelez [GetContentDownloadUrl](xref:titleid.playfabapi.com.client.content.getcontentdownloadurl) et obtenez une URL présignée qui autorise votre téléchargement.
2. Utilisez ensuite l'URL présignée pour effectuer une requête `HTTP GET` et récupérer les données.

Utilisez l'extrait ci-dessous, qui présente l'essentiel du processus.

```csharp theme={null}
public void DownloadFileFromCDN(string key) {
    GetDownloadUrl(key, presignedUrl =>
    {
        GetFile(presignedUrl);
    });
}

void GetDownloadUrl(string key, Action<string> onComplete) {
    PlayFabClientAPI.GetContentDownloadUrl(new GetContentDownloadUrlRequest() {
        Key = key,
        ThruCDN = true
    }, result => onComplete(result.URL),
    error => Debug.LogError(error.GenerateErrorReport()));
}

void GetFile(string preauthorizedUrl) {
    // Implement your own GET HTTP request here.
}
```

Comme mentionné précédemment, le CDN peut entraîner une latence en ce qui concerne les mises à jour de fichiers. Pendant le développement, il est parfois utile de forcer la récupération des fichiers les plus récents.

L'appel [GetContentDownloadUrl](xref:titleid.playfabapi.com.client.content.getcontentdownloadurl) vous permet de définir le paramètre `ThruCDN` à `False`. L'URL retournée pointe alors vers des fichiers récents non mis en cache.

<Note>
  Votre client de jeu publié ne doit *jamais* utiliser cette option!
</Note>


## Related topics

- [Réseau de distribution de contenu](/fr-CA/services/playfab/data-analytics/legacy/content-delivery-network/index.md)
- [Démarrage rapide](/fr-CA/services/playfab/economy-monetization/economy-v2/quickstart.md)
- [Démarrage rapide de Party](/fr-CA/services/playfab/multiplayer/networking/quickstart.md)
- [Démarrage rapide du contenu généré par les utilisateurs (UGC)](/fr-CA/services/playfab/economy-monetization/economy-v2/ugc/quickstart.md)
- [Démarrage rapide des rapports](/fr-CA/services/playfab/data-analytics/learn-data/reports/quickstart.md)
