# S3DataSourceProperty

Describes the S3 data source.

Your input bucket must be in the same AWS region as your training job.

- Source: Generated code
- Type last changed: v2.154.0 · 22 Aug 2024

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_sagemaker as sagemaker } from 'aws-cdk-lib';
const s3DataSourceProperty: sagemaker.CfnModel.S3DataSourceProperty = {
  compressionType: 'compressionType',
  s3DataType: 's3DataType',
  s3Uri: 's3Uri',

  // the properties below are optional
  hubAccessConfig: {
    hubContentArn: 'hubContentArn',
  },
  modelAccessConfig: {
    acceptEula: false,
  },
};
```

## Properties

- `compressionType`: string (required) — Specifies how the ML model data is prepared.

- `hubAccessConfig`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnModel.HubAccessConfigProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_sagemaker.CfnModel.HubAccessConfigProperty.html) — The configuration for a private hub model reference that points to a SageMaker JumpStart public hub model.

- `modelAccessConfig`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnModel.ModelAccessConfigProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_sagemaker.CfnModel.ModelAccessConfigProperty.html) — The access configuration file to control access to the ML model.

  You can explicitly accept the model end-user license agreement (EULA) within the `ModelAccessConfig`.

- `s3DataType`: string (required) — If you choose `S3Prefix` , `S3Uri` identifies a key name prefix.

  SageMaker uses all objects that match the specified key name prefix for model training.

  If you choose `ManifestFile` , `S3Uri` identifies an object that is a manifest file containing a list of object keys that you want SageMaker to use for model training.

  If you choose `AugmentedManifestFile` , `S3Uri` identifies an object that is an augmented manifest file in JSON lines format. This file contains the data you want to use for model training. `AugmentedManifestFile` can only be used if the Channel's input mode is `Pipe` .

  If you choose `Converse` , `S3Uri` identifies an Amazon S3 location that contains data formatted according to Converse format. This format structures conversational messages with specific roles and content types used for training and fine-tuning foundational models.

- `s3Uri`: string (required) — 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`

  A manifest is an S3 object which is a JSON file consisting of an array of elements. The first element is a prefix which is followed by one or more suffixes. SageMaker appends the suffix elements to the prefix to get a full set of `S3Uri` . Note that the prefix must be a valid non-empty `S3Uri` that precludes users from specifying a manifest whose individual `S3Uri` is sourced from different S3 buckets.

  The following code example shows a valid manifest format:

  `[ {"prefix": "s3://customer_bucket/some/prefix/"},`

  `"relative/path/to/custdata-1",`

  `"relative/path/custdata-2",`

  `...`

  `"relative/path/custdata-N"`

  `]`

  This JSON is equivalent to the following `S3Uri` list:

  `s3://customer_bucket/some/prefix/relative/path/to/custdata-1`

  `s3://customer_bucket/some/prefix/relative/path/custdata-2`

  `...`

  `s3://customer_bucket/some/prefix/relative/path/custdata-N`

  The complete set of `S3Uri` in this manifest is the input data for the channel for this data source. The object that each `S3Uri` points to must be readable by the IAM role that SageMaker uses to perform tasks on your behalf.

  Your input bucket must be located in same AWS region as your training job.
