Veri kümesi oluşturma iki adımlı bir işlemdir:
Veri kümesini oluşturma isteğinde bulunun.
Veri kümesine veri yükleme isteğinde bulunun.
İlk veri yükleme işleminden sonra, veri kümesine yeni veriler yükleyerek yeni bir sürüm oluşturabilirsiniz.
Veri kümesini oluşturma
Veri kümesi oluşturmak içinPOST
veri kümeleri uç noktası:
https://mapsplatformdatasets.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID/datasets
JSON gövdesi iletme isteğe bağlı olarak kullanırız. Bu politika uyarınca:
Veri kümesinin
displayName
öğesini belirtin.displayName
değeri tüm veri kümeleri için benzersiz olmalıdır.usage
değeriniUSAGE_DATA_DRIVEN_STYLING
olarak ayarlayın.
Örneğin:
curl -X POST -d '{ "displayName": "My Test Dataset", "usage": "USAGE_DATA_DRIVEN_STYLING" }' \ -H 'X-Goog-User-Project: PROJECT_NUMBER_OR_ID' \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $TOKEN" \ "https://mapsplatformdatasets.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID/datasets"
Yanıt, veri kümesinin kimliğini şu biçimde içerir:
projects/PROJECT_NUMBER_OR_ID/datasets/DATASET_ID
.
ek bilgilerle birlikte gönderebilirsiniz. Veri kümesi kimliğini kullanarak
veri kümesini güncelleyebilir veya değiştirebilir.
{ "name": "projects/PROJECT_NUMBER_OR_ID/datasets/f57074a0-a8b6-403e-9df1-e9fc46", "displayName": "My Test Dataset", "usage": [ "USAGE_DATA_DRIVEN_STYLING" ], "createTime": "2022-08-15T17:50:00.189682Z", "updateTime": "2022-08-15T17:50:00.189682Z" }
Veri kümesine veri yükleme
Veri kümesini oluşturduktan sonra Google Cloud Storage veya yerel bir dosyadan veri kümesine eklenir.
Yükleme işlemi eşzamansız olarak yapılır. Yüklendikten sonra veriler otomatik olarak alıp işleme koyduk. Yani, izleme amacıyla bir HTTP GET isteği göndermeniz kullanıma hazır olup olmadığını belirlemek için göz attım. Daha fazla bilgi için Veri işlemeyi alma başlıklı makaleyi inceleyin. durum.
Cloud Storage'dan veri yükleme
Cloud Storage'dan veri kümenize veri kümesine POST
isteği göndererek
veri kümeleri uç noktası da
veri kümesinin kimliğini içerir:
https://mapsplatformdatasets.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID/datasets/DATASET_ID:import
JSON istek gövdesinde:
Verileri içeren kaynağın dosya yolunu belirtmek için
inputUri
değerini kullanın . Bu yol,gs://GCS_BUCKET/FILE
İstekte bulunan kullanıcı için Storage Nesnesi Görüntüleyen rolü veya
storage.objects.get
iznini içeren başka bir rol. Örneğin, Cloud Storage'a erişimi yönetme hakkında daha fazla bilgi için bkz. Erişim denetimine genel bakış.Verilerin dosya biçimini aşağıdaki şekilde belirtmek için
fileFormat
kullanın:FILE_FORMAT_GEOJSON
(GeoJson dosyası),FILE_FORMAT_KML
(KML dosyası) veyaFILE_FORMAT_CSV
(CSV dosyası).
Örneğin:
curl -X POST -d '{ "gcs_source":{ "inputUri": "gs://my_bucket/my_csv_file", "fileFormat": "FILE_FORMAT_CSV" } }' \ -H 'X-Goog-User-Project: PROJECT_NUMBER_OR_ID' \ -H "content-type: application/json" \ -H "Authorization: Bearer $TOKEN" \ "https://mapsplatformdatasets.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID/datasets/f57074a0-a8b6-403e-9df1-e9fc46:import"
Yanıt şu biçimdedir:
{ "name": "projects/PROJECT_NUMBER_OR_ID/datasets/DATASET_ID@VERSION_NUMBER" }
Dosyadan veri yükleme
Bir dosyadan veri yüklemek için şuraya HTTP POST
isteği gönderin
veri kümeleri uç noktası da
veri kümesinin kimliğini içerir:
https://mapsplatformdatasets.googleapis.com/upload/v1/projects/PROJECT_NUMBER_OR_ID/datasets/DATASET_ID:import.
İstek şunları içeriyor:
Goog-Upload-Protocol
başlığımultipart
olarak ayarlandı.metadata
özelliği, Yüklenecek verilerin türü. Bunlar şunlardan biridir:FILE_FORMAT_GEOJSON
(GeoJSON dosyası),FILE_FORMAT_KML
(KML dosyası) veyaFILE_FORMAT_CSV
(CSV dosyası).Bu dosyanın içeriği aşağıdaki biçimdedir:
{"local_file_source": {"file_format": "FILE_FORMAT_GEOJSON"}}
GeoJSON, KML veya CSV dosyasının yolunu belirten
rawdata
özelliği ekleyebilirsiniz.
Aşağıdaki istekte, iki öğenin yolunu belirtmek için curl -F
seçeneği kullanılmaktadır
dosyalar:
curl -X POST \ -H 'X-Goog-User-Project: PROJECT_NUMBER_OR_ID' \ -H "Authorization: Bearer $TOKEN" \ -H "X-Goog-Upload-Protocol: multipart" \ -F "metadata=@csv_metadata_file" \ -F "rawdata=@csv_data_file" \ "https://mapsplatformdatasets.googleapis.com/upload/v1/projects/PROJECT_NUMBER_OR_ID/datasets/f57074a0-a8b6-403e-9df1-e9fc46:import"
Yanıt şu biçimdedir:
{ "name": "projects/PROJECT_NUMBER_OR_ID/datasets/DATASET_ID@VERSION_NUMBER" }
Veri işleme durumunu al
Yükleme işlemi eşzamansız olarak yapılır. Yani, yükleme işlemi için API çağrısından sonra daha sonra, sonuçları veri kümesinden başarılı olup olmadığını gösterir.
state
değerini belirlemek için
veri kümesi için Veri kümesi alma'yı kullanın. Örneğin veriler,
işlendiğinde, state
STATE_PROCESSING
olarak ayarlanır. Veri kümesi hazır olduğunda
uygulamanızda kullanmak üzere state
, STATE_COMPLETED
olarak ayarlandı.
Örneğin, veri kümesinde bir GET çağrısı yapın:
curl -X GET \ -H "X-Goog-User-Project: PROJECT_NUMBER_OR_ID" \ -H "Authorization: Bearer $TOKEN" \ "https://mapsplatformdatasets.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID/datasets/f57074a0-a8b6-403e-9df1-e9fc46"
Başarılı bir yükleme için veri kümesinin state
öğesi STATE_COMPLETED
şeklindedir:
{ "name": "projects/119757857/datasets/f57074a0-a8b6-403e-9df1-e9fc46", "displayName": "My Test Dataset", "description": " ", "versionId": "837c5a9e-c885-4a5f-a462-7e35673e5218", "usage": [ "USAGE_DATA_DRIVEN_STYLING" ], "localFileSource": { "filename": "Parks_Properties_20240529.csv", "fileFormat": "FILE_FORMAT_CSV" }, "createTime": "2024-05-30T16:41:11.130816Z", "updateTime": "2024-05-30T16:41:14.416130Z", "versionCreateTime": "2024-05-30T16:41:14.416130Z", "status": { "state": "STATE_COMPLETED", }, "sizeBytes": "6916924", "downloadable": true }
Veri işleme başarısız olduğunda state
, şundan farklı bir değere ayarlanır:
STATE_COMPLETED
; örneğin STATE_PUBLISHING_FAILED
veya
_FAILED
dizesi.
Örneğin, verileri bir veri kümesine yükler ve ardından bir GET
veri kümesi ayrıntılarını alma isteğinde bulunur. state
özelliğiyle birlikte,
yanıt, açıklama içeren tek bir errorMessage
özelliği de içeriyor
anlamına gelir.
{ "name": "projects/119757857/datasets/f57074a0-a8b6-403e-9df1-e9fc46", "displayName": "My Test Dataset", "description": " ", "versionId": "837c5a9e-c885-4a5f-a462-7e35673e5218", "usage": [ "USAGE_DATA_DRIVEN_STYLING" ], "localFileSource": { "filename": "Parks_Properties_20240529.csv", "fileFormat": "FILE_FORMAT_CSV" }, "createTime": "2024-05-30T16:41:11.130816Z", "updateTime": "2024-05-30T16:41:14.416130Z", "versionCreateTime": "2024-05-30T16:41:14.416130Z", "status": { "state": "STATE_PUBLISHING_FAILED", "errorMessage": "INVALID_ARGUMENT: Skipping row because address could not be geocoded: 5521 18 AVENUE (from line 79)" }, "sizeBytes": "6916924", "downloadable": true }
Veri işleme hataları al
Veri kullanımı ve işleme başarısız olduğunda errorMessage
mülkü bir
ve hatayı açıklayan tek bir ileti görüntülenir. Ancak tek bir hata mesajı
, sorunları tespit edip çözmek için yeterli bilgi sağlamalıdır.
Hata bilgilerinin tamamını almak için
fetchDatasetErrors
API'ye gidin. Bu API, bir veri kümesiyle ilişkili tüm veri işleme hatalarını döndürür:
curl -X GET \ -H "X-Goog-User-Project: PROJECT_NUMBER_OR_ID" \ -H "Authorization: Bearer $TOKEN" \ "https://mapsplatformdatasets.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID/datasets/f57074a0-a8b6-403e-9df1-e9fc46:fetchDatasetErrors"
Yanıt, errors
dizisini içerir. Bu dizide en fazla 50 adet hata bulunuyor
Status
yazın
ve toplamda en fazla 500 hatayı destekler:
{ "nextPageToken": "cigKJkIkMTU3MzM0NjQtYzlmMy00YzYxLWIxM2YtYmVkYjFjYjRkYzRj", "errors": [ { "code": 3, "message": "INVALID_ARGUMENT: No address was derived from fields 2. (from line 631)" }, { "code": 3, "message": "INVALID_ARGUMENT: No address was derived from fields 2. (from line 457)" }, { "code": 3, "message": "INVALID_ARGUMENT: No address was derived from fields 2. (from line 31)" }, ... ] }
Hata sayısı 50'den fazlaysa, yani birden fazla sayfa
hatalarının ardından yanıt, nextPageToken
alanında bir sayfa jetonu içerir.
Aşağıdaki değeri, sonraki bir çağrının pageToken
sorgu parametresine aktararak
hata mesajını göreceksiniz. nextPageToken
boş olduğunda başka sayfa olmaz.
Örneğin, önceki hata sayfasında bulunan jetonu kullanarak yanıt:
curl -X GET \ -H "content-type: application/json" \ -H "X-Goog-User-Project: PROJECT_NUMBER_OR_ID" \ -H "Authorization: Bearer $TOKEN" \ "https://mapsplatformdatasets.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID/datasets/f57074a0-a8b6-403e-9df1-e9fc46:fetchDatasetErrors?pageToken=cigKJkIkMTU3MzM0NjQtYzlmMy00YzYxLWIxM2YtYmVkYjFjYjRkYzRj"
Varsayılan olarak yanıt, sayfa başına en fazla 50 hata içerir. Tekliflerinizi otomatikleştirmek ve optimize etmek için
sayfa boyutunu kontrol etmek için pageSize
sorgu parametresini kullanın.
Veri kümesine yeni veri yükleme
Veri kümesini oluşturup ilk verileri başarıyla yükledikten sonra, durum
veri kümesinin yüzdesi STATE_COMPLETED
olarak ayarlandı. Bu, veri kümesinin
elde edersiniz. Veri kümesinin state
değerini belirlemek için
veri kümesi bulunmalıdır.
Ayrıca, veri kümesine yeni veriler yükleyerek veri kümesiyle eşleştirilir. Yeni veri yüklemek için Veri yükleme işlemini izleyerek yeni verileri yükleyin. Cloud Storage'dan veya Bir dosyadan veri yükleyin, ve yüklenecek yeni verileri belirtin.
Yeni veriler başarıyla yüklenirse:
Veri kümesinin yeni sürümünün durumu
STATE_COMPLETED
olarak ayarlanır.Yeni sürüm "etkin" hale gelir sürümünü temsil eder ve uygulamasını indirin.
Yükleme işleminde hata varsa:
Yeni veri kümesi sürümünün durumu, aşağıdaki durumlardan birine ayarlanır:
STATE_IMPORT_FAILED
STATE_PROCESSING_FAILED
STATE_PUBLISHING_FAILED
STATE_DELETION_FAILED
Önceki veri kümesinin başarılı sürümü "etkin" olarak kalır ve uygulamanızın kullandığı sürüm.