# Compatibilité API S3

## APIs S3 supportées

<table data-full-width="true"><thead><tr><th width="327">Méthodes</th><th>Notes</th></tr></thead><tbody><tr><td>Service GET</td><td><strong>Le service de stockage objet cegedim.cloud</strong> supporte les paramètres <code>marker</code> et <code>max-keys</code> pour permettre la pagination des listes lors de l'énumération des objets dans le <strong>Buckets</strong>.</td></tr><tr><td>DELETE Bucket</td><td></td></tr><tr><td>DELETE Bucket cors</td><td></td></tr><tr><td><p>DELETE Bucket lifecycle</p><p><br></p></td><td><p>Seules les actions d'expiration sont supportées.</p><p>Les configurations liées à l'archivage (comme AWS Glacier) ne sont pas supportées.</p><p>Les configurations de cycle de vue ne sont pas supportées les buckets où la fonctionnalité "<strong><code>system de fichier</code></strong>" est activée.</p></td></tr><tr><td>DELETE Bucket policy</td><td></td></tr><tr><td>GET Bucket (List Objects)</td><td>Pour les buckets où la fonctionnalité "<strong><code>system de fichier</code></strong>" est activée, le "<strong><code>slash" (/)</code></strong> est le seul délimiteur pris en charge lors de l'énumération des objets dans le buckets.</td></tr><tr><td>GET Bucket cors</td><td></td></tr><tr><td>GET Bucket acl</td><td></td></tr><tr><td>GET Bucket lifecycle</td><td><p>Seule les actions d'expiration sont supportées.</p><p>Les configurations liées à l'archivage (comme AWS Glacier) ne sont pas supportées.</p><p>Les configurations de cycle de vue ne sont pas supportées les buckets où la fonctionnalité "<strong><code>system de fichier</code></strong>" est activée.</p></td></tr><tr><td>GET Bucket policy</td><td></td></tr><tr><td>GET Bucket Object versions</td><td></td></tr><tr><td>GET Bucket versioning</td><td></td></tr><tr><td>HEAD Bucket</td><td></td></tr><tr><td>List Multipart Uploads</td><td></td></tr><tr><td>PUT Bucket</td><td>Lorsqu'une requête de type PUT est effectuée sur un buckets existant, reportez-vous à la section "<strong>Comportements spécifiques</strong>" lorsque le buckets existe déjà.</td></tr><tr><td>PUT Bucket cors</td><td></td></tr><tr><td>PUT Bucket acl</td><td></td></tr><tr><td>PUT Bucket lifecycle</td><td><p>Seule les actions d'expiration sont supportées.</p><p>Les configurations liées à l'archivage (comme AWS Glacier) ne sont pas supportées.</p><p>Les configurations de cycle de vue ne sont pas supportées les buckets où la fonctionnalité "<strong><code>system de fichier</code></strong>" est activée.</p></td></tr><tr><td>PUT Bucket policy</td><td><p>Les politiques de gestion des <strong>Buckets</strong> ne peuvent pas être configurées pour des opérations qui ne sont pas prises en charge par le <strong>service de stockage objet cegedim.cloud</strong>.</p><p>Vous pouvez retrouver la liste complète des opérations et des conditions supportées <a href="https://docs.cegedim.cloud/display/OST/Bucket+Policies">ici</a>.</p></td></tr><tr><td>PUT Bucket versioning</td><td></td></tr><tr><td>DELETE Object</td><td></td></tr><tr><td>Delete Multiple Objects</td><td></td></tr><tr><td>GET Object</td><td></td></tr><tr><td>GET Object ACL</td><td></td></tr><tr><td>HEAD Objec</td><td></td></tr><tr><td>PUT Object</td><td>Supports chunked PUT</td></tr><tr><td>PUT Object acl</td><td></td></tr><tr><td>PUT Object - Copy</td><td></td></tr><tr><td>OPTIONS object</td><td></td></tr><tr><td>Initiate Multipart Upload</td><td></td></tr><tr><td>Upload Part</td><td></td></tr><tr><td>Upload Part - Copy</td><td></td></tr><tr><td>Complete Multipart Upload</td><td>Le service de <strong>Stockage Objet cegedim.cloud</strong> renvoie un ETag de 00 pour cette requête. Cette réponse diffère de celle d'Amazon S3.</td></tr><tr><td>Abort Multipart Upload</td><td></td></tr><tr><td>List Parts</td><td></td></tr></tbody></table>

## APIs S3 non supportées

<table data-full-width="true"><thead><tr><th width="325">Fonctionnalité</th><th>Notes</th></tr></thead><tbody><tr><td>DELETE Bucket tagging</td><td></td></tr><tr><td>DELETE Bucket website</td><td></td></tr><tr><td>GET Bucket location</td><td></td></tr><tr><td>GET Bucket logging</td><td></td></tr><tr><td>GET Bucket notification</td><td></td></tr><tr><td>GET Bucket tagging</td><td></td></tr><tr><td>GET Bucket requestPayment</td><td>Le service de <strong>Stockage Objet cegedim.cloud</strong> utilise son propre modèle pour les paiements. Cette fonctionnalité n'est pas supportée.</td></tr><tr><td>GET Bucket website</td><td></td></tr><tr><td>PUT Bucket logging</td><td></td></tr><tr><td>PUT Bucket notification</td><td></td></tr><tr><td>PUT Bucket tagging</td><td></td></tr><tr><td>PUT Bucket requestPayment</td><td>Le service de <strong>Stockage Objet cegedim.cloud</strong> utilise son propre modèle pour les paiements. Cette fonctionnalité n'est pas supportée.</td></tr><tr><td>PUT Bucket website</td><td></td></tr><tr><td>Object APIs</td><td></td></tr><tr><td>GET Object torrent</td><td></td></tr><tr><td>POST Object</td><td></td></tr><tr><td>POST Object restore</td><td>Cette opération est liée à AWS Glacier. Cette fonctionnalité n'est pas supportée.</td></tr></tbody></table>

## Comportements spécifiques

Comportements spécifiques par rapport à l'**API AWS**.

***

La création de **Buckets** utilisant des noms de moins de trois caractères échoue avec le message :

```
400 Bad Request, InvalidBucketName
```

***

Lors de la création d'un **Bucket** ou d'un objet avec un contenu vide, le service de Stockage Objet cegedim.cloud renvoie une erreur `400 invalid content-length` ce qui diffère d'AWS qui renvoie une erreur `400 Bad Request`.

***

La copie d'un objet dans un autre **Bucket** qui indexe la même clé d'indexation des métadonnées utilisateur mais avec un type de données différent n'est pas prise en charge et échoue avec une erreur `500 Server Error`.

***

Lors de l'énumération des objets d'un **Bucket**, si vous utilisez un préfixe et un délimiteur mais fournissez un **marker** invalide, le service de Stockage Objet cegedim.cloud renvoie une erreur `500 Server Error` ou `400 Bad Request` pour un **Bucket** si la fonctionnalité "Système de fichier" est activée.

Cependant, AWS renvoie **`200 OK`** et les objets ne sont pas répertoriés.

***

Pour les **Buckets** où la gestion des versions est activée, le service de Stockage Objet cegedim.cloud ne crée pas de marqueur de suppression (Delete marker) lorsqu'un objet déjà supprimé est supprimé à nouveau.

Cela diffère de l'API AWS S3, qui insère toujours un marqueur de suppression (Delete marker) pour la suppression d'objets supprimés dans les **Buckets** où le versionnage est activé.

Ce changement de comportement n'est applicable que lorsque l'objet supprimé est à nouveau supprimé de la zone propriétaire.

***

Lorsqu'une tentative est faite pour créer un **Bucket** avec un nom déjà existant, le comportement de service de Stockage Objet cegedim.cloud peut différer de celui d'AWS.

l'API AWS retourne toujours une erreur `409 Conflit` lorsqu'un utilisateur disposant des permissions **(ACL)** `FULL_CONTROL` sur le **Bucket**, ou de toute autre autorisation, tente de recréer le **Bucket**.

Lorsqu'un **Object User** avec les permissions (**ACL**) `FULL_CONTROL` ou `WRITE_ACP` sur le **Bucket** tente de recréer le **Bucket**,

Le service de Stockage Objet cegedim.cloud renvoie `200 OK` et l'**ACL est écrasée**, cependant, le propriétaire n'est pas modifié.

Un **Object User** avec des permissions `WRITE/READ` obtiendra une erreur `409 Conflit` s'il tente de recréer un **bucket**.

Lorsqu'une tentative de recréer un **bucket** est faite par le propriétaire du **bucket**, le service renvoie `200 OK` et **écrase l'ACL**. L'API AWS S3 se comporte de la même manière.

Lorsqu'un **Object User** n'a pas de privilèges d'accès au **Bucket**, une tentative pour recréer le **Bucket** entraîne une erreur `409 Conflit`. L'API AWS S3 se comporte de la même manière.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://academy.cegedim.cloud/francais/stockage/stockage-objet/stockage-objet-architecture/compatibilite-api-s3.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
