מוצג המסמך של Apigee Edge.
עוברים אל
מסמכי תיעוד של Apigee X. מידע
גרסה: 1.4.1
ליצור, לקרוא או למחוק נתונים במסד נתונים של Cloud Firestore.
התוכן הזה כולל חומר עזר להגדרת התוסף הזה ולשימוש בו. לפני שמשתמשים בתוסף הזה משרת proxy ל-API, צריך:
יוצרים פרויקט Firebase במסוף Firebase שבו הנתונים מאוחסנים.
משתמשים בתוכן של קובץ ה-JSON של המפתח שנוצר כשמוסיפים ומגדירים את התוסף באמצעות קובץ התצורה.
מידע על Cloud Firestore
Cloud Firestore מאחסן נתונים במסמכים שמאוחסנים באוספים. Cloud Firestore יוצר אוספים ומסמכים באופן לא מפורש בפעם הראשונה שתוסיפו נתונים למסמך. אין צורך ליצור אוספים או מסמכים באופן מפורש.
מידע נוסף על Cloud Firestore אפשר למצוא במאמר בנושא תחילת העבודה עם Firestore במאמרי העזרה של Cloud Firestore.
דוגמאות
הדוגמאות הבאות ממחישות איך להגדיר תמיכה בפעולות של תוסף Cloud Firestore באמצעות מדיניות יתרונות מרכזיים של תוסף.
הוספת נתונים
בעקבות המדיניות הבאה בנושא תוספי יתרונות מרכזיים, יתווסף מסמך בשם freewill@example.com
לאוסף users
. המאפיין data
מציין את השדות והערכים של המסמך החדש.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Add-User-Data">
<DisplayName>Add User Data</DisplayName>
<Connector>my-cloud-firestore-extension</Connector>
<Action>setDocument</Action>
<Input><![CDATA[{
"colName" : "users",
"docName" : "freewill@example.com",
"data" : {
"firstName": "Will",
"lastName": "Witman",
"address": "270-8243 Tempor St.",
"city": "Fort Worth",
"region": "TX",
"postalCode": "86519",
"email": "freewill@example.com",
"username": "freewill444"
}
}]]></Input>
</ConnectorCallout>
לפרטים
בדוגמה הזו, המדיניות בנושא תוספי יתרונות מרכזיים מאחזרת את הערך של המסמך freewill@example.com
מהאוסף users
. כאן, המאפיין parsed
של הרכיב <Output>
מוגדר ל-false
כך שהתוצאה שהוחזרה תהיה JSON כמחרוזת, במקום JSON שינותח לאובייקט. למידע נוסף, ראו הפניה לרכיב <Output>
.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Get-User-Data">
<DisplayName>Get User Data</DisplayName>
<Connector>straut-cloud-firestore-extension</Connector>
<Action>getDocument</Action>
<Input><![CDATA[{
"colName" : "users",
"docName" : "freewill@example.com"
}]]></Input>
<Output parsed="false">firestore.userdata.retrieved</Output>
</ConnectorCallout>
במדיניות הבאה של הקצאת הודעה נעשה שימוש בערך של המשתנה שמאחסן את התגובה של התוסף כדי להקצות את המטען הייעודי (payload) של התגובה.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage name="CopyUserDataToResponse">
<DisplayName>Copy User Data To Response</DisplayName>
<AssignTo type="response" createNew="false"/>
<Set>
<Payload contentType="application/json">{firestore.userdata.retrieved}</Payload>
</Set>
</AssignMessage>
מחיקת נתונים
בדוגמה הזו, המדיניות בנושא תוספי יתרונות מרכזיים מוחקת את המסמך lizzie@example.com
מהאוסף users
.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Delete-User-Data">
<DisplayName>Delete User Data</DisplayName>
<Connector>my-cloud-firestore-extension</Connector>
<Action>deleteDocument</Action>
<Input><![CDATA[{
"colName" : "users",
"docName" : "lizzie@example.com"
}]]></Input>
</ConnectorCallout>
נתוני השאילתה
בדוגמה זו, המדיניות בנושא תוספי יתרונות מרכזיים מפעילה שאילתה על אוסף cities
. תוצאות השאילתה מסוננות לפי השדות state
ו-population
. כאן, המאפיין parsed
של הרכיב <Output>
מוגדר ל-false
כך שהתוצאה שהוחזרה תהיה JSON כמחרוזת, במקום JSON שינותח לאובייקט. למידע נוסף, ראו הפניה לרכיב <Output>
.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Query-City-Data">
<DisplayName>Query City Data</DisplayName>
<Connector>cloud-firestore-extension</Connector>
<Action>query</Action>
<Input><![CDATA[{
"colName":"cities",
"queryArray":[
["state", "==", "CA"],
["population","<",1000000]
]
}]]></Input>
<Output parsed="false">compound-query-output</Output>
</ConnectorCallout>
במדיניות הבאה של הקצאת הודעה נעשה שימוש בערך של המשתנה שמאחסן את התגובה של התוסף כדי להקצות את המטען הייעודי (payload) של התגובה.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage name="CopyQueryResultsToResponse">
<DisplayName>Copy Query Results To Response</DisplayName>
<AssignTo type="response" createNew="false"/>
<Set>
<Payload contentType="application/json">{firestore.querydata.retrieved}</Payload>
</Set>
</AssignMessage>
פעולות
deleteDocument
מחיקת מסמך יחיד מאוסף.
פרמטרים של בקשה
<Input><![CDATA[{
"colName" : "firestore-collection-name",
"docName" : "firestore-document-name"
}]]></Input>
פרמטר | תיאור | סוג | ברירת מחדל | חובה |
---|---|---|---|---|
colName | שם האוסף שמכיל את המסמך למחיקה. | מחרוזת | ללא. | כן. |
docName | שם המסמך למחיקה. | מחרוזת | ללא. | כן. |
תשובה
ללא.
getDocument
אחזור התוכן של מסמך יחיד.
פרמטרים של בקשה
<Input><![CDATA[{
"colName" : "firestore-collection-name",
"docName" : "firestore-document-name"
}]]></Input>
פרמטר | תיאור | סוג | ברירת מחדל | חובה |
---|---|---|---|---|
colName | שם האוסף שממנו יש לאחזר את המסמך. | מחרוזת | ללא. | כן. |
docName | שם המסמך לאחזור. | מחרוזת | ללא. | כן. |
תשובה
אובייקט שמכיל את תוכן המסמך בפורמט JSON.
שאילתה
שליחת שאילתה על אוסף לפי התנאים שמגדירים את המסנן.
הפרמטר queryArray
של הפעולה הזו מציין מערך של מערכים (או מערך ריק ללא תנאי סינון). כל מערך פנימי מציין תנאי של מסנן. מערכים פנימיים מרובים מייצגים מספר תנאים שמחוברים על ידי אופרטור AND.
כל רכיב במערך התנאים הפנימי מייצג חלק מהתנאי. מערך תנאי תמיד כולל את שלושת הרכיבים הבאים:
- רכיב שמאלי שמציין את שדה האוסף.
- רכיב אמצעי שמציין את האופרטור.
- רכיב ימני שמציין את הערך של שדה האוסף.
הדוגמה הבאה מציינת שני מערכי תנאים לסינון לפי השדות state
ו-population
של האוסף:
<Input><![CDATA[{
"colName":"cities",
"queryArray":[
["state", "==", "CA"],
["population","<",1000000]
]
}]]></Input>
בזמן הריצה, הפעולה הזו מתפרשת כשאילתה כמו:
יש לבחור את כל הערים שבהן מדינה (State) = 'CA' ואוכלוסייה < 1000,000
שאילתה שכוללת כמה תנאים חייבת לתמוך ב-Cloud Firestore באמצעות אינדקס מורכב. מידע נוסף זמין במאמר סוגי אינדקסים ב-Cloud Firestore.
פרמטרים של בקשה
תחביר
<Input><![CDATA[{
"colName" : "firestore-collection-name",
"queryArray" : "queryArray": query-condition-array
}]]></Input>
דוגמה
בדוגמה הזו, הפרמטר queryArray
מציין שני תנאים שצריך לסנן לפיהם את האוסף cities
שצוין באמצעות הפרמטר colName
.
שאילתה שכוללת כמה תנאים צריכה להיות נתמכת ב-Cloud Firestore באמצעות אינדקס מורכב. מידע נוסף זמין במאמר סוגי אינדקסים ב-Cloud Firestore.
<Input><![CDATA[{
"colName":"cities",
"queryArray":[["state", "==", "CA"],["population","<",1000000]]
}]]></Input>
בזמן הריצה, הפעולה הזו מתפרשת כשאילתה כמו:
יש לבחור את כל הערים שבהן מדינה (State) = 'CA' ואוכלוסייה < 1000,000
פרמטר | תיאור | סוג | ברירת מחדל | חובה |
---|---|---|---|---|
colName | שם האוסף שעליו רוצים לשלוח שאילתה. | מחרוזת | ללא. | כן. |
queryArray | מערך של מערכי תנאים שמציינים ביחד את חלקי המסנן. יש לציין מערך ריק כדי להשמיט תנאים (לא תוצאות סינון). | מערך | ללא. | כן. |
תשובה
אובייקט שמכיל את תוכן המסמך בפורמט JSON.
setDocument
העתקת מסמך לאוסף של Cloud Firestore. אם המסמך כבר קיים באוסף, הוא יחליף אותו.
פרמטרים של בקשה
<Input><![CDATA[{
"colName" : "firestore-collection-name",
"docName" : "firestore-document-name",
"data" : "data-to-copy"
}]]></Input>
פרמטר | תיאור | סוג | ברירת מחדל | חובה |
---|---|---|---|---|
colName | שם האוסף שבו יש ליצור את המסמך. | מחרוזת | ללא. | כן. |
docName | שם המסמך שאליו צריך להעתיק את data . |
מחרוזת | ללא. | כן. |
נתונים | נתונים להעתקה אל docName . האובייקט חייב להיות אובייקט JSON תקין. אין תמיכה במערכים. |
אובייקט | ללא. | לא. |
תשובה
ללא.
חומר עזר על הגדרות אישיות
כשאתם מגדירים ופורסים את התוסף הזה לשימוש בשרתי proxy ל-API, יש להשתמש באפשרויות הבאות. להוראות להגדרת תוסף באמצעות מסוף Apigee, ראו הוספה והגדרה של תוסף.
מאפייני תוספים נפוצים
המאפיינים הבאים קיימים בכל תוסף.
נכס | תיאור | ברירת המחדל | נדרש |
---|---|---|---|
name |
השם שבחרת לתצורה הזו של התוסף. | ללא | כן |
packageName |
השם של חבילת התוסף כפי שהוא סופק על ידי Apigee Edge. | ללא | כן |
version |
מספר הגרסה של חבילת התוסף שממנה מגדירים את התוסף. | ללא | כן |
configuration |
ערך הגדרה ספציפי לתוסף שרוצים להוסיף. מאפיינים לחבילת תוספים זו | ללא | כן |
מאפיינים של חבילת התוספים הזו
נכס | תיאור | ברירת מחדל | חובה |
---|---|---|---|
firestoreDB | כתובת ה-URL למסד הנתונים של Cloud Firestore שבו צריך להשתמש בתוסף הזה לשליחת בקשות. בדרך כלל כתובת ה-URL הזו מופיעה בפורמט https://DATABASE_NAME.firebaseio.com . |
ללא. | כן. |
פרטי כניסה | זה התוכן של קובץ המפתח שיצרתם, עם הוראות ל-Firebase שהזנתם במסוף Apigee Edge. הערך הזה נשלח דרך ממשק ה-API לניהול, בקידוד base64 שנוצר מקובץ המפתח. | ללא. | כן. |