add support for azure blob for inference results#712
add support for azure blob for inference results#712shrek wants to merge 26 commits intoNVIDIA:mainfrom
Conversation
Greptile SummaryThis PR adds comprehensive Azure Blob Storage support for inference results alongside existing S3/CloudFront functionality, allowing deployments to choose their cloud storage provider. Key Changes:
Architecture:
|
| Filename | Overview |
|---|---|
| serve/inferenceserver/api_server/object_storage.py | added comprehensive Azure Blob Storage support with SAS URL generation, alongside existing S3/CloudFront functionality |
| serve/inferenceserver/api_server/config.py | fixed config initialization bug by changing _config to None and added WorkflowExposureConfig and Azure configuration parameters |
| serve/inferenceserver/api_server/cpu_worker.py | integrated Azure storage configuration and added conditional logic to handle both S3 and Azure storage types in upload process |
| serve/inferenceserver/api_server/main.py | added workflow exposure checks across all workflow endpoints to enforce WorkflowExposureConfig filtering |
| serve/inferenceserver/api_server/workflow/workflow.py | implemented is_workflow_exposed() and updated list_workflows() to support workflow exposure filtering via configuration |
| serve/inferenceserver/scripts/startup.sh | fixed directory path from service/inferenceserver to serve/inferenceserver and added AZUREML_MODEL_DIR support |
Last reviewed commit: d30153c
Additional Comments (1)
|
…-azure-blob-support
…-azure-blob-support
Additional Comments (1)
The
While environment variables can override these, users following the documentation will expect to find them in the YAML. Add them with |
Additional Comments (3)
The modulo check
When Consider defaulting to
When Fix by initializing the attribute before the loop: |
|
@greptile-ai |
…-azure-blob-support
Earth2Studio Pull Request
Description
This PR adds the following functionality:
Adds support to save inference outputs to azure blob. This required adding additional configs for azure which is then passed onto the multi-storage-client which already supports azure.
Adds 2 new workflows based on fcn3. These workflows are tested to work on azure. Both zarr, and netcdf outputs from the workflows are tested. Also tested on azure is saving the inference output to a blob container.
Config is updated to filter the workflows that are exposed by API. This allows a deployment to support a subset of configured workflows.
The following bugs are also fixed:
Tests
The inference service container built from this branch was tested to work on azure as an online-endpoint, and to save inference results to azure container.
Checklist
Dependencies