

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

# Menelan data dengan AWS IoT SiteWise APIs
<a name="ingest-api"></a>

Gunakan AWS IoT SiteWise APIs untuk mengirim data industri stempel waktu ke atribut dan properti pengukuran aset Anda. APIs Menerima struktur muatan yang mengandung timestamp-quality-value (TQV).

# BatchPutAssetPropertyValue API
<a name="ingest-api-batch-putasset"></a>

Gunakan [BatchPutAssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchPutAssetPropertyValue.html)operasi untuk mengunggah data Anda. Dengan operasi ini, Anda dapat mengunggah beberapa entri data sekaligus untuk mengumpulkan data dari beberapa perangkat dan mengirimkan semuanya dalam satu permintaan.

**penting**  
[BatchPutAssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchPutAssetPropertyValue.html)Operasi tunduk pada kuota berikut:   
Hingga 10 [entri](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchPutAssetPropertyValue.html#API_BatchPutAssetPropertyValue_RequestSyntax) per permintaan.
Hingga 10 [nilai properti](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_PutAssetPropertyValueEntry.html#iotsitewise-Type-PutAssetPropertyValueEntry-propertyValues) (titik data TQV) per entri. 
AWS IoT SiteWise menolak data apa pun dengan stempel waktu bertanggal lebih dari 7 hari di masa lalu atau lebih dari 10 menit di masa depan.
 Untuk informasi selengkapnya tentang kuota ini, lihat [BatchPutAssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchPutAssetPropertyValue.html)di *Referensi AWS IoT SiteWise API*.

Untuk mengidentifikasi properti aset, tentukan salah satu dari berikut ini:
+ Properti `propertyId` aset yang dikirimkan ke data. `assetId`
+ The`propertyAlias`, yang merupakan alias aliran data (misalnya,`/company/windfarm/3/turbine/7/temperature`). Untuk menggunakan opsi ini, Anda harus terlebih dahulu menetapkan alias properti aset Anda. Untuk mengatur alias properti, lihat[Mengelola aliran data untuk AWS IoT SiteWise](manage-data-streams.md).

Contoh berikut menunjukkan cara mengirim suhu turbin angin dan rotasi per menit (RPM) pembacaan dari muatan yang disimpan dalam file JSON.

```
aws iotsitewise batch-put-asset-property-value --cli-input-json file://batch-put-payload.json
```

Contoh payload di `batch-put-payload.json` memiliki konten berikut.

```
{
  "enablePartialEntryProcessing": true,      
  "entries": [
    {
      "entryId": "unique entry ID",
      "propertyAlias": "/company/windfarm/3/turbine/7/temperature",
      "propertyValues": [
        {
          "value": {
            "integerValue": 38
          },
          "timestamp": {
            "timeInSeconds": 1575691200
          }
        }
      ]
    },
    {
      "entryId": "unique entry ID",
      "propertyAlias": "/company/windfarm/3/turbine/7/rpm",
      "propertyValues": [
        {
          "value": {
            "doubleValue": 15.09
          },
          "timestamp": {
            "timeInSeconds": 1575691200
          },
          "quality": "GOOD"
        }
      ]
    },
    {
  "entryId": "unique entry ID",
      "propertyAlias": "/company/windfarm/3/turbine/7/rpm",
      "propertyValues": [
        {
  "value": {
  "nullValue":{"valueType": "D"}
          },
          "timestamp": {
  "timeInSeconds": 1575691200
          },
          "quality": "BAD"
        }
      ]
    }
  ]
}
```

Menentukan `enablePartialEntryProcessing` sebagai `true` memungkinkan konsumsi semua nilai yang tidak mengakibatkan kegagalan. Perilaku bawaannya adalah `false`. Jika nilai tidak valid, seluruh entri gagal tertelan.

Setiap entri dalam payload berisi `entryId` yang dapat Anda definisikan sebagai string unik apa pun. Jika ada entri permintaan yang gagal, setiap kesalahan akan berisi permintaan `entryId` yang sesuai sehingga Anda tahu permintaan mana yang harus dicoba lagi.

Setiap struktur dalam daftar `propertyValues` adalah struktur timestamp-quality-value (TQV) yang berisi a`value`, a`timestamp`, dan opsional a. `quality`
+ `value`— Struktur yang berisi salah satu bidang berikut, tergantung pada jenis properti yang ditetapkan:
  + `booleanValue`
  + `doubleValue`
  + `integerValue`
  + `stringValue`
  + `nullValue`
+ `nullValue`— Struktur dengan bidang berikut yang menunjukkan jenis nilai properti dengan nilai Null dan kualitas atau. `BAD` `UNCERTAIN`
  + `valueType`— Enum dari \$1"B”, “D”, “S”, “I"\$1
+ `timestamp`— Struktur yang berisi waktu epoch Unix saat ini dalam hitungan detik,. `timeInSeconds` Anda juga dapat mengatur `offsetInNanos` kunci dalam `timestamp` struktur jika Anda memiliki data yang tepat untuk sementara. AWS IoT SiteWise menolak setiap titik data dengan stempel waktu yang lebih tua dari 7 hari di masa lalu atau lebih baru dari 10 menit di masa depan.
+ `quality`— (Opsional) Salah satu string kualitas berikut:
  + `GOOD`— (Default) Data tidak terpengaruh oleh masalah apa pun.
  + `BAD`— Data dipengaruhi oleh masalah seperti kegagalan sensor.
  + `UNCERTAIN`— Data dipengaruhi oleh masalah seperti ketidakakuratan sensor.

  Untuk informasi selengkapnya tentang cara AWS IoT SiteWise menangani kualitas data dalam komputasi, lihat [Kualitas data dalam ekspresi rumus](expression-tutorials.md#data-quality).

# CreateBulkImportJob API
<a name="ingest-bulkImport"></a>

Gunakan `CreateBulkImportJob` API untuk mengimpor data dalam jumlah besar dari Amazon S3. Data Anda harus disimpan dalam format CSV di Amazon S3. File data dapat memiliki kolom berikut.

**catatan**  
 Data yang lebih lama dari 1 Januari 1970 00:00:00 UTC tidak didukung.   
Untuk mengidentifikasi properti aset, tentukan salah satu dari berikut ini.  
Properti `PROPERTY_ID` aset yang Anda kirimi datanya. `ASSET_ID`
The`ALIAS`, yang merupakan alias aliran data (misalnya,`/company/windfarm/3/turbine/7/temperature`). Untuk menggunakan opsi ini, Anda harus terlebih dahulu menetapkan alias properti aset Anda. Untuk mempelajari cara menyetel alias properti, lihat[Mengelola aliran data untuk AWS IoT SiteWise](manage-data-streams.md).
+ `ALIAS`— Alias yang mengidentifikasi properti, seperti jalur aliran data server OPC UA (misalnya,). `/company/windfarm/3/turbine/7/temperature` Untuk informasi selengkapnya, lihat [Mengelola aliran data untuk AWS IoT SiteWise](manage-data-streams.md).
+ `ASSET_ID`— ID aset.
+ `PROPERTY_ID`— ID properti aset.
+ `DATA_TYPE`Jenis data properti dapat menjadi salah satu dari berikut ini.
  + `STRING`— Sebuah string dengan hingga 1024 byte.
  + `INTEGER`— Bilangan bulat 32-bit yang ditandatangani dengan rentang [-2,147.483.648, 2.147.483.647].
  + `DOUBLE`— Nomor floating point dengan jangkauan [-10^100, 10^100] dan presisi ganda IEEE 754.
  + `BOOLEAN`— `true` atau`false`.
+ `TIMESTAMP_SECONDS`— Stempel waktu titik data, dalam waktu zaman Unix.
+ `TIMESTAMP_NANO_OFFSET`— Offset nanodetik tertutup dari. `TIMESTAMP_SECONDS`
+ `QUALITY`— (Opsional) Kualitas nilai properti aset. Nilainya bisa menjadi salah satu dari berikut ini.
  + `GOOD`— (Default) Data tidak terpengaruh oleh masalah apa pun.
  + `BAD`— Data dipengaruhi oleh masalah seperti kegagalan sensor.
  + `UNCERTAIN`— Data dipengaruhi oleh masalah seperti ketidakakuratan sensor.

  Untuk informasi selengkapnya tentang cara AWS IoT SiteWise menangani kualitas data dalam komputasi, lihat [Kualitas data dalam ekspresi rumus](expression-tutorials.md#data-quality).
+ `VALUE`— Nilai properti aset.

**Example file data dalam format.csv**  

```
asset_id,property_id,DOUBLE,1635201373,0,GOOD,1.0
asset_id,property_id,DOUBLE,1635201374,0,GOOD,2.0
asset_id,property_id,DOUBLE,1635201375,0,GOOD,3.0
```

```
unmodeled_alias1,DOUBLE,1635201373,0,GOOD,1.0
unmodeled_alias1,DOUBLE,1635201374,0,GOOD,2.0
unmodeled_alias1,DOUBLE,1635201375,0,GOOD,3.0
unmodeled_alias1,DOUBLE,1635201376,0,GOOD,4.0
unmodeled_alias1,DOUBLE,1635201377,0,GOOD,5.0
unmodeled_alias1,DOUBLE,1635201378,0,GOOD,6.0
unmodeled_alias1,DOUBLE,1635201379,0,GOOD,7.0
unmodeled_alias1,DOUBLE,1635201380,0,GOOD,8.0
unmodeled_alias1,DOUBLE,1635201381,0,GOOD,9.0
unmodeled_alias1,DOUBLE,1635201382,0,GOOD,10.0
```

AWS IoT SiteWise menyediakan operasi API berikut untuk membuat pekerjaan impor massal dan mendapatkan informasi tentang pekerjaan yang ada.
+ [CreateBulkImportJob](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateBulkImportJob.html)— Membuat pekerjaan impor massal baru.
+ [DescribeBulkImportJob](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeBulkImportJob.html)— Mengambil informasi tentang pekerjaan impor massal.
+ [ListBulkImportJob](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ListBulkImportJobs.html)— Mengambil daftar ringkasan halaman dari semua pekerjaan impor massal.

# Buat pekerjaan impor AWS IoT SiteWise massal (AWS CLI)
<a name="CreateBulkImportJob"></a>

Gunakan operasi [CreateBulkImportJob](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateBulkImportJob.html)API untuk mentransfer data dari Amazon S3 ke. AWS IoT SiteWise[CreateBulkImportJob](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateBulkImportJob.html)API memungkinkan konsumsi volume besar data historis, dan buffer konsumsi aliran data analitik dalam batch kecil. Ini memberikan primitif hemat biaya untuk konsumsi data. Contoh berikut menggunakan AWS CLI.

**penting**  
Sebelum membuat pekerjaan impor massal, Anda harus mengaktifkan tingkat AWS IoT SiteWise hangat atau tingkat AWS IoT SiteWise dingin. Untuk informasi selengkapnya, lihat [Konfigurasikan pengaturan penyimpanan di AWS IoT SiteWise](configure-storage.md).  
 [CreateBulkImportJob](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateBulkImportJob.html)API mendukung konsumsi data historis ke dalam AWS IoT SiteWise dengan opsi untuk mengatur parameter. adaptive-ingestion-flag   
Saat disetel ke`false`, API akan menyerap data historis tanpa memicu perhitungan atau notifikasi.
Saat disetel ke`true`, API akan menyerap data baru, menghitung metrik, dan mengubah data untuk mengoptimalkan analitik dan notifikasi yang sedang berlangsung dalam tujuh hari.

Jalankan perintah berikut. Ganti *file-name* dengan nama file yang berisi konfigurasi pekerjaan impor massal.

```
aws iotsitewise create-bulk-import-job --cli-input-json file://file-name.json
```

**Example Konfigurasi pekerjaan impor massal**  
Berikut ini adalah contoh pengaturan konfigurasi:  
+ Ganti *adaptive-ingestion-flag* dengan `true` atau`false`.
  + Jika disetel ke`false`, pekerjaan impor massal akan memasukkan data historis ke dalam AWS IoT SiteWise.
  + Jika disetel ke`true`, pekerjaan impor massal melakukan hal berikut:
    + Menyerap data baru ke dalam AWS IoT SiteWise.
    + Menghitung metrik dan transformasi, dan mendukung pemberitahuan untuk data dengan cap waktu yang dalam tujuh hari.
+ Ganti *delete-files-after-import-flag* dengan `true` untuk menghapus data dari bucket data Amazon S3 setelah masuk ke penyimpanan tingkat AWS IoT SiteWise hangat.
+ Ganti amzn-s3-demo-bucket dengan *-for-errors* nama bucket Amazon S3 tempat kesalahan yang terkait dengan pekerjaan impor massal ini dikirim.
+ Ganti amzn-s3-demo-bucket dengan *-for-errors-prefix* awalan bucket Amazon S3 tempat kesalahan yang terkait dengan pekerjaan impor massal ini dikirim. 

  Amazon S3 menggunakan awalan sebagai nama folder untuk mengatur data dalam bucket. Setiap objek Amazon S3 memiliki kunci yang merupakan pengenal uniknya di bucket. Setiap objek dalam bucket memiliki satu kunci. Prefiks harus diakhiri dengan garis miring ke depan (/). Untuk informasi selengkapnya, lihat [Mengatur objek menggunakan awalan](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html) di *Panduan Pengguna Layanan Penyimpanan Sederhana Amazon*.
+ Ganti amzn-s3-demo-bucket dengan *-data* nama bucket Amazon S3 tempat datanya diimpor.
+ Ganti *data-bucket-key* dengan kunci objek Amazon S3 yang berisi data Anda. Setiap objek memiliki kunci yang berupa pengidentifikasi unik. Setiap objek memiliki tepat satu kunci.
+ Ganti *data-bucket-version-id* dengan ID versi untuk mengidentifikasi versi tertentu dari objek Amazon S3 yang berisi data Anda. Parameter ini bersifat opsional.
+ Ganti *column-name* dengan nama kolom yang ditentukan dalam file.csv.
+ Ganti *job-name* dengan nama unik yang mengidentifikasi pekerjaan impor massal.
+ Ganti *job-role-arn* dengan peran IAM yang memungkinkan AWS IoT SiteWise untuk membaca data Amazon S3.
Pastikan peran Anda memiliki izin yang ditunjukkan dalam contoh berikut. Ganti amzn-s3-demo-bucket dengan *-data* nama bucket Amazon S3 yang berisi data Anda. Selain itu, ganti *amzn-s3-demo-bucket-for-errors* dengan nama bucket Amazon S3 tempat kesalahan yang terkait dengan pekerjaan impor massal ini dikirim.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "s3:GetObject",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket-data",
                "arn:aws:s3:::amzn-s3-demo-bucket-data/*"
            ],
            "Effect": "Allow"
        },
        {
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket-for-errors",
                "arn:aws:s3:::amzn-s3-demo-bucket-for-errors/*"
            ],
            "Effect": "Allow"
        }
    ]
}
```

```
{
   "adaptiveIngestion": adaptive-ingestion-flag,
   "deleteFilesAfterImport": delete-files-after-import-flag,       
   "errorReportLocation": { 
      "bucket": "amzn-s3-demo-bucket-for-errors",
      "prefix": "amzn-s3-demo-bucket-for-errors-prefix"
   },
   "files": [ 
      { 
         "bucket": "amzn-s3-demo-bucket-data",
         "key": "data-bucket-key",
         "versionId": "data-bucket-version-id"
      }
   ],
   "jobConfiguration": { 
      "fileFormat": { 
         "csv": { 
            "columnNames": [ "column-name" ]
         }
      }
   },
   "jobName": "job-name",
   "jobRoleArn": "job-role-arn"    
}
```

**Example response**  

```
{
   "jobId":"f8c031d0-01d1-4b94-90b1-afe8bb93b7e5",
   "jobStatus":"PENDING",
   "jobName":"myBulkImportJob"
}
```

# Jelaskan pekerjaan impor AWS IoT SiteWise massal (AWS CLI)
<a name="DescribeBulkImportJob"></a>

Gunakan operasi [DescribeBulkImportJob](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeBulkImportJob.html)API untuk mengambil informasi tentang pekerjaan impor massal tertentu di AWS IoT SiteWise. Operasi ini mengembalikan detail seperti status pekerjaan, waktu pembuatan, dan informasi kesalahan jika pekerjaan gagal. Anda dapat menggunakan operasi ini untuk memantau kemajuan pekerjaan dan memecahkan masalah. Untuk menggunakannya`DescribeBulkImportJob`, Anda memerlukan ID pekerjaan dari `CreateBulkImportJob` operasi. API mengembalikan informasi berikut:
+ Daftar file yang diimpor, termasuk lokasi dan kunci bucket Amazon S3
+ Lokasi laporan kesalahan (jika ada)
+ Detail konfigurasi pekerjaan, seperti format file dan nama kolom CSV
+ Pembuatan Job dan stempel waktu pembaruan terakhir
+ Status pekerjaan saat ini (misalnya, apakah pekerjaan sedang berlangsung, selesai, atau gagal)
+ Peran IAM ARN digunakan untuk pekerjaan impor

Untuk pekerjaan yang telah selesai, tinjau hasilnya untuk mengonfirmasi integrasi data yang berhasil. Jika pekerjaan gagal, periksa detail kesalahan untuk mendiagnosis dan menyelesaikan masalah.

Ganti *job-ID* dengan ID pekerjaan impor massal yang ingin Anda ambil.

```
aws iotsitewise describe-bulk-import-job --job-id job-ID
```

**Example response**  

```
{
   "files":[
      {
         "bucket":"amzn-s3-demo-bucket1",
         "key":"100Tags12Hours.csv"
      },
      {
         "bucket":"amzn-s3-demo-bucket2",
         "key":"BulkImportData1MB.csv"
      },
      {
         "bucket":"	amzn-s3-demo-bucket3",
         "key":"UnmodeledBulkImportData1MB.csv"
      }
   ],
   "errorReportLocation":{
      "prefix":"errors/",
      "bucket":"amzn-s3-demo-bucket-for-errors"
   },
   "jobConfiguration":{
      "fileFormat":{
         "csv":{
            "columnNames":[
               "ALIAS",
               "DATA_TYPE",
               "TIMESTAMP_SECONDS",
               "TIMESTAMP_NANO_OFFSET",
               "QUALITY",
               "VALUE"
            ]
         }
      }
   },
   "jobCreationDate":1645745176.498,
   "jobStatus":"COMPLETED",
   "jobName":"myBulkImportJob",
   "jobLastUpdateDate":1645745279.968,
   "jobRoleArn":"arn:aws:iam::123456789012:role/DemoRole",
   "jobId":"f8c031d0-01d1-4b94-90b1-afe8bb93b7e5"
}
```

# Daftar pekerjaan impor AWS IoT SiteWise massal (AWS CLI)
<a name="ListBulkImportJobs"></a>

Gunakan operasi [ListBulkImportJobs](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ListBulkImportJobss.html)API untuk mengambil daftar ringkasan untuk pekerjaan impor massal di. AWS IoT SiteWise Operasi ini menyediakan cara yang efisien untuk memantau dan mengelola proses impor data Anda. Ini mengembalikan informasi kunci berikut untuk setiap pekerjaan:
+ ID Pekerjaan. Pengidentifikasi unik untuk setiap pekerjaan impor massal
+ Nama Job. Nama yang Anda tetapkan untuk pekerjaan saat membuatnya
+ Status saat ini. Status pekerjaan saat ini (misalnya, SELESAI, BERJALAN, GAGAL)

ListBulkImportJobs sangat berguna untuk mendapatkan gambaran menyeluruh dari semua pekerjaan impor massal Anda. Ini dapat membantu Anda melacak beberapa impor data, mengidentifikasi pekerjaan apa pun yang memerlukan perhatian, dan mempertahankan alur kerja yang terorganisir. Operasi ini mendukung pagination, memungkinkan Anda untuk mengambil sejumlah besar ringkasan pekerjaan secara efisien. Anda dapat menggunakan pekerjaan yang IDs dikembalikan oleh operasi ini dengan [DescribeBulkImportJob](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeBulkImportJob.html)operasi untuk mengambil informasi lebih rinci tentang pekerjaan tertentu. Proses dua langkah ini memungkinkan Anda untuk terlebih dahulu mendapatkan pandangan tingkat tinggi dari semua pekerjaan, dan kemudian menelusuri detail pekerjaan yang diminati. Saat menggunakan`ListBulkImportJobs`, Anda dapat menerapkan filter untuk mempersempit hasil. Misalnya, Anda dapat memfilter pekerjaan berdasarkan statusnya untuk mengambil hanya pekerjaan yang telah selesai atau hanya menjalankan pekerjaan. Fitur ini membantu Anda fokus pada informasi yang paling relevan untuk tugas Anda saat ini. Operasi juga mengembalikan a `nextToken` jika ada lebih banyak hasil yang tersedia. Anda dapat menggunakan token ini dalam panggilan berikutnya untuk mengambil kumpulan ringkasan pekerjaan berikutnya, memungkinkan Anda untuk mengulangi semua pekerjaan impor massal Anda bahkan jika Anda memiliki sejumlah besar dari mereka. Contoh berikut menunjukkan bagaimana menggunakan `ListBulkImportJobs` dengan AWS CLI untuk mengambil daftar pekerjaan selesai.

```
aws iotsitewise list-bulk-import-jobs --filter COMPLETED
```

**Example Respon untuk filter pekerjaan yang telah selesai**  

```
{
   "jobSummaries":[
      {
         "id":"bdbbfa52-d775-4952-b816-13ba1c7cb9da",
         "name":"myBulkImportJob",
         "status":"COMPLETED"
      },
      {
         "id":"15ffc641-dbd8-40c6-9983-5cb3b0bc3e6b",
         "name":"myBulkImportJob2",
         "status":"COMPLETED"
      }
   ]
}
```

Perintah ini menunjukkan bagaimana menggunakan `ListBulkImportJobs` untuk mengambil daftar pekerjaan yang selesai dengan kegagalan. Maksimum diatur ke 50 hasil dan kami menggunakan token berikutnya untuk hasil paginasi.

```
aws iotsitewise list-bulk-import-jobs --filter COMPLETED_WITH_FAILURES --max-results 50 --next-token "string"
```