שליחת שאילתות לרשת כדי לקבל מידע שמאוחסן בספר החשבונות, כמו חשבונות ועסקאות.
הגישה לשדות רגישים מסוימים, כמו יתרות בחשבון, עשויה להיות מוגבלת על סמך זהות השולח שנגזרת מהחתימה בבקשה. אם לשולח אין הרשאה, שדות רגישים יצונזרו מהתשובה וידווחו בשדה redactedFields.
בקשת HTTP
POST https://universalledger.googleapis.com/v1/{endpoint=projects/*/locations/*/endpoints/*}:queryData כתובות ה-URL כתובות בתחביר של gRPC Transcoding.
פרמטרים של הנתיב
| פרמטרים | |
|---|---|
endpoint |
חובה. נקודת הקצה (endpoint) שממלאת את הבקשה. פורמט: |
גוף הבקשה
גוף הבקשה מכיל נתונים במבנה הבא:
| ייצוג ב-JSON |
|---|
{ "serializedSignedQueryRequest": string } |
| שדות | |
|---|---|
serializedSignedQueryRequest |
חובה. מחרוזת בקידוד Base64. |
גוף התשובה
הודעת תגובה ל-endpoints.queryData.
אם הפעולה מצליחה, גוף התשובה מכיל נתונים במבנה הבא:
| ייצוג ב-JSON |
|---|
{ "redactedFields": [ { object ( |
| שדות | |
|---|---|
redactedFields[] |
מציין אילו שדות צונזרו מהתגובה בגלל הגבלות הרשאה. |
| התוצאה הספציפית לשאילתה. ברשימה הבאה מופיעים שדות שמוציאים זה את זה. בתשובה יוגדר לכל היותר אחד מהשדות הבאים: | |
account |
פרטי החשבון, אם השאילתה הייתה לגבי חשבון. |
transactionState |
מצב העסקה, אם השאילתה הייתה לגבי עסקה. |
| סוף השדות שמוציאים זה את זה. | |
היקפי הרשאות
נדרש היקף ההרשאות הבא של OAuth:
https://www.googleapis.com/auth/cloud-platform
ניתן למצוא מידע נוסף כאן: Authentication Overview.
הרשאות IAM
נדרשת הרשאת IAM הבאה במשאב endpoint:
universalledger.endpoints.readNetwork
מידע נוסף זמין במאמרי העזרה בנושא IAM.
TransactionState
הסטטוס של העסקה.
| ייצוג ב-JSON |
|---|
{
"transactionAttempts": [
{
object ( |
| שדות | |
|---|---|
transactionAttempts[] |
רשומה אחת לכל שליחה ידועה של העסקה למאמת שמטפל בבקשה. |
RedactedField
מידע על שדה מצונזר בתשובה.
| ייצוג ב-JSON |
|---|
{
"redactedPath": string,
"reason": string,
"reasonCode": enum ( |
| שדות | |
|---|---|
redactedPath |
פלט בלבד. נתיבי השדות המלאים שצונזרו מהמטען הייעודי (payload). זוהי רשימה מופרדת בפסיקים של שמות שדות שמוגדרים במלואם. דוגמה: |
reason |
פלט בלבד. הסבר קריא לאנשים על הסיבה לצנזור השדות. |
reasonCode |
פלט בלבד. קוד קריא למכונה שמסביר למה השדות צונזרו. |
קוד
קודי השגיאה הקנוניים של ממשקי ה-API של gRPC.
לפעמים יכולים להיות כמה קודי שגיאה. השירותים צריכים להחזיר את קוד השגיאה הספציפי ביותר שרלוונטי. לדוגמה, אם שני הקודים רלוונטיים, עדיף להשתמש ב-OUT_OF_RANGE ולא ב-FAILED_PRECONDITION. באופן דומה, עדיף להשתמש ב-NOT_FOUND או ב-ALREADY_EXISTS במקום ב-FAILED_PRECONDITION.
| טיפוסים בני מנייה (enum) | |
|---|---|
OK |
לא שגיאה, מוחזרת כשהפעולה מצליחה. מיפוי HTTP: 200 OK |
CANCELLED |
הפעולה בוטלה, בדרך כלל על ידי מבצע הקריאה. מיפוי HTTP: 499 Client Closed Request |
UNKNOWN |
שגיאה לא ידועה. לדוגמה, השגיאה הזו יכולה להופיע כשערך מיפוי HTTP: 500 שגיאת שרת פנימית |
INVALID_ARGUMENT |
הלקוח ציין ארגומנט לא תקין. חשוב לשים לב שהמאפיין הזה שונה מ- מיפוי HTTP: 400 Bad Request |
DEADLINE_EXCEEDED |
המועד האחרון חלף לפני שהפעולה הסתיימה. בפעולות שמשנות את מצב המערכת, יכול להיות שהשגיאה הזו תוחזר גם אם הפעולה הושלמה בהצלחה. לדוגמה, יכול להיות שתגובה מוצלחת מהשרת התעכבה מספיק זמן כדי שהמועד האחרון יחלוף. מיפוי HTTP: 504 הזמן שהוקצב לשער חלף |
NOT_FOUND |
ישות מבוקשת כלשהי (למשל, קובץ או ספרייה) לא נמצאה. הערה למפתחי שרתים: אם בקשה נדחית עבור קבוצה שלמה של משתמשים, למשל השקה הדרגתית של תכונה או רשימת היתרים לא מתועדת, אפשר להשתמש ב- מיפוי HTTP: שגיאת 404 |
ALREADY_EXISTS |
הישות שהלקוח ניסה ליצור (למשל, קובץ או ספרייה) כבר קיימת. מיפוי HTTP: 409 Conflict |
PERMISSION_DENIED |
למבצע הקריאה אין הרשאה לבצע את הפעולה שצוינה. אסור להשתמש ב- מיפוי HTTP: 403 Forbidden |
UNAUTHENTICATED |
בבקשה אין פרטי כניסה תקפים לאימות הפעולה. מיפוי HTTP: 401 Unauthorized |
RESOURCE_EXHAUSTED |
משאב כלשהו מוצה, אולי מכסה לכל משתמש, או אולי נגמר המקום במערכת הקבצים כולה. מיפוי HTTP: 429 Too Many Requests |
FAILED_PRECONDITION |
הפעולה נדחתה כי המערכת לא במצב שנדרש לביצוע הפעולה. לדוגמה, הספרייה שרוצים למחוק לא ריקה, פעולת rmdir מופעלת על משהו שהוא לא ספרייה וכו'. מפתחי שירותים יכולים להשתמש בהנחיות הבאות כדי להחליט בין מיפוי HTTP: 400 Bad Request |
ABORTED |
הפעולה בוטלה, בדרך כלל בגלל בעיה בו-זמנית כמו כשל בבדיקת רצף או ביטול עסקה. בהנחיות שלמעלה מוסבר איך לבחור בין מיפוי HTTP: 409 Conflict |
OUT_OF_RANGE |
הפעולה בוצעה מחוץ לטווח התקין. למשל, חיפוש או קריאה מעבר לסוף הקובץ. בניגוד ל- יש חפיפה מסוימת בין מיפוי HTTP: 400 Bad Request |
UNIMPLEMENTED |
הפעולה לא הוטמעה או לא נתמכת/מופעלת בשירות הזה. מיפוי HTTP: 501 Not Implemented |
INTERNAL |
שגיאות פנימיות. המשמעות היא שחלק מהקבועים שהמערכת הבסיסית מצפה להם הופרו. קוד השגיאה הזה שמור לשגיאות חמורות. מיפוי HTTP: 500 שגיאת שרת פנימית |
UNAVAILABLE |
השירות הזה לא זמין כרגע. סביר להניח שמדובר במצב זמני, שאפשר לתקן על ידי ניסיון חוזר עם השהיה. חשוב לזכור שלא תמיד בטוח לנסות שוב פעולות שהן לא אידמפוטנטיות. בהנחיות שלמעלה מוסבר איך לבחור בין מיפוי HTTP: 503 Service Unavailable |
DATA_LOSS |
אובדן נתונים או פגיעה בנתונים שלא ניתן לשחזר. מיפוי HTTP: 500 שגיאת שרת פנימית |