เส้นทางทรัพยากรของรายการคลังข้อมูล
รูปแบบ:
- universes/{universe_id}/data-stores/{data_store_id}/entries/{data_store_entry_id}
- universes/{universe_id}/data-stores/{data_store_id}/scopes/{data_store_scope_id}/entries/{data_store_entry_id}.
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
รายการคีย์-ค่าในคลังข้อมูล
เส้นทางทรัพยากรของรายการคลังข้อมูล
รูปแบบ:
เวลาที่เก็บข้อมูลสร้างเข้าสู่ระบบเมื่อถูกสร้างขึ้น. สตริงนี้มีรูปแบบประทับเวลา
รหัสการแก้ไขของรายการคลังข้อมูล
การแก้ไขรุ่นใหม่จะถูกส่งเมื่อมีการเปลี่ยนแปลงบันทึกข้อมูลในทางใดทางหนึ่ง
รูปแบบเป็นสตริงสุ่ม ตัวอย่าง: "foo".
เวลาที่สร้างรุ่นเมื่อสร้างรุ่น. สตริงนี้มีรูปแบบประทับเวลา
สถานะของการเข้าสู่ร้านข้อมูล
มูลค่าที่เป็นไปได้:
| ค่า | คําอธิบาย | | --- | --- | | STATE_UNSPECIFIED | ค่าเริ่มต้นค่านี้จะใช้หากสถานะถูกข้าม| | ใช้งาน | สถานะเริ่มต้นของรายการที่เก็บข้อมูลใหม่ที่สร้างขึ้น| | ลบแล้ว | การบันทึกคลังข้อมูลถูกบอกว่าถูกลบในจุดหนึ่งในอนาคตมันจะถูกลบอย่างถาวร |. ค่าที่เป็นไปได้:
สรุปนี้จะคำนวณโดยเซิร์ฟเวอร์ตามค่าของฟิลด์อื่น ๆ และอาจถูกส่งในคำขออัปเดตและลบ (และอาจเป็นวิธีการที่กําหนดเองบางอย่าง) เพื่อให้แน่ใจว่าไคลเอนต์มีค่าล่าสุดก่อนดําเนินการต่อ.
มูลค่าของรายการ.
ค่า JSON จะเป็น null, boolean, string, number, array หรือ object ก็ได้
รหัสทรัพยากรของรายการ
นี่ตรงกับส่วนสุดท้ายของเส้นทางทรัพยากรและมอบให้เพื่อความสะดวกเท่านั้น.
ผู้ใช้ที่เกี่ยวข้องกับรายการ.
ชุดคุณสมบัติที่สุ่มเลือกที่เกี่ยวข้องกับรายการ.
https://apis.roblox.com
{
"path": "universes/123/data-stores/some-data-store/entries/some-data-store-entry",
"createTime": "2023-07-05T12:34:56Z",
"revisionId": "string",
"revisionCreateTime": "2023-07-05T12:34:56Z",
"state": "STATE_UNSPECIFIED",
"etag": "string",
"value": "JSON value",
"id": "string",
"users": [
"string"
],
"attributes": "object"
}
คืนรายการของรายการจากคลังข้อมูล
เฉพาะฟิลด์ path และ id เท่านั้นที่จะถูกเติม; ใช้ GetDataStoreEntry เพื่อดึงฟิลด์อื่น
ระบุขอบเขตไวด์การ์ด ( - ) เพื่อระบุรายการจากทุกขอบเขต
ID ของจักรวาล.
ID ของร้านข้อมูล.
จํานวนสูงสุดของบันทึกคลังข้อมูลที่จะส่งคืนบริการอาจ返回值น้อยกว่านี้หากไม่ระบุ จะมีการส่งคืนสูงสุด 10 รายการเก็บข้อมูลมูลค่าสูงสุดคือ 256 และมูลค่าที่สูงกว่าจะถูกตั้งค่าเป็น 256.
โทเค็นหน้าที่ได้รับจากการโทรก่อนหน้านี้เพื่อดึงหน้าต่อไป
เมื่อจัดหน้า พารามิเตอร์อื่น ๆ ทั้งหมดที่ให้กับการโทรต่อไปจะต้องตรงกับการโทรที่ให้โทเค็นหน้า.
ฟิลด์นี้อาจถูกตั้งค่าเพื่อกรองทรัพยากรที่ส่งคืน
ฟิลด์ filter สนับสนุนส่วนย่อยที่เล็กมากของ CEL:
ตัวกรองตัวอย่าง: id.startsWith("foo").
หากเป็นจริง ทรัพยากรที่ถูกกำหนดเพื่อการลบที่รอดำเนินการจะถูกรวมอยู่ในผลลัพธ์.
รายการของ DataStoreEntries ในคอลเลกชันราก
DataStoreEntries จาก DataStore หรือ DataStoreScope ที่ระบุ.
โทเคนที่คุณสามารถส่งเป็นพารามิเตอร์ pageToken เพื่อดึงหน้าถัดไป หากฟิลด์นี้ถูกข้ามไป จะไม่มีหน้าต่อไป.
curl -L -X GET 'https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries?maxPageSize=10&pageToken={string}&filter={string}&showDeleted={boolean}' \
-H 'x-api-key: {your-api-key}'
{
"dataStoreEntries": [
{
"path": "universes/123/data-stores/some-data-store/entries/some-data-store-entry",
"createTime": "2023-07-05T12:34:56Z",
"revisionId": "string",
"revisionCreateTime": "2023-07-05T12:34:56Z",
"state": "STATE_UNSPECIFIED",
"etag": "string",
"value": "JSON value",
"id": "string",
"users": [
"string"
],
"attributes": "object"
}
],
"nextPageToken": "string"
}
สร้างบันทึกด้วยรหัสและค่าที่ให้ไว้
ส่งคืนคำขอไม่ดี 400 ถ้ามีการบันทึก
ID ของจักรวาล.
ID ของร้านข้อมูล.
ID ที่จะใช้สำหรับการเข้าสู่ร้านข้อมูลซึ่งจะกลายเป็นส่วนสุดท้ายของเส้นทางทรัพยากรของร้านข้อมูล
ค่านี้ควรเป็นสตริงตัวอักษร 1-50 ตัว เราขอแนะนำให้ใช้เฉพาะตัวอักษรภาษาต่ำเท่านั้น ตัวเลข และเครื่องหมายแยกกับเท่านั้น.
curl -L -X POST 'https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries?id=my-entry' \
-H 'x-api-key: {your-api-key}' \
-H 'Content-Type: application/json' \
--data '{
"etag": "string",
"value": "JSON value",
"users": [
"string"
],
"attributes": "object"
}'
{
"path": "universes/123/data-stores/some-data-store/entries/some-data-store-entry",
"createTime": "2023-07-05T12:34:56Z",
"revisionId": "string",
"revisionCreateTime": "2023-07-05T12:34:56Z",
"state": "STATE_UNSPECIFIED",
"etag": "string",
"value": "JSON value",
"id": "string",
"users": [
"string"
],
"attributes": "object"
}
รับรายการที่กำหนดไว้
เพื่อรับรายการในรุ่นที่เฉพาะ ให้เพิ่ม @<revisionId> ที่สิ้นสุดของเส้นทาง
ตัวอย่างเช่น, เพื่อรับ my-entry ที่รหัสรุ่น 08DC3D3F43F9FCC1.0000000001.08DC3D3F43F9FCC1.01 , ใช้เส้นทาง /v2/universes/1234/data-stores/5678/entries/my-entry@08DC3D3F43F9FCC1.0000000001.08DC3D3F43F9FCC1.01 .
หากรหัสการเข้าสู่ระบบของคุณมีตัวอักษร @ หนึ่งหรือมากกว่าหนึ่งตัวและคุณต้องการรับเวอร์ชันล่าสุดแทนที่จะเป็นรุ่นใดรุ่นหนึ่งโดยเฉพาะ ให้เพิ่มรหัสรุ่นพิเศษ @latest ไปที่ด้านท้ายของเส้นทางมิฉะนั้น ส่วนของรหัสเข้าหลังสุด @ จะถูกแปลเป็นรหัสรุ่น
ตัวอย่างเช่น, เพื่อรับรุ่นล่าสุดของ my-entry , ใช้เส้นทาง /v2/universes/1234/data-stores/5678/entries/my@entry@latest .
เพื่อรับเอกสารที่มีอยู่ในเวลาที่กำหนด ให้เพิ่ม @latest:<timestamp> ที่ด้านท้ายของเส้นทางที่ <timestamp> ถูกรูปแบบตาม RFC-3339เวลาที่ให้ต้องเป็นหลังยุค Unix (1/1/1970) และไม่เกินสิบนาทีในอนาคต
ตัวอย่างเช่น, เพื่อรับการแก้ไขของ my-entry ที่มีอยู่ในวันที่ 12/2/2024 เวลา 06:00 UTC, ใช้เส้นทาง /v2/universes/1234/data-stores/5678/entries/my-entry@latest:2024-12-02T06:00:00Z .
ID ของจักรวาล.
ID ของร้านข้อมูล.
ID ของรายการ.
curl -L -X GET 'https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}' \
-H 'x-api-key: {your-api-key}'
{
"path": "universes/123/data-stores/some-data-store/entries/some-data-store-entry",
"createTime": "2023-07-05T12:34:56Z",
"revisionId": "string",
"revisionCreateTime": "2023-07-05T12:34:56Z",
"state": "STATE_UNSPECIFIED",
"etag": "string",
"value": "JSON value",
"id": "string",
"users": [
"string"
],
"attributes": "object"
}
ทำเครื่องหมายบันทึกที่ระบุสำหรับการลบ
รายการจะไม่ถูกลบทันที; แทนที่จะตั้งค่าฟิลด์ state เป็น DELETED แทน การลบถาวรจะเกิดขึ้นหลังจาก 30 วัน
เมื่อสำเร็จจะ返回 200 OK หากรายการไม่มีอยู่จะ返回 404 ไม่พบ
ID ของจักรวาล.
ID ของร้านข้อมูล.
ID ของรายการ.
curl -L -X DELETE 'https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}' \
-H 'x-api-key: {your-api-key}'
อัปเดตค่า คุณลักษณะ และผู้ใช้ของรายการ
การอัปเดตการแก้ไขเฉพาะของรายการไม่สนับสนุน ไม่สนับสนุน หากคุณระบุรหัสรุ่นในเส้นทางและ allow_missing เป็น true คำขออัปเดตจะสร้างเอนทรีใหม่ด้วยคําสันสกฤต @<revisionId> เป็นส่วนหนึ่งของกุญแจ
การอัปเดตบางส่วนไม่สนับสนุน ไม่สนับสนุน หากคุณสมบัติหรือผู้ใช้ไม่ได้รับการจัดเตรียมเมื่ออัปเดตค่า พวกเขาจะถูกล้างค่าต้องมีเสมอเมื่ออัปเดตบันทึก เมื่ออัปเดตบันทึก
ID ของจักรวาล.
ID ของร้านข้อมูล.
ID ของรายการ.
หากตั้งค่าเป็นจริงและไม่พบการเข้าสู่ร้านข้อมูล จะสร้างรายการร้านข้อมูล.
curl -L -X PATCH 'https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}?allowMissing={boolean}' \
-H 'x-api-key: {your-api-key}' \
-H 'Content-Type: application/json' \
--data '{
"etag": "string",
"value": "JSON value",
"users": [
"string"
],
"attributes": "object"
}'
{
"path": "universes/123/data-stores/some-data-store/entries/some-data-store-entry",
"createTime": "2023-07-05T12:34:56Z",
"revisionId": "string",
"revisionCreateTime": "2023-07-05T12:34:56Z",
"state": "STATE_UNSPECIFIED",
"etag": "string",
"value": "JSON value",
"id": "string",
"users": [
"string"
],
"attributes": "object"
}
เพิ่มมูลค่าของรายการที่ระบุ ทั้งมูลค่าที่มีอยู่และจำนวนการเพิ่มต้องเป็นตัวเลข
หากรายการไม่มีอยู่ จะสร้างรายการด้วยค่าที่ระบุ
การเพิ่มรุ่นที่แก้ไขเฉพาะของบันทึกมี ไม่สนับสนุน หากคุณระบุรหัสรุ่นในเส้นทาง คำขอเพิ่มจะสร้างบันทึกใหม่ด้วยคํานําหน้า @<revisionId> เป็นส่วนหนึ่งของกุญแจ
ปัญหาที่รู้จัก: ค่าอาจเพิ่มขึ้นเกินขอบเขตที่ถูกต้องของค่าเมื่อเกิดเหตุนี้ขึ้น ค่าที่ส่งกลับจะถูกจำกัดไว้ที่ช่วงที่ถูกต้อง แต่เบ็คอันด์อาจยังคงเก็บค่าเดิมไว้พฤติกรรมนี้จะถูกรักษาไว้เพื่อเหตุผลของการสอดคล้องกับรุ่นก่อนหน้า แต่อาจเปลี่ยนแปลงในรุ่นต่อไปของ API นี้
ID ของจักรวาล.
ID ของร้านข้อมูล.
ID ของรายการ.
จำนวนที่จะเพิ่มมูลค่าเข้าสู่ตัวเลข ทั้งมูลค่าที่มีอยู่และจำนวนการเพิ่มต้องเป็นตัวเลข.
ผู้ใช้ที่เกี่ยวข้องกับรายการ
หากไม่มีการจัดเตรียม รหัสผู้ใช้ที่มีอยู่จะถูกล้าง.
ชุดคุณสมบัติที่สุ่มเลือกที่เกี่ยวข้องกับรายการ
หากไม่มีการจัดเตรียม คุณลักษณะที่มีอยู่จะถูกล้าง.
curl -L -X POST 'https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}:increment' \
-H 'x-api-key: {your-api-key}' \
-H 'Content-Type: application/json' \
--data '{
"amount": "number",
"users": [
"string"
],
"attributes": "object"
}'
{
"path": "universes/123/data-stores/some-data-store/entries/some-data-store-entry",
"createTime": "2023-07-05T12:34:56Z",
"revisionId": "string",
"revisionCreateTime": "2023-07-05T12:34:56Z",
"state": "STATE_UNSPECIFIED",
"etag": "string",
"value": "JSON value",
"id": "string",
"users": [
"string"
],
"attributes": "object"
}
รายการการแก้ไขของรายการเข้าสู่คลังข้อมูล
วิธีนี้ส่งคืนเอนทรีข้อมูลบางส่วนที่มีการจัดเก็บข้อมูล
โดยเฉพาะอย่างยิ่ง เฉพาะฟิลด์ , , , , , และ เท่านั้นที่จะถูกเติมทั้งฟิลด์ path และ id จะมีคําสร้างคําสิ้นสุด @<version>
เพื่อรับเรื่องราวเต็มที่ในรุ่นปรับปรุงคุณสามารถใช้ฟิลด์ path ที่ให้มาด้วยวิธี GetDataStoreEntry เช่น GET /v1/universes/1234/data-stores/5678/entries/my-entry@<version>
ID ของจักรวาล.
ID ของร้านข้อมูล.
ID ของรายการ.
จํานวนการแก้ไขสูงสุดที่จะส่งคืนต่อหน้า
บริการอาจส่งคืนน้อยกว่าจํานวนรีวิวสูงสุดหากไม่ได้ระบุ จะมีการส่งคืนรุ่นแก้ไขสูงสุด 10 รุ่นมูลค่าสูงสุดคือ 100 ค่าและค่าที่สูงกว่าจะถูกตั้งเป็น 100.
โทเค็นหน้าที่ได้รับจากการโทรก่อนหน้านี้เพื่อดึงหน้าต่อไป
เมื่อจัดหน้า พารามิเตอร์อื่น ๆ ทั้งหมดที่ให้กับการโทรต่อไปจะต้องตรงกับการโทรที่ให้โทเค็นหน้า.
สนับสนุนชุดย่อยต่อไปนี้ของ CEL:
ตัวอย่าง:
"revision_create_time >= 2000-01-01T00:00:00Z && revision_create_time <= 2001-01-01T00:00:00Z".
รายการการแก้ไขของรายการคลังข้อมูล
การแก้ไขของ data_store_entry.
โทเคนที่คุณส่งเป็นพารามิเตอร์ pageToken เพื่อดึงหน้าถัดไป หากฟิลด์นี้ถูกข้ามไป จะไม่มีหน้าต่อไป.
curl -L -X GET 'https://apis.roblox.com/cloud/v2/universes/{universe_id}/data-stores/{data_store_id}/entries/{entry_id}:listRevisions?maxPageSize=10&pageToken={string}&filter={string}' \
-H 'x-api-key: {your-api-key}'
{
"dataStoreEntries": [
{
"path": "universes/123/data-stores/some-data-store/entries/some-data-store-entry",
"createTime": "2023-07-05T12:34:56Z",
"revisionId": "string",
"revisionCreateTime": "2023-07-05T12:34:56Z",
"state": "STATE_UNSPECIFIED",
"etag": "string",
"value": "JSON value",
"id": "string",
"users": [
"string"
],
"attributes": "object"
}
],
"nextPageToken": "string"
}