S3 Buckets werden durch autodigit erstellt.
Parameter zur Erstellung mehrerer Buckets zur Objektverteilung. (Erfordert, dass mehere Suchen ausgefüht werden müssen damit die Objecte gefunden werden)
bucketGroups = Anzahl der Bucketgroups (Darf nachträglich erhöht werden, nie verringert)
bucketsPerGroup = Anzahl der Buckets innerhalb einer Gruppe (darf sich nicht ändern, da der Alorithmus zum Ablegen und auffinden hierauf basiert)
Bucketerstellung erfolgt erst bei Zugrif. Es werden nur benötigte Buckets erstellt. Objekte in einem Ordner (z.B. AL-Componenten) können in meheren Buckets verteilt werden. Dazu zählen auch die KGS-Metainformationen.
Bei der Ablage wird anhand eines Algorithmus entschieden welche Buckets angelegt werden.
Bei der Suche (z.B. AL-Info Command für ein AL-Dokument) wird in allen Buckets gesucht, auch, wenn diese noch nicht erzeugt sind um alle AL-Componentent zu finden.
...
Parameters for automatic bucket creation
S3 buckets are created by tia Core.
Parameters for creating multiple buckets for object distribution. (Requires that several searches need to be executed in order to find objects).
bucketGroups = number of bucketgroups (may be increased later, never decreased)
bucketsPerGroup = number of buckets within a group (must not change, because the algorithm for storing and finding is based on this)
Buckets are only created when they are accessed. Only required buckets are created. Objects in a folder (e.g. AL components) may be distributed in several buckets. This also includes kgs meta information. Thus, an AL document can be distributed in several buckets.
During storage, an algorithm is used to decide which buckets are created.
During the search (e.g. AL-Info Command for an AL document), all buckets are searched, even if they have not yet been created, in order to find all AL components.
With AL-Get, the possible target bucket is found using the algorithm. The number of searches is equal to the setting of bucketGroups. The search is parallelized in this case.
Creation of Buckets:
Required Buckets are created when accessing (e.g. by document creation).
Timeout for bucket creation:
When the bucket is created, the process waits for a maximum of 40 seconds.
10 seconds is waited for the bucket creation. A maximum of 30 seconds is then used to check whether the bucket has been created. This results in a maximum waiting time of 40 seconds.
If the bucket cannot be created, the error message "Bucket '<Bucketname>' cannot be created" is written as error log.
Script execution
After creation of a bucket the "onBucketCreate" script is executed, tia Core waits until the execution was successful to finish or rejected with an error. No timeout is set.
There are two possible errors:
Error before execution (script not found, command wrong ...) leads to log entry: "createBucket failed <Bucketname> with Eception Message: <Error message>.
Error executing the script (script cannot finish successfully): "ScriptExecution failed in create-bucket <bucketname> for repository <repository> failed".
Timeout consideration for accessing applications
If multiple buckets are needed (e.g. a document can be split into multiple buckets) these times add up. Per created bucket there is a maximum waiting time of 40 seconds for the creation plus the time for script execution. It must be ensured that accessing applications have their own timeouts. These must be configured accordingly and observed during initial storage. If the buckets are already created, only the direct access takes place.