Package google.type

אינדקס

תאריך

מייצג תאריך מלא או חלקי ביומן, כמו יום הולדת. השעה ביום ואזור הזמן מצוינים במקום אחר או שהם לא משמעותיים. התאריך הוא יחסי ללוח השנה הגרגוריאני. הערך הזה יכול לייצג את אחת מהאפשרויות הבאות:

  • תאריך מלא, עם ערכים שאינם אפס לשנה, לחודש וליום.
  • חודש ויום, עם שנה אפס (לדוגמה, יום נישואין).
  • שנה לבד, עם חודש אפס ויום אפס.
  • שנה וחודש, עם יום אפס (לדוגמה, תאריך התפוגה של כרטיס אשראי).

סוגים קשורים:

שדות
year

int32

השנה של התאריך. חייב להיות בין 1 ל-9999, או 0 כדי לציין תאריך ללא שנה.

month

int32

החודש בשנה. הערך חייב להיות בין 1 ל-12, או 0 כדי לציין שנה בלי חודש ויום.

day

int32

היום בחודש. הערך חייב להיות בין 1 ל-31, והוא צריך להיות תקף לשנה ולחודש, או 0 כדי לציין רק שנה או שנה וחודש שבהם היום לא משמעותי.

DateTime

מייצג זמן אזרחי (או לעיתים זמן פיזי).

הסוג הזה יכול לייצג זמן אזרחי באחת מכמה דרכים אפשריות:

  • אם ההגדרה utc_offset מוגדרת וההגדרה time_zone לא מוגדרת: שעה אזרחית ביום בלוח השנה עם קיזוז מסוים מ-UTC.
  • אם הערך של time_zone מוגדר והערך של utc_offset לא מוגדר: שעה אזרחית ביום מסוים ביומן, באזור זמן מסוים.
  • אם לא מוגדרים time_zone או utc_offset: שעה אזרחית ביום ביומן, לפי השעה המקומית.

התאריך הוא יחסי ליומן הגרגוריאני הפרוֹלֶפטי.

אם השנה, החודש או היום הם 0, התאריך והשעה נחשבים כחסרי שנה, חודש או יום ספציפיים, בהתאמה.

אפשר להשתמש בסוג הזה גם כדי לייצג זמן פיזי אם כל שדות התאריך והשעה מוגדרים, ואם מוגדר אחד מהמקרים של time_offset oneof. במקום זאת, כדאי להשתמש בהודעה Timestamp לציון זמן פיזי. אם אתם רוצים לאחסן גם את אזור הזמן של המשתמש, תוכלו לעשות זאת בשדה אחר.

הסוג הזה גמיש יותר ממה שחלק מהאפליקציות עשויות לרצות. חשוב לתעד את המגבלות של האפליקציה ולאמת אותן.

שדות
year

int32

זה שינוי אופציונלי. השנה של התאריך. חייב להיות בין 1 ל-9999, או 0 אם מציינים תאריך ושעה בלי שנה.

month

int32

זה שינוי אופציונלי. החודש בשנה. הערך צריך להיות בין 1 ל-12, או 0 אם מציינים תאריך ושעה בלי חודש.

day

int32

זה שינוי אופציונלי. היום בחודש. הערך חייב להיות בין 1 ל-31, והוא צריך להיות תקין לשנה ולחודש שצוינו. אם מציינים תאריך ושעה בלי יום, הערך צריך להיות 0.

hours

int32

זה שינוי אופציונלי. שעות ביום בפורמט של 24 שעות. הערך צריך להיות בין 0 ל-23, ברירת המחדל היא 0 (חצות). יכול להיות ש-API יאפשר את הערך '24:00:00' בתרחישים כמו שעת הסגירה של העסק.

minutes

int32

זה שינוי אופציונלי. מספר הדקות בשעה ביום. הערך חייב להיות בין 0 ל-59, וערך ברירת המחדל הוא 0.

seconds

int32

זה שינוי אופציונלי. רכיב השניות של השעה. בדרך כלל הערך צריך להיות בין 0 ל-59, וערך ברירת המחדל הוא 0. יכול להיות ש-API יאפשר את הערך 60 אם הוא מאפשר שניות מעוברות.

nanos

int32

זה שינוי אופציונלי. שברירי שניות בננו-שניות. הערך חייב להיות בין 0 ל-999,999,999. ברירת המחדל היא 0.

שדה איחוד time_offset. זה שינוי אופציונלי. מציינים את הסטייה משעון UTC או את אזור הזמן של התאריך והשעה. חשוב לבחור בקפידה ביניהן, כי יכול להיות שנתוני אזור הזמן ישתנו בעתיד (לדוגמה, מדינה משנה את תאריכי ההתחלה והסיום של שעון הקיץ, ותאריכי שעה ותאריך עתידיים בטווח המושפע כבר נשמרו). אם לא מציינים את אזור הזמן, המערכת מניחה שהתאריך והשעה הם לפי הזמן המקומי. הערך time_offset יכול להיות רק אחד מהבאים:
utc_offset

Duration

הפרש משעון UTC. הערך צריך להיות מספר שלם של שניות, בין ‎-18 שעות לבין ‎+18 שעות. לדוגמה, היסט מ-UTC של ‎-4:00 ייוצג כ-‎{ seconds: -14400 }.

time_zone

TimeZone

אזור זמן.

Expr

מייצג ביטוי טקסטואלי בתחביר של Common Expression Language ‏ (CEL). ‫CEL היא שפת ביטויים שדומה ל-C. התחביר והסמנטיקה של CEL מתועדים בכתובת https://github.com/google/cel-spec.

דוגמה (השוואה):

title: "Summary size limit"
description: "Determines if a summary is less than 100 chars"
expression: "document.summary.size() < 100"

דוגמה (שוויון):

title: "Requestor is owner"
description: "Determines if requestor is the document owner"
expression: "document.owner == request.auth.claims.email"

דוגמה (לוגיקה):

title: "Public documents"
description: "Determine whether the document should be publicly visible"
expression: "document.type != 'private' && document.type != 'internal'"

דוגמה (טיפול בנתונים):

title: "Notification string"
description: "Create a notification string with a timestamp."
expression: "'New message received at ' + string(document.create_time)"

המשתנים והפונקציות המדויקים שאפשר להפנות אליהם בתוך ביטוי נקבעים על ידי השירות שמעריך אותו. מידע נוסף מופיע במסמכי התיעוד של השירות.

שדות
expression

string

ייצוג טקסטואלי של ביטוי בתחביר של Common Expression Language.

title

string

זה שינוי אופציונלי. כותרת לביטוי, כלומר מחרוזת קצרה שמתארת את המטרה שלו. אפשר להשתמש בביטוי הזה בממשקי משתמש שמאפשרים להזין את הביטוי.

description

string

זה שינוי אופציונלי. תיאור הביטוי. זהו טקסט ארוך יותר שמתאר את הביטוי, למשל כשמעבירים מעליו את העכבר בממשק משתמש.

location

string

זה שינוי אופציונלי. מחרוזת שמציינת את המיקום של הביטוי בדוח השגיאות, למשל שם קובץ ומיקום בקובץ.

אזור זמן

מייצג אזור זמן מתוך מסד הנתונים של אזורי הזמן של IANA.

שדות
id

string

אזור הזמן של מסד הנתונים של IANA. לדוגמה, America/New_York.

version

string

זה שינוי אופציונלי. מספר הגרסה של מסד הנתונים של אזורי הזמן של IANA. לדוגמה, '2019a'.