Les sondages

Une ressource d'interrogation contient des informations sur une demande spécifique de données. Une fois qu'un sondage est créé, il déclenchera la création d'une ou plusieurs tâches afin de compléter la demande.
Les attributs
prénom | type | la description |
---|---|---|
id | ID de sondage | Identifiant de ressource. |
resource | chaîne, toujours poll | Spécificateur de type de ressource. |
organisation | ID d'organisation | L'organisation associée à cette ressource. |
key | ID clé | La clé associée à cette ressource. |
user | identifiant d'utilisateur | L'utilisateur associé à cette ressource. |
source | ID source | La source ciblée par le sondage. Cela peut être une source enfant de la source de la session. |
session | ID de session | La session utilisée par le sondage. |
subscription | ID d'abonnement facultatif | L'ID d'objet d'abonnement associé, le cas échéant. |
tasks_pending | liste des identifiants de tâches | Les tâches associées au sondage en attente de traitement. |
tasks_processing | liste des identifiants de tâches | Les tâches associées au sondage en cours de traitement. |
tasks_succeeded | liste des identifiants de tâches | Les tâches associées au sondage qui ont réussi. |
tasks_failed | liste des identifiants de tâches | Les tâches associées au sondage qui ont échoué. |
tasks_suspended | liste des identifiants de tâches | Les tâches associées au sondage qui sont suspendues. |
results | objet de liste contenant des objets de résultat | Liste des objets de résultat générés par les tâches du sondage. |
errors | objet de liste contenant des objets d'erreur | Liste des objets d'erreur générés par les tâches du sondage. |
state | chaîne | L'un des suivants: en pending , processing , completed . |
date_created | date / heure | Quand la ressource a été créée. |
date_started | date / heure optionnelle | Lorsque le traitement du sondage a commencé. |
date_completed | date / heure optionnelle | Lorsque le traitement du sondage est terminé. |
Tâches
Le rôle le plus important de la ressource de sondage est de refléter la progression des tâches associées et de permettre à l'utilisateur final de commencer à extraire les résultats de ces tâches dès qu'ils sont disponibles. Par conséquent, la ressource d'interrogation expose les attributs liés aux tâches dans lesquels les tâches associées sont classées en fonction de leur état.
Résultats
Tous les résultats publiés par des tâches exécutées dans le sondage sont indiqués dans l'attribut results
du sondage. Cela permet de consommer les résultats avant la fin du sondage.
les erreurs
Toutes les erreurs soulevées par les tâches exécutées dans le sondage apparaîtront dans l'attribut d' errors
du sondage.
États
L'état d'une interrogation indique uniquement si l'interrogation est en attente d'initialisation (en pending
), en cours de processing
( processing
) ou si toutes les tâches ont été exécutées ( completed
).
Une interrogation ne reflète aucun état d'erreur autre que par ses tâches associées.
Charge utile
La charge utile d'interrogation indique les types d'informations, les types de données et les fichiers à récupérer. Le schéma d'attribut d'interrogation de la charge utile est décrit ci-dessous.
prénom | type | la description |
---|---|---|
info_types | liste des objets info_type | Spécifie les types d'informations à récupérer. Prend en charge le caractère générique * . |
data_types | liste d'objets data_type | Spécifie les types de données à récupérer. |
files | liste des identifiants de file . | Spécifie les fichiers à récupérer. |
filters | filters imbriqués | Spécifie les filtres à appliquer aux données extraites. |
Par exemple, le payload d'interrogation permettant de récupérer tous les types d'informations sur une source de compte iCloud serait:
{ "info_types": ["*"] }
Pour récupérer diverses données de messagerie à partir d'une source de sauvegarde iCloud ou Reincubate Relay, mais uniquement à partir d'une date donnée:
{ "data_types": ["ios_messages.messages", "whatsapp.messages", "viber.messages"], "filters": { "since": "2019-09-15T22:04:12Z" } }
Pour récupérer les données de fichier pour les images référencées dans un résultat iCloud Photo Library:
{ "files": ["icpl://xyz123", "icpl://abc321"] }
Les différents attributs peuvent également être utilisés simultanément:
{ "info_types": ["*"], "data_types": ["ios_phone.calls"] }
Créer un POST /polls
Créez un sondage pour les données d'une session spécifique.
Le paramètre source
ne doit être utilisé que lorsque vous ciblez une source enfant de la source principale de la session. Par exemple, si la récupération de données à partir d'un rirelay.source
le paramètre source
doit être l'ID de cette source.
prénom | type | la description |
---|---|---|
key | facultatif, identifiant de clé | Remplacez éventuellement la clé utilisée pour ce sondage. Ceci est utile pour permettre aux utilisateurs de tester de nouvelles fonctionnalités. |
source | optionnel, identifiant de source | Vous pouvez éventuellement cibler une source enfant de la source liée à la session. |
session | ID de session | La session à utiliser pour authentifier la récupération de données. |
subscription | ID d'abonnement | L'abonnement à utiliser pour effectuer le sondage. Si cela est fourni, la source et la session peuvent être omises. |
payload | charge de sondage imbriquée | La charge d'interrogation utilisée pour spécifier l'interrogation |
Utiliser cURL
curl https://ricloud-api.reincubate.com/polls \ -X POST \ -H 'Authorization: Token <your key_token>' \ -H 'Content-Type: application/json' \ -d '{ "session": "<session ID>", "payload": { "info_types": ["*"] } }'
Utiliser ricloud-py
import ricloud poll_payload = { 'info_types': ['*'], } poll = ricloud.Poll.create( session='<session ID or ricloud.Session instance>', payload=poll_payload, )
Exemple de réponse
{ "id": "54554389-5f1a-4ccf-9bb8-024a031cf948", "resource": "poll", "organisation": 1, "key": 1, "user": 1, "source": 1, "session": "f5a7a7ef-ff21-47fe-9aa6-7ebd08123623", "subscription": null, "tasks_pending": [], "tasks_processing": [], "tasks_succeeded": [], "tasks_failed": [], "tasks_suspended": [], "results": { "data": [], "has_more": false, "total_count": 0, "url": "/polls/54554389-5f1a-4ccf-9bb8-024a031cf948/results" }, "errors": { "data": [], "has_more": false, "total_count": 0, "url": "/polls/54554389-5f1a-4ccf-9bb8-024a031cf948/errors" }, "state": "pending", "date_created": "2020-02-20T11:59:14.694337Z", "date_started": null, "date_completed": null }
Récupérer GET /polls/{poll ID}
Utiliser cURL
curl https://ricloud-api.reincubate.com/polls/<poll ID> \ -H 'Authorization: Token <your key_token>'
Utiliser ricloud-py
import ricloud poll = ricloud.Poll.retrieve(<poll ID>)
Liste GET /polls
prénom | type | la description |
---|---|---|
key | ID clé | Filtrer par clé associée. C'est la clé utilisée par l'utilisateur à l'époque. |
user | identifiant d'utilisateur | Filtrer par utilisateur associé. |
source | ID source | Filtrer par la source cible. |
session | ID de session | Filtrer par la session cible. |
subscription | ID d'abonnement | Filtrer par l'abonnement associé. |
state | chaîne | Filtrer par état de session. |
date_created | filtre datetime | Filtrer par date de création de la ressource. |
date_started | filtre datetime | Filtrer par quand le sondage a commencé. |
date_completed | filtre datetime | Filtrer par quand le sondage a été fini. |
Utiliser cURL
curl https://ricloud-api.reincubate.com/polls \ -H 'Authorization: Token <your key_token>'
Utiliser ricloud-py
import ricloud polls = ricloud.Poll.list()
Changelog
2020-05-05
- L'attribut d'
errors
été ajouté à l'objet d'interrogation. Il s'agit d'un objet de liste imbriqué contenant des objets d'erreur associés au sondage.
2020-02-20
- Major : l'attribut
results
de l'objet poll est désormais un objet liste imbriqué, plutôt qu'un simple attribut list. Cela permet de paginer les résultats lorsqu'un sondage publie un grand nombre de résultats.
2019-10-16
- Ajoute l'attribut d'
subscription
à l'objet d'interrogation pour indiquer si l'interrogation a été déclenchée par un abonnement.
2019-06-01
- L'attribut de
payload
objet d'interrogation peut désormais être composé de plusieurs types d'opérations. Cela signifie qu'un sondage peut être créé avec tout ou partie desinfo-types
d'info-types
data-types
et desfiles
dans la charge utile. - Majeur L'attribut
type
sur l'objet d'interrogation est déconseillé au profit des charges utiles d'interrogation composables.