

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Pengambilan data
<a name="model-monitor-data-capture"></a>

*Untuk mencatat input ke titik akhir dan output inferensi dari model yang diterapkan ke Amazon S3, Anda dapat mengaktifkan fitur yang disebut Pengambilan Data.* *Data Capture* biasanya digunakan untuk merekam informasi yang dapat digunakan untuk pelatihan, debugging, dan pemantauan. Amazon SageMaker Model Monitor secara otomatis mem-parsing data yang diambil ini dan membandingkan metrik dari data ini dengan baseline yang Anda buat untuk model tersebut. Untuk informasi selengkapnya tentang Model Monitor lihat[Pemantauan kualitas data dan model dengan Amazon SageMaker Model Monitor](model-monitor.md).

Anda dapat menerapkan *Pengambilan Data* untuk mode monitor model real-time dan batch menggunakan AWS SDK for Python (Boto) atau Python SageMaker SDK. Untuk titik akhir real-time, Anda akan menentukan konfigurasi *Pengambilan Data* saat membuat titik akhir. Karena sifat titik akhir real-time Anda yang persisten, Anda dapat mengonfigurasi opsi tambahan untuk mengaktifkan atau menonaktifkan pengambilan data pada waktu-waktu tertentu, atau mengubah frekuensi pengambilan sampel. Anda juga dapat memilih untuk mengenkripsi data inferensi Anda.

Untuk pekerjaan transformasi batch, Anda dapat mengaktifkan *Pengambilan Data* jika Anda ingin menjalankan pemantauan model sesuai jadwal atau pemantauan model berkelanjutan untuk pekerjaan transformasi batch reguler dan berkala. Anda akan menentukan konfigurasi *Data Capture* Anda ketika Anda membuat pekerjaan transformasi batch Anda. Dalam konfigurasi ini, Anda memiliki opsi untuk mengaktifkan enkripsi atau menghasilkan ID inferensi dengan output Anda, yang membantu Anda mencocokkan data yang diambil dengan data Ground Truth.

# Menangkap data dari titik akhir waktu nyata
<a name="model-monitor-data-capture-endpoint"></a>

**catatan**  
Untuk mencegah dampak pada permintaan inferensi, Data Capture berhenti menangkap permintaan pada tingkat penggunaan disk yang tinggi. Disarankan agar penggunaan disk Anda tetap di bawah 75% untuk memastikan pengambilan data terus menangkap permintaan.

Untuk menangkap data untuk titik akhir real-time Anda, Anda harus menerapkan model menggunakan layanan hosting SageMaker AI. Ini mengharuskan Anda membuat model SageMaker AI, menentukan konfigurasi titik akhir, dan membuat titik akhir HTTPS.

Langkah-langkah yang diperlukan untuk mengaktifkan pengambilan data serupa apakah Anda menggunakan AWS SDK for Python (Boto) atau SageMaker Python SDK. Jika Anda menggunakan AWS SDK, tentukan [DataCaptureConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DataCaptureConfig.html)kamus, bersama dengan bidang wajib, dalam [CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html)metode untuk mengaktifkan pengambilan data. Jika Anda menggunakan SageMaker Python SDK, impor [DataCaptureConfig](https://sagemaker.readthedocs.io/en/stable/api/inference/model_monitor.html#sagemaker.model_monitor.data_capture_config.DataCaptureConfig)Kelas dan inisialisasi instance dari kelas ini. Kemudian, berikan objek ini ke `DataCaptureConfig` parameter dalam `sagemaker.model.Model.deploy()` metode.

Untuk menggunakan cuplikan kode yang sedang berjalan, ganti kode contoh dengan informasi Anda sendiri. *italicized placeholder text*

## Cara mengaktifkan pengambilan data
<a name="model-monitor-data-capture-defing.title"></a>

Tentukan konfigurasi pengambilan data. Anda dapat menangkap payload permintaan, payload respons, atau keduanya dengan konfigurasi ini. Cuplikan kode yang sedang berlangsung menunjukkan cara mengaktifkan pengambilan data menggunakan dan AI SageMaker Python AWS SDK for Python (Boto) SDK.

**catatan**  
Anda tidak perlu menggunakan Model Monitor untuk menangkap permintaan atau muatan respons.

------
#### [ AWS SDK for Python (Boto) ]

Konfigurasikan data yang ingin Anda tangkap dengan [DataCaptureConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DataCaptureConfig.html)kamus saat Anda membuat titik akhir menggunakan `CreateEndpointConfig` metode ini. Setel `EnableCapture` ke nilai boolean True. Selain itu, berikan parameter wajib berikut:
+ `EndpointConfigName`: nama konfigurasi titik akhir Anda. Anda akan menggunakan nama ini saat mengajukan `CreateEndpoint` permintaan.
+ `ProductionVariants`: daftar model yang ingin Anda host di titik akhir ini. Tentukan tipe data kamus untuk setiap model.
+ `DataCaptureConfig`: tipe data kamus tempat Anda menentukan nilai integer yang sesuai dengan persentase awal data untuk sampel (`InitialSamplingPercentage`), URI Amazon S3 tempat Anda ingin menyimpan data yang diambil, dan daftar opsi pengambilan `CaptureOptions` (). Tentukan salah satu `Input` atau `Output` untuk `CaptureMode` dalam `CaptureOptions` daftar. 

Anda dapat secara opsional menentukan bagaimana SageMaker AI harus menyandikan data yang diambil dengan meneruskan argumen pasangan nilai kunci ke kamus. `CaptureContentTypeHeader`

```
# Create an endpoint config name.
endpoint_config_name = '<endpoint-config-name>'

# The name of the production variant.
variant_name = '<name-of-production-variant>'                   
  
# The name of the model that you want to host. 
# This is the name that you specified when creating the model.
model_name = '<The_name_of_your_model>'

instance_type = '<instance-type>'
#instance_type='ml.m5.xlarge' # Example    

# Number of instances to launch initially.
initial_instance_count = <integer>

# Sampling percentage. Choose an integer value between 0 and 100
initial_sampling_percentage = <integer>                                                                                                                                                                                                                        

# The S3 URI containing the captured data
s3_capture_upload_path = 's3://<bucket-name>/<data_capture_s3_key>'

# Specify either Input, Output, or both
capture_modes = [ "Input",  "Output" ] 
#capture_mode = [ "Input"] # Example - If you want to capture input only
                            
endpoint_config_response = sagemaker_client.create_endpoint_config(
    EndpointConfigName=endpoint_config_name, 
    # List of ProductionVariant objects, one for each model that you want to host at this endpoint.
    ProductionVariants=[
        {
            "VariantName": variant_name, 
            "ModelName": model_name, 
            "InstanceType": instance_type, # Specify the compute instance type.
            "InitialInstanceCount": initial_instance_count # Number of instances to launch initially.
        }
    ],
    DataCaptureConfig= {
        'EnableCapture': True, # Whether data should be captured or not.
        'InitialSamplingPercentage' : initial_sampling_percentage,
        'DestinationS3Uri': s3_capture_upload_path,
        'CaptureOptions': [{"CaptureMode" : capture_mode} for capture_mode in capture_modes] # Example - Use list comprehension to capture both Input and Output
    }
)
```

Untuk informasi selengkapnya tentang opsi konfigurasi titik akhir lainnya, lihat [CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html)API di [Panduan Referensi API Layanan Amazon SageMaker AI](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Operations_Amazon_SageMaker_Service.html).

------
#### [ SageMaker Python SDK ]

Impor `DataCaptureConfig` Kelas dari modul [sagemaker.model\$1monitor](https://sagemaker.readthedocs.io/en/stable/api/inference/model_monitor.html). Aktifkan pengambilan data dengan menyetel `EnableCapture` ke nilai `True` boolean.

Secara opsional memberikan argumen untuk parameter berikut:
+ `SamplingPercentage`: nilai integer yang sesuai dengan persentase data untuk sampel. Jika Anda tidak memberikan persentase sampling, SageMaker AI akan mengambil sampel default 20 (20%) data Anda.
+ `DestinationS3Uri`: Amazon S3 URI SageMaker AI akan digunakan untuk menyimpan data yang diambil. Jika Anda tidak menyediakannya, SageMaker AI akan menyimpan data yang diambil`"s3://<default-session-bucket>/ model-monitor/data-capture"`.

```
from sagemaker.model_monitor import DataCaptureConfig

# Set to True to enable data capture
enable_capture = True

# Optional - Sampling percentage. Choose an integer value between 0 and 100
sampling_percentage = <int> 
# sampling_percentage = 30 # Example 30%

# Optional - The S3 URI of stored captured-data location
s3_capture_upload_path = 's3://<bucket-name>/<data_capture_s3_key>'

# Specify either Input, Output or both. 
capture_modes = ['REQUEST','RESPONSE'] # In this example, we specify both
# capture_mode = ['REQUEST'] # Example - If you want to only capture input.

# Configuration object passed in when deploying Models to SM endpoints
data_capture_config = DataCaptureConfig(
    enable_capture = enable_capture, 
    sampling_percentage = sampling_percentage, # Optional
    destination_s3_uri = s3_capture_upload_path, # Optional
    capture_options = ["REQUEST", "RESPONSE"],
)
```

------

## Terapkan model Anda
<a name="model-monitor-data-capture-deploy"></a>

Terapkan model Anda dan buat titik akhir HTTPS dengan `DataCapture` diaktifkan.

------
#### [ AWS SDK untuk Python (Boto3) ]

Berikan konfigurasi titik akhir ke SageMaker AI. Layanan meluncurkan instance komputasi ML dan menerapkan model atau model seperti yang ditentukan dalam konfigurasi.

Setelah Anda memiliki konfigurasi model dan titik akhir, gunakan [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html)API untuk membuat titik akhir Anda. Nama titik akhir harus unik dalam AWS Wilayah di AWS akun Anda. 

Berikut ini membuat endpoint menggunakan konfigurasi endpoint yang ditentukan dalam permintaan. Amazon SageMaker AI menggunakan titik akhir untuk menyediakan sumber daya dan menerapkan model.

```
# The name of the endpoint. The name must be unique within an AWS Region in your AWS account.
endpoint_name = '<endpoint-name>' 

# The name of the endpoint configuration associated with this endpoint.
endpoint_config_name='<endpoint-config-name>'

create_endpoint_response = sagemaker_client.create_endpoint(
                                            EndpointName=endpoint_name, 
                                            EndpointConfigName=endpoint_config_name)
```

Untuk informasi selengkapnya, lihat [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html)API.

------
#### [ SageMaker Python SDK ]

Tentukan nama untuk titik akhir Anda. Langkah ini bersifat opsional. Jika Anda tidak menyediakannya, SageMaker AI akan membuat nama unik untuk Anda:

```
from datetime import datetime

endpoint_name = f"DEMO-{datetime.utcnow():%Y-%m-%d-%H%M}"
print("EndpointName =", endpoint_name)
```

Terapkan model Anda ke titik akhir HTTPS real-time dengan metode bawaan `deploy()` objek Model. Berikan nama jenis instans Amazon EC2 untuk menerapkan model ini di `instance_type` bidang bersama dengan jumlah awal instance untuk menjalankan titik akhir pada bidang: `initial_instance_count`

```
initial_instance_count=<integer>
# initial_instance_count=1 # Example

instance_type='<instance-type>'
# instance_type='ml.m4.xlarge' # Example

# Uncomment if you did not define this variable in the previous step
#data_capture_config = <name-of-data-capture-configuration>

model.deploy(
    initial_instance_count=initial_instance_count,
    instance_type=instance_type,
    endpoint_name=endpoint_name,
    data_capture_config=data_capture_config
)
```

------

## Lihat Data yang Ditangkap
<a name="model-monitor-data-capture-view"></a>

Buat objek prediktor dari SageMaker Python [SDK](https://sagemaker.readthedocs.io/en/stable/api/inference/predictors.html) Predictor Class. Anda akan menggunakan objek yang dikembalikan oleh `Predictor` Kelas untuk memanggil endpoint Anda di langkah masa depan. Berikan nama titik akhir Anda (didefinisikan sebelumnya sebagai`endpoint_name`), bersama dengan objek serializer dan deserializer untuk serializer dan deserializer, masing-masing. [Untuk informasi tentang jenis serializer, lihat Kelas [Serializers](https://sagemaker.readthedocs.io/en/stable/api/inference/serializers.html) di AI SageMaker Python SDK.](https://sagemaker.readthedocs.io/en/stable/index.html)

```
from sagemaker.predictor import Predictor
from sagemaker.serializers import <Serializer>
from sagemaker.deserializers import <Deserializers>

predictor = Predictor(endpoint_name=endpoint_name,
                      serializer = <Serializer_Class>,
                      deserializer = <Deserializer_Class>)

# Example
#from sagemaker.predictor import Predictor
#from sagemaker.serializers import CSVSerializer
#from sagemaker.deserializers import JSONDeserializer

#predictor = Predictor(endpoint_name=endpoint_name,
#                      serializer=CSVSerializer(),
#                      deserializer=JSONDeserializer())
```

Dalam skenario contoh kode lanjutan, kami memanggil titik akhir dengan data validasi sampel yang telah kami simpan secara lokal dalam file CSV bernama. `validation_with_predictions` Set validasi sampel kami berisi label untuk setiap masukan.

Beberapa baris pertama dari pernyataan with pertama membuka file CSV set validasi, kemudian membagi setiap baris dalam file dengan karakter koma`","`, dan kemudian menyimpan dua objek yang dikembalikan ke dalam label dan variabel input\$1cols. Untuk setiap baris, input (`input_cols`) diteruskan ke metode `Predictor.predict()` bawaan objek variabel prediktor (`predictor`).

Misalkan model mengembalikan probabilitas. Probabilitas berkisar antara nilai integer 0 dan 1.0. Jika probabilitas yang dikembalikan oleh model lebih besar dari 80% (0,8) kami menetapkan prediksi label nilai integer 1. Jika tidak, kita menetapkan prediksi label nilai integer dari 0.

```
from time import sleep

validate_dataset = "validation_with_predictions.csv"

# Cut off threshold of 80%
cutoff = 0.8

limit = 200  # Need at least 200 samples to compute standard deviations
i = 0
with open(f"test_data/{validate_dataset}", "w") as validation_file:
    validation_file.write("probability,prediction,label\n")  # CSV header
    with open("test_data/validation.csv", "r") as f:
        for row in f:
            (label, input_cols) = row.split(",", 1)
            probability = float(predictor.predict(input_cols))
            prediction = "1" if probability > cutoff else "0"
            baseline_file.write(f"{probability},{prediction},{label}\n")
            i += 1
            if i > limit:
                break
            print(".", end="", flush=True)
            sleep(0.5)
print()
print("Done!")
```

Karena Anda mengaktifkan pengambilan data pada langkah sebelumnya, payload permintaan dan respons, bersama dengan beberapa data meta tambahan, disimpan di lokasi Amazon S3 yang Anda tentukan. `DataCaptureConfig` Pengiriman data pengambilan ke Amazon S3 dapat memerlukan beberapa menit.

Lihat data yang diambil dengan mencantumkan file pengambilan data yang disimpan di Amazon S3. Format jalur Amazon S3 adalah:. `s3:///{endpoint-name}/{variant-name}/yyyy/mm/dd/hh/filename.jsonl`

Berharap untuk melihat file yang berbeda dari periode waktu yang berbeda, diatur berdasarkan jam ketika pemanggilan terjadi. Jalankan yang berikut ini untuk mencetak konten file tangkapan tunggal:

```
print("\n".join(capture_file[-3:-1]))
```

Ini akan mengembalikan file SageMaker berformat JSON-line khusus AI. Berikut ini adalah contoh respons yang diambil dari titik akhir real-time yang kami panggil menggunakan `csv/text` data:

```
{"captureData":{"endpointInput":{"observedContentType":"text/csv","mode":"INPUT",
"data":"69,0,153.7,109,194.0,105,256.1,114,14.1,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0\n",
"encoding":"CSV"},"endpointOutput":{"observedContentType":"text/csv; charset=utf-8","mode":"OUTPUT","data":"0.0254181120544672","encoding":"CSV"}},
"eventMetadata":{"eventId":"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee","inferenceTime":"2022-02-14T17:25:49Z"},"eventVersion":"0"}
{"captureData":{"endpointInput":{"observedContentType":"text/csv","mode":"INPUT",
"data":"94,23,197.1,125,214.5,136,282.2,103,9.5,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,1\n",
"encoding":"CSV"},"endpointOutput":{"observedContentType":"text/csv; charset=utf-8","mode":"OUTPUT","data":"0.07675473392009735","encoding":"CSV"}},
"eventMetadata":{"eventId":"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee","inferenceTime":"2022-02-14T17:25:49Z"},"eventVersion":"0"}
```

Dalam contoh yang sedang berlangsung, `capture_file` objek adalah tipe daftar. Indeks elemen pertama dari daftar untuk melihat permintaan inferensi tunggal.

```
# The capture_file object is a list. Index the first element to view a single inference request  
print(json.dumps(json.loads(capture_file[0]), indent=2))
```

Ini akan mengembalikan respons yang mirip dengan berikut ini. Nilai yang dikembalikan akan berbeda berdasarkan konfigurasi titik akhir, model SageMaker AI, dan data yang diambil:

```
{
  "captureData": {
    "endpointInput": {
      "observedContentType": "text/csv", # data MIME type
      "mode": "INPUT",
      "data": "50,0,188.9,94,203.9,104,151.8,124,11.6,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,1,0,1,0\n",
      "encoding": "CSV"
    },
    "endpointOutput": {
      "observedContentType": "text/csv; charset=character-encoding",
      "mode": "OUTPUT",
      "data": "0.023190177977085114",
      "encoding": "CSV"
    }
  },
  "eventMetadata": {
    "eventId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
    "inferenceTime": "2022-02-14T17:25:06Z"
  },
  "eventVersion": "0"
}
```

# Menangkap data dari pekerjaan transformasi batch
<a name="model-monitor-data-capture-batch"></a>

 Langkah-langkah yang diperlukan untuk mengaktifkan pengambilan data untuk pekerjaan transformasi batch Anda serupa apakah Anda menggunakan SDK Python AWS SDK for Python (Boto) atau SageMaker Python. Jika Anda menggunakan AWS SDK, tentukan [DataCaptureConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DataCaptureConfig.html)kamus, bersama dengan bidang wajib, dalam `CreateTransformJob` metode untuk mengaktifkan pengambilan data. Jika Anda menggunakan SageMaker AI Python SDK, impor `BatchDataCaptureConfig` kelas dan inisialisasi instance dari kelas ini. Kemudian, berikan objek ini ke `batch_data_capture_config` parameter instance pekerjaan transformasi Anda. 

 Untuk menggunakan cuplikan kode berikut, ganti kode contoh dengan informasi Anda sendiri. *italicized placeholder text* 

## Cara mengaktifkan pengambilan data
<a name="data-capture-batch-enable"></a>

 Tentukan konfigurasi pengambilan data saat Anda meluncurkan pekerjaan transformasi. Apakah Anda menggunakan SDK SageMaker Python AWS SDK untuk Python (Boto3) atau Python, Anda harus memberikan `DestinationS3Uri` argumen, yang merupakan direktori tempat Anda ingin pekerjaan transformasi mencatat data yang diambil. Secara opsional, Anda juga dapat mengatur parameter berikut: 
+  `KmsKeyId`: AWS KMS Kunci yang digunakan untuk mengenkripsi data yang diambil. 
+  `GenerateInferenceId`: Bendera Boolean yang, saat menangkap data, menunjukkan apakah Anda ingin pekerjaan transformasi menambahkan ID inferensi dan waktu ke output Anda. Ini berguna untuk pemantauan kualitas model, di mana Anda perlu menelan data Ground Truth. ID inferensi dan waktu membantu mencocokkan data yang diambil dengan data Ground Truth Anda. 

------
#### [ AWS SDK untuk Python (Boto3) ]

 Konfigurasikan data yang ingin Anda tangkap dengan [DataCaptureConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DataCaptureConfig.html)kamus saat Anda membuat pekerjaan transformasi menggunakan `CreateTransformJob` metode ini. 

```
input_data_s3_uri = "s3://input_S3_uri"
output_data_s3_uri = "s3://output_S3_uri"
data_capture_destination = "s3://captured_data_S3_uri"

model_name = "model_name"

sm_client.create_transform_job(
    TransformJobName="transform_job_name",
    MaxConcurrentTransforms=2,
    ModelName=model_name,
    TransformInput={
        "DataSource": {
            "S3DataSource": {
                "S3DataType": "S3Prefix",
                "S3Uri": input_data_s3_uri,
            }
        },
        "ContentType": "text/csv",
        "CompressionType": "None",
        "SplitType": "Line",
    },
    TransformOutput={
        "S3OutputPath": output_data_s3_uri,
        "Accept": "text/csv",
        "AssembleWith": "Line",
    },
    TransformResources={
        "InstanceType": "ml.m4.xlarge",
        "InstanceCount": 1,
    },
    DataCaptureConfig={
       "DestinationS3Uri": data_capture_destination,
       "KmsKeyId": "kms_key",
       "GenerateInferenceId": True,
    }
    )
```

------
#### [ SageMaker Python SDK ]

 Impor `BatchDataCaptureConfig` kelas dari [sagemaker.model\$1monitor](https://sagemaker.readthedocs.io/en/stable/api/inference/model_monitor.html). 

```
from sagemaker.transformer import Transformer
from sagemaker.inputs import BatchDataCaptureConfig

# Optional - The S3 URI of where to store captured data in S3
data_capture_destination = "s3://captured_data_S3_uri"

model_name = "model_name"

transformer = Transformer(model_name=model_name, ...)
transform_arg = transformer.transform(
    batch_data_capture_config=BatchDataCaptureConfig(
        destination_s3_uri=data_capture_destination,
        kms_key_id="kms_key",
        generate_inference_id=True,
    ),
    ...
)
```

------

## Cara melihat data yang ditangkap
<a name="data-capture-batch-view"></a>

 Setelah tugas transformasi selesai, data yang diambil akan dicatat di bawah yang `DestinationS3Uri` Anda berikan dengan konfigurasi pengambilan data. Ada dua subdirektori di bawah`DestinationS3Uri`, `/input` dan. `/output` Jika `DestinationS3Uri` ya`s3://my-data-capture`, maka pekerjaan transformasi membuat direktori berikut: 
+  `s3://my-data-capture/input`: Data input yang diambil untuk pekerjaan transformasi. 
+  `s3://my-data-capture/output`: Data keluaran yang diambil untuk pekerjaan transformasi. 

 Untuk menghindari duplikasi data, data yang diambil di bawah dua direktori sebelumnya adalah manifes. Setiap manifes adalah file JSONL yang berisi lokasi Amazon S3 dari objek sumber. File manifes mungkin terlihat seperti contoh berikut: 

```
# under "/input" directory
[
    {"prefix":"s3://input_S3_uri/"},
    "dummy_0.csv",
    "dummy_1.csv",
    "dummy_2.csv",
    ...
]

# under "/output" directory
[
    {"prefix":"s3://output_S3_uri/"},
    "dummy_0.csv.out",
    "dummy_1.csv.out",
    "dummy_2.csv.out",
    ...
]
```

 Pekerjaan transformasi mengatur dan memberi label manifes ini dengan awalan *yyyy/mm/dd/hh* S3 untuk menunjukkan kapan mereka ditangkap. Ini membantu monitor model menentukan bagian data yang tepat untuk dianalisis. Misalnya, jika Anda memulai pekerjaan transformasi pada 2022-8-26 13PM UTC, maka data yang diambil diberi label dengan string awalan. `2022/08/26/13/` 

## InferenceId Generasi
<a name="data-capture-batch-inferenceid"></a>

 Saat Anda mengonfigurasi `DataCaptureConfig` untuk pekerjaan transformasi, Anda dapat mengaktifkan bendera `GenerateInferenceId` Boolean. Ini sangat berguna ketika Anda perlu menjalankan kualitas model dan pekerjaan pemantauan bias model, di mana Anda memerlukan data Ground Truth yang dicerna pengguna. Monitor model mengandalkan ID inferensi untuk mencocokkan data yang diambil dan data Ground Truth. Untuk detail tambahan tentang konsumsi Ground Truth, lihat. [Menelan label Ground Truth dan menggabungkannya dengan prediksi](model-monitor-model-quality-merge.md) Saat `GenerateInferenceId` aktif, output transformasi menambahkan ID inferensi (UUID acak) serta waktu mulai pekerjaan transformasi di UTC untuk setiap catatan. Anda memerlukan dua nilai ini untuk menjalankan kualitas model dan pemantauan bias model. Saat Anda membuat data Ground Truth, Anda perlu memberikan ID inferensi yang sama agar sesuai dengan data keluaran. Saat ini, fitur ini mendukung output transformasi dalam format CSV, JSON, dan JSONL. 

 Jika output transformasi Anda dalam format CSV, file output terlihat seperti contoh berikut: 

```
0, 1f1d57b1-2e6f-488c-8c30-db4e6d757861,2022-08-30T00:49:15Z
1, 22445434-0c67-45e9-bb4d-bd1bf26561e6,2022-08-30T00:49:15Z
...
```

 Dua kolom terakhir adalah ID inferensi dan waktu mulai pekerjaan transformasi. Jangan memodifikasinya. Kolom yang tersisa adalah output pekerjaan transformasi Anda. 

 Jika output transformasi Anda dalam format JSON atau JSONL, file output terlihat seperti contoh berikut: 

```
{"output": 0, "SageMakerInferenceId": "1f1d57b1-2e6f-488c-8c30-db4e6d757861", "SageMakerInferenceTime": "2022-08-30T00:49:15Z"}
{"output": 1, "SageMakerInferenceId": "22445434-0c67-45e9-bb4d-bd1bf26561e6", "SageMakerInferenceTime": "2022-08-30T00:49:15Z"}
...
```

 Ada dua bidang tambahan yang dicadangkan, `SageMakerInferenceId` dan`SageMakerInferenceTime`. Jangan memodifikasi bidang ini jika Anda perlu menjalankan kualitas model atau pemantauan bias model — Anda memerlukannya untuk pekerjaan gabungan. 