Zum Hauptinhalt springen

Assets exportieren und in die Cloud hochladen

Aufbau

ExportAssetsAndUploadToCloud(sSQL, sEventFilter, sService, sFolder, sLocalArchiveFolder: Text; bOverwrite, bAllowAuth: Boolean): Text

Typ

Funktion

Beschreibung

Diese Funktion exportiert alle Assets, die dem sSQL entsprechen (SQL für eine WHERE-Klausel in der GAGES-Tabelle), und lädt sie in den in sService angegebenen Cloud-Dienst hoch. Wenn der Parameter „sFolder“ gesetzt ist, werden die erzeugten ZIP-Dateien in diesen Ordner in der Cloud hochgeladen (der Ordner muss sich eine Ebene über dem Stammverzeichnis befinden). Wenn sFolder leer ist, werden die Dateien in das Stammverzeichnis hochgeladen. Wenn nur eine Teilmenge der Ereignisse gewünscht ist, kann ein sEventFilter angegeben werden (SQL für eine WHERE-Klausel in EVENTS-Tabellen). sLocalArchiveFolder kann auf ein optionales lokales Verzeichnis gesetzt werden, in das die ZIP-Dateien vor dem Hochladen kopiert werden sollen. Setzen Sie „bOverwrite“, wenn die Datei vor dem Hochladen zunächst aus der Cloud gelöscht werden soll, falls sie dort bereits unter diesem Namen vorhanden ist. Die Funktion gibt eine Übersicht über die abgeschlossenen Aktionen zurück. Suchen Sie nach dem Begriff „ERROR“, um zu überprüfen, ob beim Herunterladen oder Importieren Fehler aufgetreten sind. Wenn bei der Ausführung kein Token für den Cloud-Dienst vorhanden ist UND der Parameter „bAuth“ auf „True“ gesetzt ist, wird der Anmeldebildschirm des Dienstes in einem Browserfenster angezeigt. Dieses Token wird für zukünftige Sitzungen gespeichert.

Parameter: 7

sSQL = SQL-Abfrage für eine WHERE-Klausel in der Tabelle GAGES für alle Assets, die exportiert werden sollen. Diese SQL-Anweisung darf NICHT mit dem Wort „WHERE“ beginnen (dieses wird automatisch von IndySoft hinzugefügt)

sEventFilter = Wenn Sie nur eine Teilmenge der Ereignisse zusammen mit den Assets exportieren möchten, geben Sie hier die SQL-Anweisung für die WHERE-Klausel in der Tabelle „EVENTS“ ein. Diese SQL-Anweisung sollte NICHT mit dem Wort „WHERE“ beginnen (dieses wird automatisch von IndySoft hinzugefügt).

sService = der Name des Online-Cloud-Dienstes. Zulässige Werte sind: 'BOX' (box.com) und 'DROPBOX' (dropbox.com)

sFolder = Optionaler Online-Ordner, in den die Dateien hochgeladen werden sollen. Dieser Ordner sollte sich eine Ebene über dem Stammverzeichnis befinden. Wenn dieser Parameter leer ist, werden alle ZIP-Dateien in das Stammverzeichnis des Cloud-Dienstes hochgeladen.

sLocalArchiveFolder = Setzen Sie diesen optionalen Parameter auf den Namen eines lokalen Verzeichnisses, in das die ZIP-Dateien vor dem Hochladen kopiert werden sollen.

bOverwrite = Wenn TRUE und bereits eine ZIP-Datei mit demselben Namen am Speicherort in der Cloud vorhanden ist, wird diese zunächst gelöscht, bevor die neuere ZIP-Datei hochgeladen wird.

bAllowAuth = Wenn zuvor in der Datenbank gespeicherte Tokens nicht gefunden werden und/oder keinen Zugriff auf den Online-Dienst ermöglichen, legt dieser Parameter fest, ob ein Browserfenster angezeigt werden soll, in dem Anmeldedaten eingegeben werden können. Wenn dieses Skript in einer automatisierten/unbeaufsichtigten Umgebung ausgeführt werden soll, sollte dieser Parameter auf „False“ gesetzt werden.

Rückgabewert

Text

Beispiele

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")

Else

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", "", "", "Export- und Upload-Ergebnisse", "", "CLOUD", sResult, False, False)

if Pos("ERROR:", sResult) = 0 then

RunSQL("UPDATE COMPANY_VARS SET VARIABLE_DATE = '" & FormatDateTimeForSQL(dtExport) & "' WHERE COMPANY = '" &

sCompany & "' AND " & "VARIABLE_NAME = 'LAST EXPORT DATE'")

End If |