EdgeClient.jobs.submit_aws_s3

Submit a job with the Edge client using aws s3 files as inputs

EdgeClient.jobs.submit_aws_s3(identifier, version, sources, access_key_id, secret_access_key, region, explain=False)

Submit a job with the Edge client based on data files stored in AWS S3 buckets, the sources dictionary is a double dict structure as follows:

{
  '<<<<input-item-key>>>>': {
    '<<<<data-input-item-key>>>>: {
      'bucket': '<<aws_bucket>>',
      'key': '<<aws_file_key>>'
    }
  }
}

Where:

<<<<input-item-key>>>>: are user defined keys to identify the input items.
<<<<data-input-item-key>>>>: are model defined keys (usually file names).

Parameters

ParameterTypeDescriptionExample
identifierstr
Model
Model identifier provided by Modzy or a model object previusly loaded.'ed542963de'
versionstrThe model’s version number. It follows the semantic versioning format.'1.0.1'
sourcesdictA mapping of source names to s3 bucket/key references. Each source should be a mapping of model input key to a aws s3 bucket/key reference.'{'my-input': {'input.txt': {'bucket': 'some_bucket', 'key': 'some_key.txt'}}}'
access_key_idstrThe AWS access key'SomeAccessKey
secret_access_keystrThe AWS secret access key'SomeSecretAccessKey
regionstrThe AWS Region'us-east-1
explainboolIf the model supports explainability, flag this job to return an explanation of the predictionsTrue

Returns

A Job object with the status from the server

{
  "job_identifier": "string",
  "status",
  "account_identifier": "string",        
  "explain": "boolean",        
  "created_at": "date-time",
  "updated_at": "date-time",
  "submitted_at": "date-time",
  "submitted_by": "string",        
  "pending": "integer",
  "completed": "integer",    
  "failed": "integer",
  "total": "integer",    
  "model": {
    "identifier": "string",
    "version": "string",
    "name": "string"
  },
  "job_inputs": ["string"],
  "user": {
    "identifier": "string",
    "external_identifier": "string",
    "email": "string",
    "firstName": "string",      
    "lastName": "string",
    "status": "string",
    "title": "string"
    "access_keys": [
    	{
    		"prefix": "string",
        "is_default": "boolean"
  		}
    ]                        
  }
}

Examples

from modzy import EdgeClient
client = EdgeClient("localhost", 55000)
sources = {'my-input': {'input.txt': {'bucket': 'some-bucket', 'key': 'some_key.txt'}}}
job = client.jobs.submit_aws_s3('model-identifier', '1.2.3', sources, 'aws_key', 'aws_secret_key', 'us-east-1')