KB-2440 How to import Appian Cloud data from S3 to a self-managed AoK environment
Purpose
This article provides steps on how to use the Appian migration tool to import data from S3 to a self-managed Appian on Kubernetes (AoK) environment.
Note that data cannot be exported from Appian Cloud on an ad hoc basis. Customers need a clear and valid business need to migrate their data off of Appian Cloud in order to be eligible for this procedure.
Instructions
The Appian migration tool will spin up the AoK site with init containers that will sync data from the S3 bucket. Afterwards, the Pods will remain in a sleeping state so that the site can be manually validated.
Prerequisites
- A valid Appian Custom Resource (CR) YAML file.
- The latest version of the migration tool, downloaded from MyAppian.
- A compatible version of the Appian Operator (see below).
- The AWS credentials required to access the S3 bucket, stored in a Kubernetes secret. These are provided by Appian Support.
Usage
- Ensure that the AoK site is not running. Stop the site if it is running.
- Run the migration tool to import data from S3 to your AoK site. Use the following command to do so with all placeholders replaced with the appropriate values.
./<migration_tool> import s3 --appian <appian.yaml> --namespace <namespace> --aws-credentials-secret <aws-migration-creds>
- Wait for the command to finish. You can monitor the import progress in a separate terminal with the following command.
kubectl -n <namespace> get pods- Review the "STATUS" column for each Pod. Once a Pod's import finishes, it will show "n-1" out of "n" init containers completed.
kubectl -n <namespace> logs <pod> -c s3-import- Shows the import progress for a specific Pod.
- Once the import finishes, validate that the data was imported correctly.
kubectl -n <namespace> exec <pod> -c post-import-sleep -it -- bash- Manually inspect the data inside the Pod to confirm the import succeeded.
- Delete and recreate the AoK site to complete the data import.
Note that the import performed by the migration tool supports partial syncs. If the import is interrupted (e.g. a volume fills up on disk space), it is possible to cancel the import, bring down the AoK site, and re-run the migration tool.
The following flags are available when using the "import s3" command with the migration tool.
--appian, -a- Required
- Path to the Appian CR YAML which defines the AoK site
--namespace, -n- Required
- Namespace for the AoK site
--aws-credentials-secret- Required
- Name of the Kubernetes Secret which contains the AWS S3 credentials
--aws-cli-image- Optional
- Default value: amazon/aws-cli:latest
- Image used for the init container running the S3 sync commands
--delete- Optional
- Default value: off
- Passes --delete to the S3 sync commands, which removes files in the target location prior to copying files from S3
--only-show-sync-errors- Optional
- Default value: off
- Suppresses per-object sync output, which may improve throughput but reduces visibility into progress
--log-level, -v- Optional
- Default value: 0
- Controls kubectl output verbosity
--help, -h- Shows helpful information on using the command
Migration Tool and Appian Operator Compatibility
Please note the following requirements when using the "s3 import" functionality for the migration tool
- The "import s3" feature is only supported on the migration tool version 1.4.0+.
- It is recommended to always use the latest Appian Operator version as well as the latest version of the migration tool, as certain Appian Operator versions may be incompatible with certain versions of the migration tool.
Affected Versions
This article applies to all versions of Appian.
Last Reviewed: November 2026
