Slamby présente Slamby Server (API). Créez un service de gestion des données puissant, stockez et analysez vos données.
Consultez notre documentation API.
L'API Slamby peut trouver sur le centre Docker.
Parce que l'API Slamby a des dépendances: Elasticsearch, Redis et Nginx (recommandée), la façon la plus simple d'utiliser l'API Slamby est avec Docker-Compose.
Nous avons réalisé un fichier Docker Compose préparé pour l'installation facile.
Installez Docker sur votre machine: Guide d'installation officiel de Docker
Installez Docker Compose sur votre machine (minimum 1.9.0 requis): Guide d'installation officiel de Docker Compose
Téléchargez notre fichier docker compose
$ curl -L "https://github.com/slamby/slamby-api/releases/download/v1.7.2/docker-compose.yml" > docker-compose.yml
$ docker-compose -p slamby up -d
$ curl localhost
{
"Name": "Slamby.API",
"Version": "1.7.2",
"InstanceId": "817021ac-cc23-4473-b203-5083c3e7e00e",
"Information": "https://developers.slamby.com"
}
Ouvrez la page de configuration dans un navigateur (http: // localhost / configuration) et suivez les commandes
Pendant la configuration, vous devez:
Vous pouvez utiliser le serveur API Slamby sans composer. Mais l'API Slamby a des conditions préalables. Vous devez donner les paramètres au serveur API Slamby via des variables d'environnement (ce sont comme: SlambyApi__...
). Notez que si vous l'exécutez dans un conteneur, vous devez définir les variables d'environnement sur le conteneur non à l'hôte. Si vous utilisez un système d'exploitation dans lequel vous pouvez utiliser :
dans les noms de variables d'environnement que vous devez utiliser :
au lieu de __
.
L'API Slamby utilise Elasticsearch comme système de stockage de données. Vous pouvez utiliser une instance ou un cluster propre. La version recommandée est 2.3. Il doit être vide (pas d'indices) et il est recommandé d'installer le plugin de mappeurs. Définissez l'URL Elasticsearch sur le SlambyApi__ElasticSearch__Uris__0
(par exemple: http: // elasticsearchServer: 9200 /). Ou si vous avez un cluster avec plusieurs points de terminaison, définissez tous les points de terminaison sur le SlambyApi__ElasticSearch__Uris__0
, SlambyApi__ElasticSearch__Uris__1
, SlambyApi__ElasticSearch__Uris__2
etc. Variables d'environnement).
API Slamby utilisant Redis pour la préindexage et pour économiser certaines mesures. Définissez la chaîne de connexion Redis dans la SlambyApi__Redis__Configuration
.
Vous pouvez même désactiver l'utilisation de Redis si vous le souhaitez, définissez les SlambyApi__Redis__Enabled
sur false
. (Notez que dans ce cas, vous ne pouvez pas utiliser certaines fonctionnalités comme PRC Preindexing).
API Slamby utilisant le noyau Dotnet et Kestrel sous le capot. Il est recommandé d'utiliser un nginx de celui-ci. Nous avons une image Nginx préconfigurée dans le dockerhub. Il est recommandé de l'utiliser, mais vous pouvez utiliser votre propre serveur Nginx.
Créer un répertoire sur l'ordinateur hôte pour les fichiers API Slamby persistants
Tirez l'image de Docker Hub
docker pull slamby/slamby.api:1.7.2
Exécutez le conteneur avec des paramètres
docker run -d
--name slamby_api
-p 5000:5000
-v /yourDataDirectory:/Slamby
slamby/slamby.api:1.7.2
L'API SLAMBY utilise le port 5000 par défaut, mais vous pouvez le lier au port que vous souhaitez sur votre hôte Docker.
Vous pouvez remplacer les paramètres par variables d'environnement. Veuillez noter que si vous utilisez un système d'exploitation dans lequel vous pouvez utiliser :
dans les noms de variables d'environnement, vous devez utiliser :
au lieu de __
.
Voici une liste des paramètres les plus importants. Vous pouvez trouver tout le paramètre dans le fichier AppSettings.json.
SlambyApi__ApiSecret
Valeur par défaut: s3cr3t
C'est le secret de votre API. Vous devez l'utiliser pour authentifier vos demandes.
SlambyApi__BaseUrlPrefix
Il est vide par défaut.
Si vous utilisez l'API derrière un proxy inversé, vous devez utiliser cette valeur. Parce que dans ce cas, le nom d'hôte ne sera pas précis. L'API mettra l'hôte HTTP de la demande après.
ElasticSearch__Uris__NUMBER
Notez qu'il s'agit d'une valeur de configuration du tableau. Vous devez donc mettre 0, 1, 2 ... au lieu du nombre.
Il y a un par défaut un ElasticSearch__Uris__0
, avec une valeur par défaut: 'http://elasticsearch:9200/'
SlambyApi__Serilog__Output
Valeur par défaut: /Slamby/Logs
Le répertoire de sortie des fichiers journaux.
SlambyApi__Serilog__MinimumLevel
Valeur par défaut: Information
Le niveau de journal minimum.
SlambyApi__Redis__Configuration
Valeur par défaut: redis,abortConnect=false,ssl=false,syncTimeout=30000
La chaîne de connexion pour le serveur Redis.
SlambyApi__Parallel__ConcurrentTasksLimit
Valeur par défaut: 0
La limite maximale des filetages utilisés dans chaque opération. Si c'est 0, l'API utilisant le numéro de noyau * 2 pour les meilleures performances. Astuce: vous pouvez également le limiter dans chaque en-tête de demande. Vérifiez-le dans la documentation de l'API.
SlambyApi__RequestsLimiting__MaxConcurrentRequests
Valeur par défaut: 50
Avec ce paramètre, vous pouvez configurer un numéro de demande simultané maximum. S'il y a plus de demandes simultanées que ce numéro, l'API répondra avec le code d'état HTTP 503 (service indisponible).
Nous utilisons les problèmes GitHub pour suivre les bogues publics. Veuillez vous assurer que votre description est claire et a des instructions suffisantes pour pouvoir reproduire le problème.
Veuillez consulter notre guide de contribution ici
Ce projet est concédé sous licence GNU Affero General Public License version 3.0.
Pour une utilisation commerciale, veuillez nous contacter à [email protected] et acheter une licence commerciale.
Si vous avez des questions, veuillez visiter notre groupe communautaire ou nous rédiger un e-mail à [email protected]