AWS Tools for Windows PowerShell
Command Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Synopsis

Calls the Amazon SageMaker Service CreateTransformJob API operation.

Syntax

New-SMTransformJob
-TransformJobName <String>
-TransformOutput_Accept <String>
-TransformOutput_AssembleWith <AssemblyType>
-BatchStrategy <BatchStrategy>
-TransformInput_CompressionType <CompressionType>
-TransformInput_ContentType <String>
-DataCaptureConfig_DestinationS3Uri <String>
-Environment <Hashtable>
-ExperimentConfig_ExperimentName <String>
-DataCaptureConfig_GenerateInferenceId <Boolean>
-DataProcessing_InputFilter <String>
-TransformResources_InstanceCount <Int32>
-TransformResources_InstanceType <TransformInstanceType>
-ModelClientConfig_InvocationsMaxRetry <Int32>
-ModelClientConfig_InvocationsTimeoutInSecond <Int32>
-DataProcessing_JoinSource <JoinSource>
-DataCaptureConfig_KmsKeyId <String>
-TransformOutput_KmsKeyId <String>
-MaxConcurrentTransform <Int32>
-MaxPayloadInMB <Int32>
-ModelName <String>
-DataProcessing_OutputFilter <String>
-ExperimentConfig_RunName <String>
-S3DataSource_S3DataType <S3DataType>
-TransformOutput_S3OutputPath <String>
-S3DataSource_S3Uri <String>
-TransformInput_SplitType <SplitType>
-Tag <Tag[]>
-ExperimentConfig_TrialComponentDisplayName <String>
-ExperimentConfig_TrialName <String>
-TransformResources_VolumeKmsKeyId <String>
-Select <String>
-PassThru <SwitchParameter>
-Force <SwitchParameter>
-ClientConfig <AmazonSageMakerConfig>

Description

Starts a transform job. A transform job uses a trained model to get inferences on a dataset and saves these results to an Amazon S3 location that you specify. To perform batch transformations, you create a transform job and use the data that you have readily available. In the request body, you provide the following:
  • TransformJobName - Identifies the transform job. The name must be unique within an Amazon Web Services Region in an Amazon Web Services account.
  • ModelName - Identifies the model to use. ModelName must be the name of an existing Amazon SageMaker model in the same Amazon Web Services Region and Amazon Web Services account. For information on creating a model, see CreateModel.
  • TransformInput - Describes the dataset to be transformed and the Amazon S3 location where it is stored.
  • TransformOutput - Identifies the Amazon S3 location where you want Amazon SageMaker to save the results from the transform job.
  • TransformResources - Identifies the ML compute instances for the transform job.
For more information about how batch transformation works, see Batch Transform.

Parameters

-BatchStrategy <BatchStrategy>
Specifies the number of records to include in a mini-batch for an HTTP inference request. A record is a single unit of input data that inference can be made on. For example, a single line in a CSV file is a record. To enable the batch strategy, you must set the SplitType property to Line, RecordIO, or TFRecord.To use only one record when making an HTTP invocation request to a container, set BatchStrategy to SingleRecord and SplitType to Line.To fit as many records in a mini-batch as can fit within the MaxPayloadInMB limit, set BatchStrategy to MultiRecord and SplitType to Line.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-ClientConfig <AmazonSageMakerConfig>
Amazon.PowerShell.Cmdlets.SM.AmazonSageMakerClientCmdlet.ClientConfig
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-DataCaptureConfig_DestinationS3Uri <String>
The Amazon S3 location being used to capture the data.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-DataCaptureConfig_GenerateInferenceId <Boolean>
Flag that indicates whether to append inference id to the output.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-DataCaptureConfig_KmsKeyId <String>
The Amazon Resource Name (ARN) of a Amazon Web Services Key Management Service key that SageMaker uses to encrypt data on the storage volume attached to the ML compute instance that hosts the batch transform job.The KmsKeyId can be any of the following formats:
  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
  • Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
  • Alias name: alias/ExampleAlias
  • Alias name ARN: arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-DataProcessing_InputFilter <String>
A JSONPath expression used to select a portion of the input data to pass to the algorithm. Use the InputFilter parameter to exclude fields, such as an ID column, from the input. If you want SageMaker to pass the entire input dataset to the algorithm, accept the default value $.Examples: "$", "$[1:]", "$.features"
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-DataProcessing_JoinSource <JoinSource>
Specifies the source of the data to join with the transformed data. The valid values are None and Input. The default value is None, which specifies not to join the input with the transformed data. If you want the batch transform job to join the original input data with the transformed data, set JoinSource to Input. You can specify OutputFilter as an additional filter to select a portion of the joined dataset and store it in the output file.For JSON or JSONLines objects, such as a JSON array, SageMaker adds the transformed data to the input JSON object in an attribute called SageMakerOutput. The joined result for JSON must be a key-value pair object. If the input is not a key-value pair object, SageMaker creates a new JSON file. In the new JSON file, and the input data is stored under the SageMakerInput key and the results are stored in SageMakerOutput.For CSV data, SageMaker takes each row as a JSON array and joins the transformed data with the input by appending each transformed row to the end of the input. The joined data has the original input data followed by the transformed data and the output is a CSV file.For information on how joining in applied, see Workflow for Associating Inferences with Input Records.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-DataProcessing_OutputFilter <String>
A JSONPath expression used to select a portion of the joined dataset to save in the output file for a batch transform job. If you want SageMaker to store the entire input dataset in the output file, leave the default value, $. If you specify indexes that aren't within the dimension size of the joined dataset, you get an error.Examples: "$", "$[0,5:]", "$['id','SageMakerOutput']"
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-Environment <Hashtable>
The environment variables to set in the Docker container. We support up to 16 key and values entries in the map.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-ExperimentConfig_ExperimentName <String>
The name of an existing experiment to associate with the trial component.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-ExperimentConfig_RunName <String>
The name of the experiment run to associate with the trial component.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-ExperimentConfig_TrialComponentDisplayName <String>
The display name for the trial component. If this key isn't specified, the display name is the trial component name.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-ExperimentConfig_TrialName <String>
The name of an existing trial to associate the trial component with. If not specified, a new trial is created.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
This parameter overrides confirmation prompts to force the cmdlet to continue its operation. This parameter should always be used with caution.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-MaxConcurrentTransform <Int32>
The maximum number of parallel requests that can be sent to each instance in a transform job. If MaxConcurrentTransforms is set to 0 or left unset, Amazon SageMaker checks the optional execution-parameters to determine the settings for your chosen algorithm. If the execution-parameters endpoint is not enabled, the default value is 1. For more information on execution-parameters, see How Containers Serve Requests. For built-in algorithms, you don't need to set a value for MaxConcurrentTransforms.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesMaxConcurrentTransforms
-MaxPayloadInMB <Int32>
The maximum allowed size of the payload, in MB. A payload is the data portion of a record (without metadata). The value in MaxPayloadInMB must be greater than, or equal to, the size of a single record. To estimate the size of a record in MB, divide the size of your dataset by the number of records. To ensure that the records fit within the maximum payload size, we recommend using a slightly larger value. The default value is 6 MB. The value of MaxPayloadInMB cannot be greater than 100 MB. If you specify the MaxConcurrentTransforms parameter, the value of (MaxConcurrentTransforms * MaxPayloadInMB) also cannot exceed 100 MB.For cases where the payload might be arbitrarily large and is transmitted using HTTP chunked encoding, set the value to 0. This feature works only in supported algorithms. Currently, Amazon SageMaker built-in algorithms do not support HTTP chunked encoding.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-ModelClientConfig_InvocationsMaxRetry <Int32>
The maximum number of retries when invocation requests are failing. The default value is 3.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesModelClientConfig_InvocationsMaxRetries
-ModelClientConfig_InvocationsTimeoutInSecond <Int32>
The timeout value in seconds for an invocation request. The default value is 600.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesModelClientConfig_InvocationsTimeoutInSeconds
-ModelName <String>
The name of the model that you want to use for the transform job. ModelName must be the name of an existing Amazon SageMaker model within an Amazon Web Services Region in an Amazon Web Services account.
Required?True
Position?Named
Accept pipeline input?True (ByPropertyName)
-PassThru <SwitchParameter>
Changes the cmdlet behavior to return the value passed to the TransformJobName parameter. The -PassThru parameter is deprecated, use -Select '^TransformJobName' instead. This parameter will be removed in a future version.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-S3DataSource_S3DataType <S3DataType>
If you choose S3Prefix, S3Uri identifies a key name prefix. Amazon SageMaker uses all objects with the specified key name prefix for batch transform. If you choose ManifestFile, S3Uri identifies an object that is a manifest file containing a list of object keys that you want Amazon SageMaker to use for batch transform. The following values are compatible: ManifestFile, S3PrefixThe following value is not compatible: AugmentedManifestFile
Required?True
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesTransformInput_DataSource_S3DataSource_S3DataType
-S3DataSource_S3Uri <String>
Depending on the value specified for the S3DataType, identifies either a key name prefix or a manifest. For example:
  • A key name prefix might look like this: s3://bucketname/exampleprefix/.
  • A manifest might look like this: s3://bucketname/example.manifest The manifest is an S3 object which is a JSON file with the following format: [ {"prefix": "s3://customer_bucket/some/prefix/"},"relative/path/to/custdata-1","relative/path/custdata-2",..."relative/path/custdata-N"] The preceding JSON matches the following S3Uris: s3://customer_bucket/some/prefix/relative/path/to/custdata-1s3://customer_bucket/some/prefix/relative/path/custdata-2...s3://customer_bucket/some/prefix/relative/path/custdata-N The complete set of S3Uris in this manifest constitutes the input data for the channel for this datasource. The object that each S3Uris points to must be readable by the IAM role that Amazon SageMaker uses to perform tasks on your behalf.
Required?True
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesTransformInput_DataSource_S3DataSource_S3Uri
-Select <String>
Use the -Select parameter to control the cmdlet output. The default value is 'TransformJobArn'. Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.SageMaker.Model.CreateTransformJobResponse). Specifying the name of a property of type Amazon.SageMaker.Model.CreateTransformJobResponse will result in that property being returned. Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-Tag <Tag[]>
(Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesTags
-TransformInput_CompressionType <CompressionType>
If your transform data is compressed, specify the compression type. Amazon SageMaker automatically decompresses the data for the transform job accordingly. The default value is None.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-TransformInput_ContentType <String>
The multipurpose internet mail extension (MIME) type of the data. Amazon SageMaker uses the MIME type with each http call to transfer data to the transform job.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-TransformInput_SplitType <SplitType>
The method to use to split the transform job's data files into smaller batches. Splitting is necessary when the total size of each object is too large to fit in a single request. You can also use data splitting to improve performance by processing multiple concurrent mini-batches. The default value for SplitType is None, which indicates that input data files are not split, and request payloads contain the entire contents of an input object. Set the value of this parameter to Line to split records on a newline character boundary. SplitType also supports a number of record-oriented binary data formats. Currently, the supported record formats are:
  • RecordIO
  • TFRecord
When splitting is enabled, the size of a mini-batch depends on the values of the BatchStrategy and MaxPayloadInMB parameters. When the value of BatchStrategy is MultiRecord, Amazon SageMaker sends the maximum number of records in each request, up to the MaxPayloadInMB limit. If the value of BatchStrategy is SingleRecord, Amazon SageMaker sends individual records in each request.Some data formats represent a record as a binary payload wrapped with extra padding bytes. When splitting is applied to a binary data format, padding is removed if the value of BatchStrategy is set to SingleRecord. Padding is not removed if the value of BatchStrategy is set to MultiRecord.For more information about RecordIO, see Create a Dataset Using RecordIO in the MXNet documentation. For more information about TFRecord, see Consuming TFRecord data in the TensorFlow documentation.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-TransformJobName <String>
The name of the transform job. The name must be unique within an Amazon Web Services Region in an Amazon Web Services account.
Required?True
Position?1
Accept pipeline input?True (ByValue, ByPropertyName)
-TransformOutput_Accept <String>
The MIME type used to specify the output data. Amazon SageMaker uses the MIME type with each http call to transfer data from the transform job.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-TransformOutput_AssembleWith <AssemblyType>
Defines how to assemble the results of the transform job as a single S3 object. Choose a format that is most convenient to you. To concatenate the results in binary format, specify None. To add a newline character at the end of every transformed record, specify Line.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-TransformOutput_KmsKeyId <String>
The Amazon Web Services Key Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption. The KmsKeyId can be any of the following formats:
  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
  • Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
  • Alias name: alias/ExampleAlias
  • Alias name ARN: arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias
If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account. For more information, see KMS-Managed Encryption Keys in the Amazon Simple Storage Service Developer Guide.The KMS key policy must grant permission to the IAM role that you specify in your CreateModel request. For more information, see Using Key Policies in Amazon Web Services KMS in the Amazon Web Services Key Management Service Developer Guide.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-TransformOutput_S3OutputPath <String>
The Amazon S3 path where you want Amazon SageMaker to store the results of the transform job. For example, s3://bucket-name/key-name-prefix.For every S3 object used as input for the transform job, batch transform stores the transformed data with an .out suffix in a corresponding subfolder in the location in the output prefix. For example, for the input data stored at s3://bucket-name/input-name-prefix/dataset01/data.csv, batch transform stores the transformed data at s3://bucket-name/output-name-prefix/input-name-prefix/data.csv.out. Batch transform doesn't upload partially processed objects. For an input S3 object that contains multiple records, it creates an .out file only if the transform job succeeds on the entire file. When the input contains multiple S3 objects, the batch transform job processes the listed S3 objects and uploads only the output for successfully processed objects. If any object fails in the transform job batch transform marks the job as failed to prompt investigation.
Required?True
Position?Named
Accept pipeline input?True (ByPropertyName)
-TransformResources_InstanceCount <Int32>
The number of ML compute instances to use in the transform job. The default value is 1, and the maximum is 100. For distributed transform jobs, specify a value greater than 1.
Required?True
Position?Named
Accept pipeline input?True (ByPropertyName)
-TransformResources_InstanceType <TransformInstanceType>
The ML compute instance type for the transform job. If you are using built-in algorithms to transform moderately sized datasets, we recommend using ml.m4.xlarge or ml.m5.largeinstance types.
Required?True
Position?Named
Accept pipeline input?True (ByPropertyName)
-TransformResources_VolumeKmsKeyId <String>
The Amazon Web Services Key Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt model data on the storage volume attached to the ML compute instance(s) that run the batch transform job.Certain Nitro-based instances include local storage, dependent on the instance type. Local storage volumes are encrypted using a hardware module on the instance. You can't request a VolumeKmsKeyId when using an instance type with local storage.For a list of instance types that support local instance storage, see Instance Store Volumes.For more information about local instance storage encryption, see SSD Instance Store Volumes. The VolumeKmsKeyId can be any of the following formats:
  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
  • Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
  • Alias name: alias/ExampleAlias
  • Alias name ARN: arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)

Common Credential and Region Parameters

-AccessKey <String>
The AWS access key for the user account. This can be a temporary access key if the corresponding session token is supplied to the -SessionToken parameter.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesAK
-Credential <AWSCredentials>
An AWSCredentials object instance containing access and secret key information, and optionally a token for session-based credentials.
Required?False
Position?Named
Accept pipeline input?True (ByValue, ByPropertyName)
-EndpointUrl <String>
The endpoint to make the call against.Note: This parameter is primarily for internal AWS use and is not required/should not be specified for normal usage. The cmdlets normally determine which endpoint to call based on the region specified to the -Region parameter or set as default in the shell (via Set-DefaultAWSRegion). Only specify this parameter if you must direct the call to a specific custom endpoint.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-NetworkCredential <PSCredential>
Used with SAML-based authentication when ProfileName references a SAML role profile. Contains the network credentials to be supplied during authentication with the configured identity provider's endpoint. This parameter is not required if the user's default network identity can or should be used during authentication.
Required?False
Position?Named
Accept pipeline input?True (ByValue, ByPropertyName)
-ProfileLocation <String>
Used to specify the name and location of the ini-format credential file (shared with the AWS CLI and other AWS SDKs)If this optional parameter is omitted this cmdlet will search the encrypted credential file used by the AWS SDK for .NET and AWS Toolkit for Visual Studio first. If the profile is not found then the cmdlet will search in the ini-format credential file at the default location: (user's home directory)\.aws\credentials.If this parameter is specified then this cmdlet will only search the ini-format credential file at the location given.As the current folder can vary in a shell or during script execution it is advised that you use specify a fully qualified path instead of a relative path.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesAWSProfilesLocation, ProfilesLocation
-ProfileName <String>
The user-defined name of an AWS credentials or SAML-based role profile containing credential information. The profile is expected to be found in the secure credential file shared with the AWS SDK for .NET and AWS Toolkit for Visual Studio. You can also specify the name of a profile stored in the .ini-format credential file used with the AWS CLI and other AWS SDKs.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesStoredCredentials, AWSProfileName
-Region <Object>
The system name of an AWS region or an AWSRegion instance. This governs the endpoint that will be used when calling service operations. Note that the AWS resources referenced in a call are usually region-specific.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesRegionToCall
-SecretKey <String>
The AWS secret key for the user account. This can be a temporary secret key if the corresponding session token is supplied to the -SessionToken parameter.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesSK, SecretAccessKey
-SessionToken <String>
The session token if the access and secret keys are temporary session-based credentials.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesST

Outputs

This cmdlet returns a System.String object. The service call response (type Amazon.SageMaker.Model.CreateTransformJobResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack.

Supported Version

AWS Tools for PowerShell: 2.x.y.z