R2 Copy output from remote

get your output to R2

In the Float16 project, each project has its own remote storage that automatically stores Python files and output files generated during run or deploy commands. This tutorial will guide you through copying output files from remote storage to your personal Cloudflare R2 storage.

  • An active Float16 project

  • Cloudflare R2 storage credentials

Step 1 : Prepare Your Script

Create a Python script (e.g., test_output.py) that generates an output file

import os

class FileWriter:
    def __init__(self, folder_name="output_files"):
        self.output_dir = folder_name
        os.makedirs(self.output_dir, exist_ok=True)
    
    def get_file_path(self, filename):
        return os.path.join(self.output_dir, filename)
    
    def write_simple_text(self):
        filename = f"output.txt"
        with open(self.get_file_path(filename), 'w', encoding='utf-8') as file:
            file.write('Hi\n')
            file.write('This is Serverless GPU\n')
            file.write('from Float16')
        return filename

def main():
    writer = FileWriter("my_output_files")
    
    print("processing...")
    
    simple_file = writer.write_simple_text()
    print(f"- write {simple_file} successfully")
    
    print(f"\nOutput Path: {os.path.abspath(writer.output_dir)}")

if __name__ == '__main__':
    main()

Step 2 : Run your script

First, start your project and then run the script

float16 project start
float16 run test_output.py

you will got successfully response from CLI.

Step 3 : Check Remote Storage

Check the files in your remote storage

float16 storage ls

Step 4 : Copy Output to R2

Use the following command to copy your output to Cloudflare R2

float16 storage copy-output \
    --path /workspace/output.txt \
    --s3-uri https://40557a5d82224556015a5cxxx.r2.cloudflarestorage.com/BUCKET-A/ \
    --s3-access-key 02e87e05dc0f3c27239d6d13bd6xxxxx \
    --s3-secret-key 2f44f34783f759613b24071afeac55b06286b5e401c9exxxxx \
    --s3_endpoint https://40557a5d82224556015a5cxxx.r2.cloudflarestorage.com

Replace the placeholders with your actual Cloudflare R2 credentials:

  • <YOUR_S3_URI_DESTINATION>: Your R2 bucket destination path

  • <YOUR_S3_ACCESS_KEY>: Your R2 access key

  • <YOUR_S3_SECRET_KEY>: Your R2 secret key

  • <YOUR_S3_ENDPOINT>: Your R2 endpoint

After running the command, check your specified R2 destination path. You should find the output.txt file successfully copied.

Explore More

Learn how to use Float16 CLI for various use cases in our tutorials.

Happy coding with Float16 Serverless GPU!

Last updated