คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ
Apigee X info
Edge Analytics มี ชุดแดชบอร์ดแบบอินเทอร์แอกทีฟ เครื่องมือสร้างรายงานที่กําหนดเอง และความสามารถที่เกี่ยวข้องมากมาย อย่างไรก็ตาม ฟีเจอร์เหล่านี้มีไว้เพื่อการโต้ตอบ โดยคุณจะส่งคำขอ API หรือ UI และระบบจะบล็อกคำขอจนกว่าเซิร์ฟเวอร์วิเคราะห์จะตอบกลับ
อย่างไรก็ตาม คำขอข้อมูลวิเคราะห์อาจหมดเวลาหากใช้เวลานานเกินไป หากคำขอค้นหาต้องประมวลผลข้อมูลจำนวนมาก (เช่น หลายร้อยกิกะไบต์) คำขออาจล้มเหลวเนื่องจากหมดเวลา
การประมวลผลการค้นหาแบบอะซิงโครนัสช่วยให้คุณค้นหาชุดข้อมูลขนาดใหญ่มากและเรียกผลลัพธ์ได้ในภายหลัง คุณอาจพิจารณาใช้การค้นหาแบบออฟไลน์เมื่อพบว่าการค้นหาแบบอินเทอร์แอกทีฟหมดเวลา สถานการณ์บางอย่างที่การค้นหาแบบอะซิงโครนัสอาจเป็นทางเลือกที่ดีมีดังนี้
- การวิเคราะห์และการสร้างรายงานที่ครอบคลุมช่วงเวลาที่ยาวนาน
- การวิเคราะห์ข้อมูลด้วยมิติข้อมูลการจัดกลุ่มที่หลากหลายและข้อจํากัดอื่นๆ ที่เพิ่มความซับซ้อนให้กับการค้นหา
- การจัดการคำค้นหาเมื่อพบว่าปริมาณข้อมูลเพิ่มขึ้นอย่างมากสำหรับผู้ใช้หรือองค์กรบางราย
เอกสารนี้อธิบายวิธีเริ่มต้นการค้นหาแบบไม่พร้อมกันโดยใช้ API คุณยังใช้ UI ได้ด้วยตามที่อธิบายไว้ในการเรียกใช้รายงานที่กำหนดเอง
การเปรียบเทียบ Reports API กับ UI
สร้างและจัดการรายงานที่กำหนดเองอธิบายวิธี ใช้ UI ของ Edge เพื่อสร้างและเรียกใช้รายงานที่กำหนดเอง คุณเรียกใช้รายงานเหล่านั้นแบบพร้อมกัน หรือแบบไม่พร้อมกันก็ได้
แนวคิดส่วนใหญ่สำหรับการสร้างรายงานที่กําหนดเองด้วย UI จะใช้กับการใช้ API ได้ กล่าวคือ เมื่อสร้างรายงานที่กำหนดเองด้วย API คุณจะระบุเมตริก มิติข้อมูล และตัวกรองที่สร้างขึ้นใน Edge รวมถึงเมตริกที่กำหนดเองที่คุณสร้างขึ้นโดยใช้นโยบาย StatisticsCollector
ความแตกต่างที่สำคัญระหว่างรายงานที่สร้างใน UI กับใน API คือ รายงานที่สร้างด้วย API จะเขียนลงในไฟล์ CSV หรือ JSON (คั่นด้วยบรรทัดใหม่) แทน รายงานภาพที่แสดงใน UI
ขีดจำกัดใน Apigee Hybrid
Apigee Hybrid บังคับใช้ขีดจำกัดขนาด 30 MB ในชุดข้อมูลผลลัพธ์
วิธีทำการค้นหาข้อมูลวิเคราะห์แบบไม่พร้อมกัน
คุณทำการค้นหาข้อมูลวิเคราะห์แบบอะซิงโครนัสได้ใน3 ขั้นตอน ดังนี้
ขั้นตอนที่ 1 ส่งคำค้นหา
คุณต้องส่งคำขอ POST ไปยัง API /queries API นี้จะบอกให้ Edge ประมวลผลคำขอของคุณในเบื้องหลัง หากส่งคำค้นหาสำเร็จ API จะแสดงสถานะ 201 และรหัสที่คุณจะใช้เพื่ออ้างอิงถึงคำค้นหาในขั้นตอนต่อๆ ไป
เช่น
curl -X POST -H "Content-Type:application/json" https://api.enterprise.apigee.com/v1/organizations/myorg/environments/myenv/queries -d @json-query-file -u orgAdminEmail:password
เนื้อหาของคำขอคือคำอธิบาย JSON ของการค้นหา ในเนื้อหา JSON ให้ระบุเมตริก มิติข้อมูล และตัวกรองที่กําหนดรายงาน
ตัวอย่างไฟล์ json-query-file แสดงอยู่ด้านล่าง
{
"metrics": [
{
"name": "message_count",
"function": "sum",
"alias": "sum_txn"
}
],
"dimensions": ["apiproxy"],
"timeRange": "last24hours",
"limit": 14400,
"filter":"(message_count ge 0)"
}
ดูคำอธิบายทั้งหมดเกี่ยวกับไวยากรณ์ของเนื้อหาคำขอได้ที่เกี่ยวกับเนื้อหาคำขอด้านล่าง
ตัวอย่างการตอบกลับ
โปรดทราบว่ารหัสการค้นหา 9cfc0d85-0f30-46d6-ae6f-318d0cb961bd จะรวมอยู่ในการตอบกลับ นอกจากสถานะ HTTP 201 แล้ว state ของ enqueued ยังหมายความว่าคำขอสำเร็จด้วย
HTTP/1.1 201 Created
{
"self":"/organizations/myorg/environments/myenv/queries/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd",
"created":"2018-05-10T07:11:10Z",
"state":"enqueued",
"error":"false",
}
ขั้นตอนที่ 2 รับสถานะการค้นหา
เรียกใช้ GET เพื่อขอสถานะของการค้นหา คุณระบุรหัสการค้นหาที่ได้จากคำสั่ง POST เช่น
curl -X GET -H "Content-Type:application/json" https://api.enterprise.apigee.com/v1/organizations/myorg/environments/myenv/queries/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd -u email:password
ตัวอย่างคำตอบ
หากคำค้นหายังอยู่ระหว่างดำเนินการ คุณจะได้รับคำตอบดังนี้ โดยที่ state คือ running
{
"self": "/organizations/myorg/environments/myenv/queries/1577884c-4f48-4735-9728-5da4b05876ab",
"state": "running",
"created": "2018-02-23T14:07:27Z",
"updated": "2018-02-23T14:07:54Z"
}
หลังจากคำค้นหาเสร็จสมบูรณ์แล้ว คุณจะเห็นคำตอบลักษณะนี้ ซึ่งมีการตั้งค่า state เป็น completed
{
"self": "/organizations/myorg/environments/myenv/queries/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd",
"state": "completed",
"result": {
"self": "/organizations/myorg/environments/myenv/queries/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd/result",
"expires": "2017-05-22T14:56:31Z"
},
"resultRows": 1,
"resultFileSize": "922KB",
"executionTime": "11 sec",
"created": "2018-05-10T07:11:10Z",
"updated": "2018-05-10T07:13:22Z"
}
ขั้นตอนที่ 3 เรียกข้อมูลผลการค้นหา
หลังจากสถานะการค้นหาเป็น completed แล้ว คุณจะใช้ API get results
เพื่อดึงข้อมูลผลลัพธ์ได้ โดยที่รหัสการค้นหาจะเป็น 9cfc0d85-0f30-46d6-ae6f-318d0cb961bd อีกครั้ง
curl -X GET -H "Content-Type:application/json" -O -J https://api.enterprise.apigee.com/v1/organizations/myorg/environments/myenv/queries/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd/result -u email:password
หากต้องการดึงไฟล์ที่ดาวน์โหลดมา คุณต้องกำหนดค่าเครื่องมือที่ใช้เพื่อให้บันทึกไฟล์ที่ดาวน์โหลดไว้ในระบบ เช่น
หากใช้ cURL คุณจะใช้ตัวเลือก
-O -Jได้ตามที่แสดงด้านบนหากใช้ Postman คุณจะต้องเลือกปุ่มบันทึกและดาวน์โหลด ในกรณีนี้ ระบบจะดาวน์โหลดไฟล์ ZIP ชื่อ
responseหากใช้เบราว์เซอร์ Chrome ระบบจะยอมรับการดาวน์โหลดโดยอัตโนมัติ
หากคำขอสำเร็จและมีชุดผลลัพธ์ที่ไม่ใช่ 0 ระบบจะดาวน์โหลดผลลัพธ์ ไปยังไคลเอ็นต์เป็นไฟล์ JSON ที่ซิป (คั่นด้วยบรรทัดใหม่) ชื่อของไฟล์ที่ดาวน์โหลดจะเป็นดังนี้
OfflineQueryResult-<query-id>.zip
เช่น
OfflineQueryResult-9cfc0d85-0f30-46d6-ae6f-318d0cb961bd.zip
ไฟล์ ZIP มีไฟล์ที่เก็บถาวร .gz ของผลลัพธ์ JSON หากต้องการเข้าถึงไฟล์ JSON ให้คลายซิปไฟล์ที่ดาวน์โหลด จากนั้นใช้คำสั่ง gzip เพื่อแยกไฟล์ JSON
unzip OfflineQueryResult-9cfc0d85-0f30-46d6-ae6f-318d0cb961bd.zip
gzip -d QueryResult-9cfc0d85-0f30-46d6-ae6f-318d0cb961bd-000000000000.json.gzเกี่ยวกับเนื้อหาคำขอ
ส่วนนี้จะอธิบายพารามิเตอร์แต่ละรายการที่คุณใช้ในเนื้อหาคำขอ JSON สำหรับการค้นหาได้ ดูรายละเอียดเกี่ยวกับเมตริกและมิติข้อมูลที่คุณใช้ในคําค้นหาได้ที่การอ้างอิง Analytics
{ "metrics":[ { "name":"metric_name", "function":"aggregation_function", "alias":"metric_dispaly_name_in_results", "operator":"post_processing_operator", "value":"post_processing_operand" }, ... ], "dimensions":[ "dimension_name", ... ], "timeRange":"time_range", "limit":results_limit, "filter":"filter", "groupByTimeUnit": "grouping", "outputFormat": "format", "csvDelimiter": "delimiter" }
| พร็อพเพอร์ตี้ | คำอธิบาย | จำเป็นหรือไม่ |
|---|---|---|
metrics
|
อาร์เรย์ของเมตริก คุณระบุเมตริกอย่างน้อย 1 รายการสําหรับการค้นหาได้ โดยแต่ละเมตริกจะมี คุณต้องระบุชื่อเมตริกเท่านั้น
พร็อพเพอร์ตี้ "metrics":[
{
"name":"response_processing_latency",
"function":"avg",
"alias":"average_response_time_in_seconds",
"operator":"/",
"value":"1000"
}
]ดูข้อมูลเพิ่มเติมได้ที่ข้อมูลอ้างอิงเกี่ยวกับเมตริก มิติข้อมูล และตัวกรองของ Analytics |
ไม่ |
dimensions
|
อาร์เรย์ของมิติข้อมูลที่จะจัดกลุ่มเมตริก ดูข้อมูลเพิ่มเติมได้ที่รายการ มิติข้อมูลที่รองรับ คุณระบุได้หลายมิติข้อมูล | ไม่ |
timeRange
|
ช่วงเวลาสำหรับการค้นหา
คุณใช้สตริงที่กำหนดไว้ล่วงหน้าต่อไปนี้เพื่อระบุช่วงเวลาได้
หรือจะระบุ "timeRange": {
"start": "2018-07-29T00:13:00Z",
"end": "2018-08-01T00:18:00Z"
} |
ใช่ |
limit
|
จำนวนแถวสูงสุดที่แสดงในผลลัพธ์ได้ | ไม่ |
filter
|
นิพจน์บูลีนที่ใช้กรองข้อมูลได้ คุณสามารถรวมนิพจน์ตัวกรองโดยใช้คำว่า AND/OR และควรใส่วงเล็บให้ครบถ้วนเพื่อหลีกเลี่ยงความคลุมเครือ ดูข้อมูลเพิ่มเติมเกี่ยวกับช่องที่ใช้กรองได้ที่ข้อมูลอ้างอิงเมตริก มิติข้อมูล และตัวกรองของ Analytics ดูข้อมูลเพิ่มเติมเกี่ยวกับโทเค็นที่ใช้สร้างนิพจน์ตัวกรองได้ที่ไวยากรณ์ของนิพจน์ตัวกรอง | ไม่ |
groupByTimeUnit
|
หน่วยเวลาที่ใช้ในการจัดกลุ่มชุดผลลัพธ์ ค่าที่ถูกต้อง ได้แก่ second, minute, hour, day, week หรือ month
หากคําค้นหามี |
ไม่ |
outputFormat
|
รูปแบบเอาต์พุต ค่าที่ใช้ได้ ได้แก่ csv หรือ json ค่าเริ่มต้นคือ json
ซึ่งสอดคล้องกับ JSON ที่คั่นด้วยการขึ้นบรรทัดใหม่
หมายเหตุ: กำหนดค่าตัวคั่นสำหรับเอาต์พุต CSV โดยใช้พร็อพเพอร์ตี้ |
ไม่ |
csvDelimiter
|
ตัวคั่นที่ใช้ในไฟล์ CSV หากตั้งค่า outputFormat เป็น csv ค่าเริ่มต้นคืออักขระ , (คอมมา) อักขระตัวคั่นที่รองรับ ได้แก่ คอมมา (,), ไปป์ (|) และแท็บ (\t)
|
ไม่ |
ไวยากรณ์นิพจน์ตัวกรอง
ส่วนอ้างอิงนี้อธิบายโทเค็นที่คุณใช้สร้างนิพจน์ตัวกรองในเนื้อหาคำขอได้ ตัวอย่างเช่น นิพจน์ต่อไปนี้ใช้โทเค็น "ge" (มากกว่าหรือเท่ากับ)
"filter":"(message_count ge 0)"
| โทเค็น | คำอธิบาย | ตัวอย่าง |
|---|---|---|
in
|
รวมไว้ในรายการ | (apiproxy in 'ethorapi','weather-api') (apiproxy in 'ethorapi') (apiproxy in 'Search','ViewItem') (response_status_code in 400,401,500,501) หมายเหตุ: สตริงต้องอยู่ในเครื่องหมายคำพูด |
notin
|
ยกเว้นจากรายการ | (response_status_code notin 400,401,500,501) |
eq
|
เท่ากับ (==)
|
(response_status_code eq 504) (apiproxy eq 'non-prod') |
ne
|
ไม่เท่ากับ (!=)
|
(response_status_code ne 500) (apiproxy ne 'non-prod') |
gt
|
มากกว่า (>)
|
(response_status_code gt 500) |
lt
|
น้อยกว่า (<)
|
(response_status_code lt 500) |
ge
|
มากกว่าหรือเท่ากับ (>=)
|
(target_response_code ge 400) |
le
|
น้อยกว่าหรือเท่ากับ (<=)
|
(target_response_code le 300) |
like
|
แสดงค่าเป็นจริงหากรูปแบบสตริงตรงกับรูปแบบที่ระบุ
ตัวอย่างทางด้านขวาจะตรงกันดังนี้ - ค่าใดๆ ที่มีคำว่า "ซื้อ" - ค่าใดก็ตามที่ลงท้ายด้วย "item" - ค่าใดก็ตามที่ขึ้นต้นด้วย "Prod" - ค่าใดก็ตามที่ขึ้นต้นด้วย 4 โปรดทราบว่า response_status_code เป็นตัวเลข
|
(apiproxy like '%buy%') (apiproxy like '%item') (apiproxy like 'Prod%') |
not like
|
แสดงค่าเป็นเท็จหากรูปแบบสตริงตรงกับรูปแบบที่ระบุ | (apiproxy not like '%buy%') (apiproxy not like '%item') (apiproxy not like 'Prod%') |
and
|
ให้คุณใช้ตรรกะ "และ" เพื่อรวมนิพจน์ตัวกรองมากกว่า 1 รายการ ตัวกรองจะรวมข้อมูลที่ตรงกับเงื่อนไขทั้งหมด | (target_response_code gt 399) and (response_status_code ge 400) |
or
|
ช่วยให้คุณใช้ตรรกะ "หรือ" เพื่อประเมินนิพจน์ตัวกรองที่เป็นไปได้ต่างๆ ตัวกรองจะรวมข้อมูลที่ตรงกับเงื่อนไขอย่างน้อย 1 ข้อ | (response_size ge 1000) or (response_status_code eq 500) |
ข้อจำกัดและค่าเริ่มต้น
รายการข้อจำกัดและค่าเริ่มต้นสำหรับฟีเจอร์การประมวลผลการค้นหาแบบอะซิงโครนัสมีดังนี้
| การจำกัด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|
| ขีดจำกัดการเรียกใช้การค้นหา | ดูคำอธิบาย | คุณสามารถเรียกใช้ Management API ของ /queries ได้สูงสุด 7 ครั้งต่อชั่วโมงเพื่อเริ่มรายงานแบบไม่พร้อมกัน หากคุณใช้โควต้าการโทรเกิน API จะส่งการตอบกลับ HTTP 429 |
| ขีดจำกัดการค้นหาที่ใช้งานอยู่ | 10 | คุณมีคำค้นหาที่ใช้งานอยู่ได้สูงสุด 10 รายการสำหรับองค์กร/สภาพแวดล้อม |
| เกณฑ์เวลาดำเนินการของคำค้นหา | 6 ชั่วโมง | ระบบจะสิ้นสุดการค้นหาที่ใช้เวลานานกว่า 6 ชั่วโมง |
| ช่วงเวลาของการค้นหา | ดูคำอธิบาย | ช่วงเวลาสูงสุดที่อนุญาตสำหรับคำค้นหาคือ 365 วัน |
| ขีดจํากัดของมิติข้อมูลและเมตริก | 25 | จำนวนมิติข้อมูลและเมตริกสูงสุดที่คุณระบุได้ในเพย์โหลดการค้นหา |
เกี่ยวกับผลการค้นหา
ต่อไปนี้คือตัวอย่างผลลัพธ์ในรูปแบบ JSON เอาต์พุตประกอบด้วยแถว JSON ที่คั่นด้วยตัวคั่นการขึ้นบรรทัดใหม่
{"message_count":"10209","apiproxy":"guest-auth-v3","hour":"2018-08-07 19:26:00 UTC"}
{"message_count":"2462","apiproxy":"carts-v2","hour":"2018-08-06 13:16:00 UTC"}
…
คุณดึงผลลัพธ์จาก URL ได้จนกว่าข้อมูลในที่เก็บจะหมดอายุ ดูข้อจำกัดและค่าเริ่มต้น
ตัวอย่าง
ตัวอย่างที่ 1: ผลรวมของจำนวนข้อความ
คําค้นหาผลรวมของจํานวนข้อความในช่วง 60 นาทีที่ผ่านมา
การค้นหา
curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" https://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/queries" -d @last60minutes.json -u orgAdminEmail:password
เนื้อหาคำขอจาก last60minutes.json
{
"metrics":[
{
"name":"message_count",
"function":"sum"
}
],
"dimensions":[
"apiproxy"
],
"groupByTimeUnit":"minute",
"limit":1000,
"timeRange":"last60minutes"
}
ตัวอย่างที่ 2: ช่วงเวลาที่กำหนดเอง
ค้นหาโดยใช้ช่วงเวลาที่กำหนดเอง
การค้นหา
curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" https://api.enterprise.apigee.com/v1 /organizations/myorg/environments/test/queries" -d @last60minutes.json -u orgAdminEmail:password
เนื้อความของคำขอจาก last60minutes.json
{
"metrics":[
{
"name":"message_count",
"function":"sum"
},
{
"name":"total_response_time",
"function":"avg",
"alias":"average_response_time"
}
],
"dimensions":[
"apiproxy"
],
"groupByTimeUnit":"minute",
"limit":1000,
"timeRange":{
"start":"2018-11-01T11:00:00Z",
"end":"2018-11-30T11:00:00Z"
}
}
ตัวอย่างที่ 3: ธุรกรรมต่อนาที
ค้นหาเมตริกสำหรับธุรกรรมต่อนาที (tpm)
การค้นหา
curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" https://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/queries" -d @tpm.json -u orgAdminEmail:password
เนื้อหาคำขอจาก tpm.json
{
"metrics":[
{
"name":"tpm"
}
],
"dimensions":[
"apiproxy"
],
"groupByTimeUnit":"minute",
"limit":1000,
"timeRange":{
"start":"2018-07-01T11:00:00Z",
"end":"2018-07-30T11:00:00Z"
}
}
ผลลัพธ์ตัวอย่าง
ตัวอย่างจากไฟล์ผลลัพธ์
{"tpm":149995.0,"apiproxy":"proxy_1","minute":"2018-07-06 12:16:00 UTC"}
{"tpm":149998.0,"apiproxy":"proxy_1","minute":"2018-07-09 15:12:00 UTC"}
{"tpm":3.0,"apiproxy":"proxy_2","minute":"2018-07-11 16:18:00 UTC"}
{"tpm":148916.0,"apiproxy":"proxy_1","minute":"2018-07-15 17:14:00 UTC"}
{"tpm":150002.0,"apiproxy":"proxy_1","minute":"2018-07-18 18:11:00 UTC"}
...ตัวอย่างที่ 4: การใช้นิพจน์ตัวกรอง
ค้นหาด้วยนิพจน์ตัวกรองที่ใช้ตัวดำเนินการบูลีน
การค้นหา
curl -X POST -H "Content-Type:application/json" https://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/queries" -d @filterCombo.json -u orgAdminEmail:password
เนื้อหาคำขอจาก filterCombo.json
{
"metrics":[
{
"name":"message_count",
"function":"sum"
},
{
"name":"total_response_time",
"function":"avg",
"alias":"average_response_time"
}
],
"filter":"(apiproxy ne \u0027proxy_1\u0027) and (apiproxy ne \u0027proxy_2\u0027)",
"dimensions":[
"apiproxy"
],
"groupByTimeUnit":"minute",
"limit":1000,
"timeRange":{
"start":"2018-11-01T11:00:00Z",
"end":"2018-11-30T11:00:00Z"
}
}
ตัวอย่างที่ 5: การส่งนิพจน์ในพารามิเตอร์เมตริก
ค้นหาด้วยนิพจน์ที่ส่งเป็นส่วนหนึ่งของพารามิเตอร์เมตริก คุณใช้ได้เฉพาะนิพจน์แบบตัวดำเนินการเดียวอย่างง่ายเท่านั้น
การค้นหา
curl -X POST -H "Content-Type:application/json" https://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/queries" -d @metricsExpression.json -u orgAdminEmail:password
เนื้อหาคำขอจาก metricsExpression.json
{
"metrics":[
{
"name":"message_count",
"function":"sum",
"operator":"/",
"value":"7"
}
],
"dimensions":[
"apiproxy"
],
"groupByTimeUnit":"minute",
"limit":10,
"timeRange":"last60minutes"
}
วิธีทำการค้นหารายงานการสร้างรายได้แบบอะซิงโครนัส
คุณสามารถบันทึกธุรกรรมการสร้างรายได้ที่สำเร็จทั้งหมดภายในช่วงเวลาที่กำหนดสำหรับชุดเกณฑ์ที่เฉพาะเจาะจงได้โดยใช้ขั้นตอนที่อธิบายไว้ในส่วนนี้
เช่นเดียวกับการค้นหาข้อมูลวิเคราะห์แบบอะซิงโครนัส คุณสามารถทำการค้นหารายงานการสร้างรายได้แบบอะซิงโครนัสได้ใน3 ขั้นตอน ได้แก่ (1) ส่งการค้นหา (2) รับสถานะการค้นหา และ (3) ดึงผลการค้นหา
ขั้นตอนที่ 1 ซึ่งเป็นการส่งคำค้นหา มีคำอธิบายอยู่ด้านล่าง
ขั้นตอนที่ 2 และ 3 เหมือนกับคําค้นหาการวิเคราะห์แบบไม่พร้อมกันทุกประการ ดูข้อมูลเพิ่มเติมได้ที่วิธีทำการค้นหาข้อมูลวิเคราะห์แบบอะซิงโครนัส
หากต้องการส่งคำค้นหารายงานการสร้างรายได้แบบอะซิงโครนัส ให้ส่งคำขอ POST ไปยัง /mint/organizations/org_id/async-reports
คุณจะระบุสภาพแวดล้อมได้โดยส่งพารามิเตอร์การค้นหา environment หากไม่ได้ระบุไว้ พารามิเตอร์การค้นหาจะใช้ค่าเริ่มต้นเป็น prod เช่น
/mint/organizations/org_id/async-reports?environment=prod
ในเนื้อหาของคำขอ ให้ระบุเกณฑ์การค้นหาต่อไปนี้
| ชื่อ | คำอธิบาย | ค่าเริ่มต้น | ต้องระบุหรือไม่ |
appCriteria |
รหัสและองค์กรของแอปพลิเคชันที่เฉพาะเจาะจงที่จะรวมไว้ในรายงาน หากไม่ได้ระบุพร็อพเพอร์ตี้นี้ ระบบจะรวมแอปพลิเคชันทั้งหมดไว้ในรายงาน | ไม่มี | ไม่ |
billingMonth |
เดือนที่เรียกเก็บเงินสำหรับรายงาน เช่น กรกฎาคม | ไม่มี | ใช่ |
billingYear |
ปีที่เรียกเก็บเงินสำหรับรายงาน เช่น 2015 | ไม่มี | ใช่ |
currencyOption |
สกุลเงินสำหรับรายงาน ค่าที่ใช้ได้มีดังนี้
หากเลือก EUR, GBP หรือ USD รายงานจะแสดงธุรกรรมทั้งหมดที่ใช้สกุลเงินเดียวดังกล่าว โดยอิงตามอัตราแลกเปลี่ยนที่มีผลในวันที่ทำธุรกรรม |
ไม่มี | ไม่ |
devCriteria
|
รหัสนักพัฒนาแอปหรืออีเมล และชื่อองค์กรของนักพัฒนาแอปรายนั้น ที่จะรวมไว้ในรายงาน หากไม่ได้ระบุพร็อพเพอร์ตี้นี้ ระบบจะรวมนักพัฒนาแอปทั้งหมดไว้ในรายงาน เช่น "devCriteria":[{
"id":"RtHAeZ6LtkSbEH56",
"orgId":"my_org"}
] |
ไม่มี | ไม่ |
fromDate
|
วันที่เริ่มต้นของรายงานในเวลา UTC | ไม่มี | ใช่ |
monetizationPakageIds |
รหัสของแพ็กเกจ API อย่างน้อย 1 รายการที่จะรวมไว้ในรายงาน หากไม่ได้ระบุพร็อพเพอร์ตี้นี้ ระบบจะรวมแพ็กเกจ API ทั้งหมดไว้ในรายงาน | ไม่มี | ไม่ |
productIds
|
รหัสของผลิตภัณฑ์ API อย่างน้อย 1 รายการที่จะรวมไว้ในรายงาน หากไม่ได้ระบุพร็อพเพอร์ตี้นี้ ระบบจะรวมผลิตภัณฑ์ API ทั้งหมดไว้ในรายงาน | ไม่มี | ไม่ |
ratePlanLevels |
ประเภทแพ็กเกจราคาที่จะรวมไว้ในรายงาน ค่าที่ใช้ได้มีดังนี้
หากไม่ได้ระบุพร็อพเพอร์ตี้นี้ไว้ ทั้งแพ็กเกจราคาเฉพาะนักพัฒนาแอปและแพ็กเกจราคามาตรฐานจะรวมอยู่ในรายงาน |
ไม่มี | ไม่ |
toDate
|
วันที่สิ้นสุดของรายงานในเวลา UTC | ไม่มี | ใช่ |
ตัวอย่างเช่น คำขอต่อไปนี้จะสร้างรายงานการสร้างรายได้แบบไม่พร้อมกันสำหรับเดือนมิถุนายน 2017 สำหรับผลิตภัณฑ์ API และรหัสนักพัฒนาแอปที่ระบุ วันที่และเวลาของรายงาน fromDate และ toDate อยู่ในเขตเวลา UTC/GMT และอาจรวมเวลาด้วย
curl -H "Content-Type:application/json" -X POST -d \
'{
"fromDate":"2017-06-01 00:00:00",
"toDate":"2017-06-30 00:00:00",
"productIds": [
"a_product"
],
"devCriteria": [{
"id": "AbstTzpnZZMEDwjc",
"orgId": "myorg"
}]
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/myorg/async-reports?environment=prod" \
-u orgAdminEmail:password