Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: ability to give s3 uris as inputs #616

Open
sarahthompson-dev opened this issue Feb 26, 2025 · 3 comments
Open

Feature request: ability to give s3 uris as inputs #616

sarahthompson-dev opened this issue Feb 26, 2025 · 3 comments
Labels
enhancement New feature or request

Comments

@sarahthompson-dev
Copy link

Describe the problem

We have our assets already uploaded to other S3 buckets. We want to use these files as inputs to Deadline Jobs without needing to download them and submit them physically with the job bundle. Our current workaround is to add an import step that uses s3 copy to copy the files into the Deadline Worker.

Proposed Solution

It would be nice if we could just give s3 uris as inputs and then be able to work with them within Deadline Cloud as though they had been physical files that were submitted with the job bundle. Even if we needed to provide some sort of mapping yaml or json, that would be no problem.

Example Use Cases

maybe we could have some sort of parameterDefinition for this, similar to PATHs:

 - name: s3UriToAssetDir
    type: S3URI
    objectType: DIRECTORY
 - name: s3UriToAsset
    type: S3URI
    objectType: FILE
@sarahthompson-dev sarahthompson-dev added enhancement New feature or request needs triage A new report that needs a first look labels Feb 26, 2025
@mwiebe
Copy link
Contributor

mwiebe commented Feb 26, 2025

I've been considering how we might generalize this, and here's an early sketch of some ideas that could work:

  1. Extend OpenJD so that PATH parameters can accept URIs in general in addition to local file system paths.
    1. It would be up to the system scheduling the job template to decide which types of URIs to accept.
    2. This would affect path mapping. Currently path mapping maps between different local file system paths. It would now map an s3://[BUCKET]/prefix to a local file system path for the job to use. E.g. in template substitution, {{Param.InputDir}} would be /local/path and {{RawParam.InputDir}} would be s3://...
  2. Extend job attachments so that it handles IN/OUT/INOUT data flow appropriately for s3:// and https:// cases.
  3. Extend the OpenJD CLI tool to support https:// inputs and s3:// inputs/outputs when boto3 is available.

@sarahthompson-dev
Copy link
Author

On first thought, option 2 sounds nice because I like the idea of being able to accept a variety of paths and Deadline Cloud just knows how to handle it. All 3 options sound great though.

@Mathieson
Copy link

I like the idea of extending PATH to support URIs because it enables better local dev workflow with openjd run. When in a local dev context, you can pass in a local file instead of needing it to download from the s3 bucket each time.

@epmog epmog removed the needs triage A new report that needs a first look label Feb 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants