implementazione del client ricloud-py
Il client ricloud-py è un'implementazione semplice dell'interfaccia API di ricloud v3 . Include anche alcune implementazioni di esempio di casi d'uso comuni e alcune implementazioni di base del recupero dei dati da bucket di archiviazione di terze parti (AWS S3 e Google Cloud Storage).
Installazione
Il modo più semplice per ottenere il client è installarlo da PyPi .
pip install ricloud==3.0.0
Puoi anche ottenere il codice dal repository GitHub .
Configurazione
È necessario un key_token
per l'autenticazione con l'API. Se si è un cliente esistente, contattare l'assistenza aziendale per ottenere una chiave di prova per l'API ricloud v3 .
ricloud-py può essere configurato in due modi:
- Tramite l'attributo
token
su un moduloricloud
importato.
import ricloud ricloud.token = '<your key_token>'
- Crea un file
.ricloud.ini
nella tua home directory con il seguente contenuto.
[api] token = <you key_token>
Vedi il riferimento al file .ricloud.ini
per maggiori dettagli.
uso
Il client espone una classe per ogni risorsa API e una serie di metodi per interagire con essi.
>>> import ricloud >>> org = ricloud.Organisation.retrieve() >>> print(org.name) My Organisation >>> org.update(name='Changed Organisation') >>> print(org.name) Changed Organisation
Implementazioni di esempio
Il client include implementazioni di esempio per un numero di interazioni comuni.
Questi sono accessibili tramite il comando samples
iCloud
L'implementazione di esempio iCloud offre un modo rapido per recuperare i dati da un account iCloud tramite la riga di comando.
Reincubare il relè
L'esempio di servizio Reincubate Relay implementa una serie di comandi necessari per creare una sessione, impostare un abbonamento e attivare manualmente i sondaggi.
Endpoint Webhook
Il client include una semplice implementazione dell'endpoint webhook che ascolta le notifiche degli eventi API in arrivo e stampa le informazioni sulla console.
Si consiglia di utilizzare un'utilità come ngrok per esporre in modo sicuro l'endpoint locale a Internet. Per impostazione predefinita, l'endpoint webhook è associato alla porta 8080 sul computer.
ngrok http -bind-tls=true 8080
Puoi vedere l'indirizzo del tuo endpoint ngrok esposto pubblicamente nella riga Forwarding
, come https://abcd1234.ngrok.io
.
Quindi è possibile avviare il listener eseguendo il comando ricloud event listen
. Se il client è configurato correttamente, creerà automaticamente una configurazione webhook utilizzando l'URL specificato nel comando e lo imposterà come la configurazione webhook predefinita della chiave attualmente in uso.
ricloud event listen --webhook-url https://abcd1234.ngrok.io
.ricloud.ini
file .ricloud.ini
Sezione: api
token
Il token utilizzato per l'autenticazione contro gli endpoint dell'API.
url
L'URL di base per l'API. Predefinito: https://ricloud-api.reincubate.com
.
max_retries
Quante volte riprovare una richiesta in caso di errore a causa di un errore del server o della connessione. Predefinito: 3
await_for
Aggiunge l'intestazione Ricloud-Await
con il valore specificato per abilitare il meccanismo di risposta in attesa . Predefinito: 0
Sezione: webhooks
secret
Il segreto di configurazione del webhook da utilizzare per la verifica dei payload di notifica degli eventi in arrivo. Viene impostato automaticamente se si utilizza l'opzione --webhook-url
al comando di ricloud event listen
.
delta
Lo scostamento consentito tra quando l'evento è stato inviato e quando è stato ricevuto, in secondi. Predefinito: 600
Sezione: logging
log_level
Sezione: samples
output_directory
La directory di output predefinita per tutti i risultati scaricati come parte di uno script di esempio. Se il percorso della directory è relativo verrà creato rispetto alla directory di lavoro corrente.
user_identifier
Il client creerà una risorsa utente durante l'esecuzione di script di esempio. Il valore predefinito per l'identificatore di questo utente è ricloud-py
, ma può essere facilmente personalizzato tramite questa opzione.
Questo può essere utile per distinguere l'utilizzo tra diversi sviluppatori all'interno della stessa organizzazione, per esempio.
[api] token = <your key_token> url = https://ricloud-api.reincubate.com max_retries = 1 [logging] log_directory = logs log_level = WARNING [samples] output_directory = output user_identifier = ricloud-py