Exporter les ressources et les télécharger vers le cloud
Structure
ExportAssetsAndUploadToCloud(sSQL, sEventFilter, sService, sFolder, sLocalArchiveFolder : Texte ; bOverwrite, bAllowAuth : Booléen) : Texte
Type
Fonction
Description
Cette fonction exportera tous les éléments correspondant à sSQL (requête SQL pour une clause WHERE dans la table GAGES) et les téléchargera vers le service cloud indiqué dans sService. Si le paramètre sFolder est défini, les fichiers ZIP générés seront téléchargés dans ce dossier sur le cloud (qui doit se trouver un niveau au-dessus du répertoire racine). Si le dossier sFolder est vide, les fichiers seront téléchargés dans le répertoire racine. Si seul un sous-ensemble d'événements est souhaité, il est possible de définir un filtre sEventFilter (requête SQL correspondant à une clause WHERE dans les tables EVENTS). sLocalArchiveFolder permet de définir un répertoire local facultatif dans lequel les fichiers ZIP doivent être copiés avant leur téléchargement. Définissez bOverwrite si vous souhaitez que le fichier soit d'abord supprimé du cloud avant son téléchargement, dans le cas où un fichier portant ce nom existe déjà dans le cloud. La fonction renverra un récapitulatif des actions effectuées. Recherchez le mot « ERROR » pour vérifier si des erreurs se sont produites lors du téléchargement ou de l'importation. Lors de l'exécution, si aucun jeton n'existe pour le service cloud ET si le paramètre bAuth est défini sur True, l'écran de connexion du service s'affichera dans une fenêtre de navigateur. Ce jeton sera mémorisé pour les sessions futures.
Paramètres : 7
sSQL = requête SQL pour une clause WHERE sur la table GAGES concernant tous les actifs à exporter. Cette requête SQL ne doit PAS commencer par le mot « WHERE » (celui-ci sera ajouté automatiquement par IndySoft)
sEventFilter = Si vous souhaitez n'exporter qu'un sous-ensemble d'événements avec les ressources, saisissez ici la requête SQL correspondant à la clause « WHERE » de la table EVENTS. Cette requête SQL ne doit PAS commencer par le mot « WHERE » (celui-ci sera ajouté automatiquement par IndySoft).
sService = le nom du service cloud en ligne. Les valeurs acceptées sont : « BOX » (box.com) et « DROPBOX » (dropbox.com)
sFolder = Dossier en ligne facultatif dans lequel les fichiers doivent être téléchargés. Ce dossier doit se trouver un niveau au-dessus du répertoire racine. Si ce paramètre est vide, tous les fichiers ZIP seront téléchargés dans le répertoire racine du service cloud.
sLocalArchiveFolder = Définissez ce paramètre facultatif sur le nom d'un répertoire local dans lequel les fichiers ZIP doivent être copiés avant le téléchargement.
bOverwrite = Si la valeur est TRUE et qu'un fichier ZIP portant le même nom existe déjà dans l'espace de stockage cloud, celui-ci sera d'abord supprimé avant que le nouveau fichier ZIP ne soit téléchargé.
bAllowAuth = Si les jetons précédemment enregistrés dans la base de données sont introuvables et/ou ne permettent pas d'accéder au service en ligne, ce paramètre détermine s'il faut afficher une fenêtre de navigateur pour permettre la saisie des identifiants. Si ce script est destiné à être exécuté dans le cadre d'une configuration automatisée ou sans intervention, ce paramètre doit être défini sur False.
Valeur de retour
Texte
Exemples
sService = "DROPBOX" sCompany = "TEST COMPANY"
sArchiveDirectory = "C:\Temp\Uploaded" & sCompany
if tdDoSQLRecords(1, "SELECT VARIABLE_DATE FROM COMPANY_VARS WHERE COMPANY = '" & sCompany &
"' AND VARIABLE_NAME = 'LAST EXPORT DATE'") then
dtCompanyLastExport = tdFieldByNameAsDateTime(1, "VARIABLE_DATE")
Sinon
dtCompanyLastExport = 0 RunSQL("INSERT INTO COMPANY_VARS (COMPANY, VARIABLE_NAME) VALUES ('" & sCompany & "', 'LAST EXPORT DATE')") End If
dtExport = Now
; sResult = ExportAssetsAndUploadToCloud("COMPANY = '" & sCompany & "' AND LAST_MODIFIED_DATE >= '" &
FormatDateTimeForSQL(dtCompanyLastExport) & "'", "(EVENTS.EVENT_DATE > '01/01/2013 12:00:00 AM')", sService,
sCompany, sArchiveDirectory, True, True)
DebugLog(sResult)
SendEMail("myemail@notreal.com", "", "", "Résultats de l'exportation et du téléchargement", "", "CLOUD", sResult, False, False)
si Pos("ERROR:", sResult) = 0 alors
RunSQL("UPDATE COMPANY_VARS SET VARIABLE_DATE = '" & FormatDateTimeForSQL(dtExport) & "' WHERE COMPANY = '" &
sCompany & "' AND " & "VARIABLE_NAME = 'LAST EXPORT DATE'")
Fin Si |