create-archive

/execution/aidbox.archive/create-archive is designed to create and start archiving task. It returns reference to the created archive task.

create-archive properties:

PropertiesRequiredDescription
targetResourceTypetrueName of the resource to be archived.
historyfalse

Archives only history records if true.

Archives only last records if false.
False by default.

criteriaPathstrue

Array of paths to define period/retentionPeriod properties. Use dots to separate nested properties.

For example: ["period.end", "recorded"]

period/retentionPeriodtrue

Use period to specify period for which resources should be archived.

For example:

{"start": "2022-01-01",

"end": "2022-02-01"}


You may also use retentionPeriod instead to specify period of time for which the resources should be retained.

Available units: "day", "week", "month", "year".

For example:

{"value": 2, "unit": "day"}

storageBackendtrueUse this property to specify type of your storage.
Available types: "gcp", "aws".
serviceAccounttrue

Reference to GcpServiceAccount or AwsAccount resource in your Aidbox database. Make sure that you already create one.

For example: {"id": "my-account", "resourceType": "GcpServiceAccount"}

buckettrueName of the bucket where the data will be uploaded.
pruneArchivedDatafalseDelete archived rows if true.
False by default.

http
POST /execution/aidbox.archive/create-archive
accept: text/yaml
content-type: text/yaml

targetResourceType: AuditEvent
period:
  end: '2022-10-15'
criteriaPaths:
  - recorded
storageBackend: gcp
bucket: aidbox-archive-test
pruneArchivedData: true
serviceAccount:
  id: my-account
  resourceType: GcpServiceAccount
yaml
Status: 201

id: 9ed444a3-8344-40f5-bba2-d9a5728e7471

To fetch status of the task make /execution/aidbox.archive/create-archive/[task_id] request with id from create-archive response:

If task has been executed successfully you will receive archiveId. You should use this property as parameter for restore-archive, delete-archive and prune-archived-data tasks and to create-archive.

http
GET /execution/aidbox.archive/create-archive/9ed444a3-8344-40f5-bba2-d9a5728e7471
accept: text/yaml
content-type: text/yaml
yaml
Status: 200

definition: aidbox.archive/create-archive
meta:
  lastUpdated: '2023-01-09T16:16:41.327914Z'
  createdAt: '2023-01-09T16:16:40.614378Z'
  versionId: '25739'
params:
  bucket: aidbox-archive-test
  period:
    end: '2022-10-15'
  criteriaPaths:
    - recorded
  serviceAccount:
    id: my-account
    resourceType: GcpServiceAccount
  storageBackend: gcp
  targetResourceType: AuditEvent
retryCount: 1
outcome: succeeded
resourceType: AidboxTask
requester:
  id: admin
  resourceType: User
status: done
result:
  outcome: archived
  archiveId: 07738389-196d-4879-a2da-04e9cd927203
  archiveName: AuditEvent/inf_2022-10-15_39c409de.ndjson.gz
  deletedRowsCount: 0
  archivedResourcesCount: 463
execId: 9e34b00d-4855-4c95-bfd9-bee69034ea24
id: 9ed444a3-8344-40f5-bba2-d9a5728e7471

Get archive summary

http
GET AidboxArchive/08b0004b-e383-4c43-bacd-d05c5e2d1560
yaml
Status: 200

serviceAccount:
  id: >-
    my-account
  resourceType: GcpServiceAccount
meta:
  lastUpdated: '2023-01-11T10:28:16.545888Z'
  createdAt: '2023-01-11T10:28:16.545888Z'
  versionId: '141'
storageBackend: gcp
resourceType: AidboxArchive
id: >-
  08b0004b-e383-4c43-bacd-d05c5e2d1560
archiveFile: AuditEvent/inf_2022-10-15_0dfa7007.ndjson.gz
period:
  end: '2022-10-15'
targetResourceType: AuditEvent
criteriaPaths:
  - recorded
archivedResourcesCount: 24
bucket: aidbox-archive-test