Aller au contenu

Procédure de mise à jour d’une zone de stockage

Cette procédure décrit comment modifier une StorageLocation S3 existante, notamment pour adapter son comportement à des services compatibles S3 (comme MinIO, Ceph, LocalStack, etc.).

Elle permet de :

  • Récupérer la configuration actuelle

  • Mettre à jour ou compléter les paramètres S3

  • Ajouter des options avancées

  • Activer le mode path-style si nécessaire


1. Récupérer le StorageLocation existant

GET /storage-locations/{id}

Exemple :

GET /storage-locations/123e4567-e89b-12d3-a456-426614174000

Réponse exemple :

{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "identifier": "test-s3",
  "description": "test-s3",
  "locationType": "s3",
  "parameters": {
    "accessKey": "minio",
    "secretKey": "minio123",
    "endpoint": "http://minio:9000",
    "region": "us-east-1",
    "bucket": "test"
  },
  "capacities": ["store", "delete"]
}

2. Préparer la mise à jour

Lors d’une mise à jour :

  • Tous les paramètres existants doivent être renvoyés
  • Les paramètres S3 sont stockés tels quels en base
  • Il est possible d’ajouter n’importe quel paramètre supporté par S3
  • Les paramètres peuvent être scalaires ou imbriqués

3. Activer le mode path-style

use_path_style_endpoint

Requête PUT

PUT /storage-locations/{id}
{
  "identifier": "test-s3",
  "description": "test-s3",
  "locationType": "s3",
  "parameters": {
    "accessKey": "minio",
    "secretKey": "minio123",
    "endpoint": "http://minio:9000",
    "region": "us-east-1",
    "bucket": "test",
    "use_path_style_endpoint": true,
    "request_checksum_calculation": "when_required",
    "response_checksum_validation": "when_required",
    "options": {
      "StorageClass": "STANDARD"
    }
  },
  "capacities": ["store", "delete"]
}

5. Vérification

GET /storage-locations/{id}
{
  "accessKey": "minio",
  "secretKey": "minio123",
  "endpoint": "http://minio:9000",
  "region": "us-east-1",
  "bucket": "test",
  "use_path_style_endpoint": true,
  "request_checksum_calculation": "when_required",
  "response_checksum_validation": "when_required",
  "options": {
    "StorageClass": "STANDARD"
  }
}