Aller au contenu

Stockage Types d'espaces

Stockage Filesystem

Un StorageLocation de type filesystem doit avoir un paramètre path, contenant le chemin où seront stockés les fichiers.

{
  "displayName": "Espace filesystem",
  "locationType": "filesystem",
  "identifier": "espace-filesystem",
  "parameters": {
    "path": "/documents"
  }
}

Le path sera préfixé par le système avec le chemin défini dans la variable d'environnement FILESYSTEM_PATH_PREFIX (par défaut /opt/maarch-digital-flow).

parameters sera validé avec le JSON schéma suivant :

{
  "$schema": "http://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": [
    "path"
  ],
  "properties": {
    "path": {
      "type": "string"
    }
  },
  "additionalProperties": false
}

Stockage Google Drive

Un StorageLocation de type google-drive permet de stocker des fichiers dans un dossier Google Drive.

parameters sera validé avec le JSON schéma suivant :

{
  "$schema": "http://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": [
    "clientId",
    "clientSecret",
    "refreshToken",
    "applicationName",
    "rootPath"
  ],
  "properties": {
    "clientId": {
      "type": "string"
    },
    "clientSecret": {
      "type": "string"
    },
    "refreshToken": {
      "type": "string"
    },
    "applicationName": {
      "type": "string"
    },
    "rootPath": {
      "type": "string"
    }
  },
  "additionalProperties": false
}

S3

Un StorageLocation de type s3 permet de stocker des fichiers dans un bucket S3.

parameters sera validé avec le JSON schéma suivant :

{
  "$schema": "http://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": [
    "accessKey",
    "secretKey",
    "endpoint",
    "region",
    "bucket"
  ],
  "properties": {
    "accessKey": {
      "type": "string"
    },
    "secretKey": {
      "type": "string"
    },
    "endpoint": {
      "type": "string"
    },
    "region": {
      "type": "string"
    },
    "bucket": {
      "type": "string"
    }
  },
  "additionalProperties": false
}

Exemple :

{
  "displayName": "Espace S3",
  "locationType": "s3",
  "identifier": "espace-s3",
  "description": null,
  "capacities": ["store", "delete"],
  "parameters": {
    "accessKey": "access",
    "secretKey": "secret",
    "endpoint": "https://endpoint.s3",
    "region": "fra",
    "bucket": "my-bucket"
  }
}