คุณกําลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X info
Edge Analytics มีชุดแดชบอร์ดแบบอินเทอร์แอกทีฟที่หลากหลาย เครื่องมือสร้างรายงานที่กําหนดเอง และความสามารถที่เกี่ยวข้อง อย่างไรก็ตาม ฟีเจอร์เหล่านี้มีไว้เพื่อโต้ตอบ: คุณส่งคําขอ API หรือ UI และระบบจะบล็อกคําขอจนกว่าเซิร์ฟเวอร์ข้อมูลวิเคราะห์จะตอบกลับ
อย่างไรก็ตาม คำขอข้อมูลวิเคราะห์อาจหมดเวลาหากใช้เวลานานเกินไป หากคำขอการค้นหาต้องประมวลผลข้อมูลจำนวนมาก (เช่น 100 GB) คำขออาจดำเนินการไม่สำเร็จเนื่องจากหมดเวลา
การประมวลผลการค้นหาแบบไม่พร้อมกันช่วยให้คุณค้นหาชุดข้อมูลขนาดใหญ่และเรียกดูผลลัพธ์ในภายหลังได้ คุณอาจพิจารณาใช้การค้นหาแบบออฟไลน์เมื่อพบว่าการค้นหาแบบอินเทอร์แอกทีฟหมดเวลา สถานการณ์ที่การประมวลผลคําค้นหาแบบไม่สอดคล้องกันอาจเป็นทางเลือกที่ดี ได้แก่
- การวิเคราะห์และสร้างรายงานที่ครอบคลุมช่วงเวลาที่นาน
- การวิเคราะห์ข้อมูลด้วยมิติข้อมูลการจัดกลุ่มที่หลากหลายและข้อจำกัดอื่นๆ ที่เพิ่มความซับซ้อนให้กับการค้นหา
- การจัดการการค้นหาเมื่อคุณพบว่าปริมาณข้อมูลของผู้ใช้หรือองค์กรบางรายเพิ่มขึ้นอย่างมาก
เอกสารนี้อธิบายวิธีเริ่มการค้นหาแบบไม่สอดคล้องกันโดยใช้ 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
แล้ว คุณจะใช้ get results API เพื่อเรียกดูผลลัพธ์ได้ โดยรหัสการค้นหาจะเป็น 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 ที่เข้ารหัสไฟล์ ZIP (คั่นด้วยบรรทัดใหม่) ชื่อของไฟล์ที่ดาวน์โหลดจะเป็น
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 |
เดือนที่เรียกเก็บเงินสำหรับรายงาน เช่น JULY | ไม่มี | ใช่ |
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