Run Async ========= Run data transfer client operations in async Connect to a data transfer service ---------------------------------- Using the access token, connect to the data transfer service client: .. code-block:: python from ansys.hps.data_transfer.client import Client, DataTransferApi hps_url = "https://localhost:8443/hps" dt_url = f"{hps_url}/dt/api/v1" client = AsyncClient(clean=True) client.binary_config.update( verbosity=3, debug=False, insecure=True, token=token, data_transfer_url=dt_url, ) await client.start() api = AsyncDataTransferApi(client) await api.status(wait=True) Once connected, you can query storages available: .. code-block:: python storages = await api.storages() Create a directory ------------------ To create a directory: .. code-block:: python base_dir = "basic-example" mkdir_op = await api.mkdir([StoragePath(path=f"{base_dir}")]) await api.wait_for([mkdir_op.id]) Copying files ------------- .. code-block:: python from ansys.hps.data_transfer.client.models.msg import SrcDst, StoragePath src = [StoragePath(path=local_path, remote="local")] dst = [StoragePath(path=remote_path)] op = await api.copy([SrcDst(src=src, dst=dst)]) op = await api.wait_for([op.id]) log.info(f"Operation {op[0].state}") Listing files ------------- To list files in a set path (base_dir in the following code block): .. code-block:: python op = await api.list([StoragePath(path=base_dir)]) op = await api.wait_for([op.id]) log.info(f"Operation {op[0].state}") log.info(f"Files in {base_dir}: {op[0].result}") Getting metadata ---------------- To get metadata of files: .. code-block:: python op = await api.get_metadata([StoragePath(path=f"{base_dir}/2.txt")]) op = await api.wait_for(op.id) md = op[0].result[f"{base_dir}/2.txt"] log.info(f"Metadata for {base_dir}/2.txt: {md}") Removing files -------------- To get remove files: .. code-block:: python op = await api.rmdir([StoragePath(path=base_dir)]) op = await api.wait_for([op.id]) log.info(f"Operation {op[0].state}") Stop client ----------- To stop client: .. code-block:: python await client.stop()