Skip to content

Latest commit

 

History

History
129 lines (112 loc) · 4.86 KB

create-archive.md

File metadata and controls

129 lines (112 loc) · 4.86 KB

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.

{% tabs %} {% tab title="Request" %}

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

{% endtab %}

{% tab title="Response" %}

Status: 201

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

{% endtab %} {% endtabs %}

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

{% hint style="info" %} 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 get archive summary. {% endhint %}

{% tabs %} {% tab title="Request" %}

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

{% endtab %}

{% tab title="Response" %}

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

{% endtab %} {% endtabs %}

Get archive summary

{% tabs %} {% tab title="Request" %}

GET AidboxArchive/08b0004b-e383-4c43-bacd-d05c5e2d1560

{% endtab %}

{% tab title="Response" %}

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

{% endtab %} {% endtabs %}