درحال مشاهده اسناد Apigee Edge هستید.
به
اسناد Apigee X بروید. اطلاعات
نسخه: 2.0.1
ایجاد، خواندن، یا حذف دادهها در پایگاه داده Cloud Firestore.
این محتوا مرجعی برای پیکربندی و استفاده از این افزونه ارائه میدهد. قبلاز استفاده از این افزونه از یک پراکسی API، باید:
پروژه Firebase را در کنسول Firebase که دادههایتان در آن ذخیره میشود ایجاد کنید.
از محتوای فایل JSON کلید حاصل هنگام افزودن و پیکربندی افزونه بااستفاده از مرجع پیکربندی استفاده کنید.
درباره Cloud Firestore
Cloud Firestore دادهها را در اسنادی ذخیره میکند که در مجموعهها ذخیره میشوند. Cloud Firestore اولینبار که دادهها را به سند اضافه میکنید، مجموعهها و سندها را بهطور ضمنی ایجاد میکند. نیازی نیست که مجموعهها یا اسناد را بهطور صریح ایجاد کنید.
برای اطلاعات بیشتر درباره Cloud Firestore بهطور کلی، به شروع به کار با Firestore در اسناد Cloud Firestore مراجعه کنید.
نمونهها
مثالهای زیر نشان میدهد که چگونه پشتیبانی از کنشهای افزونه Cloud Firestore را بااستفاده از خطمشی ExtensionCallout پیکربندی کنید.
افزودن داده
خطمشی «افزونه پیامکراهنما» زیر سند 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 بازیابی میکند. در اینجا، عنصر <Output> با مشخصه parsed روی 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>
خطمشی تخصیص پیام زیر از مقدار متغیر ذخیرهکننده پاسخ افزونه برای تخصیص بار پاسخ استفاده میکند.
<?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 فیلتر میشود. در اینجا، عنصر <Output> با مشخصه parsed روی 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>
خطمشی تخصیص پیام زیر از مقدار متغیر ذخیرهکننده پاسخ افزونه برای تخصیص بار پاسخ استفاده میکند.
<?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 این کنش آرایهای از آرایهها (یا آرایه خالی برای بدون شرط فیلتر) را مشخص میکند. هر آرایه داخلی شرطی از فیلتر را مشخص میکند. چندین آرایه داخلی نشاندهنده چندین شرط است که با عملگر «و» به هم پیوستهاند.
هر عنصر در آرایه وضعیت داخلی نشاندهنده بخشی از وضعیت است. آرایه شرط همیشه سه عنصر زیر را دارد:
- عنصر سمت راست که فیلد مجموعه را مشخص میکند.
- عنصر میانی که اپراتور را مشخص میکند.
- عنصر سمت راست که مقدار فیلد مجموعه را مشخص میکند.
مثال زیر دو آرایه شرط را برای فیلتر کردن براساس فیلدهای state و population مجموعه مشخص میکند:
<Input><![CDATA[{
"colName":"cities",
"queryArray":[
["state", "==", "CA"],
["population","<",1000000]
]
}]]></Input>
در زمان اجرا، این کنش بهعنوان پرسمانی مانند پرسمان زیر تفسیر میشود:
همه شهرهایی را انتخاب کنید که در آنها state = 'CA' و population < 1000000
پُرسمانی که شامل چندین شرط است باید در 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' و population < 1000000
| پارامتر | شرح | نوع | پیشفرض | الزامی |
|---|---|---|---|---|
| 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 معتبری باشد. آرایهها پشتیبانی نمیشود. |
شیء | هیچکدام. | شماره. |
پاسخ
هیچکدام.
مرجع پیکربندی
هنگام پیکربندی و استقرار این افزونه برای استفاده در پراکسیهای API، از موارد زیر استفاده کنید. برای مراحل پیکربندی افزونه بااستفاده از کنسول Apigee، به افزودن و پیکربندی افزونه مراجعه کنید.
داراییهای افزونه مشترک
ویژگی های زیر برای هر افزونه وجود دارد.
| ویژگی | شرح | پیش فرض | ضروری |
|---|---|---|---|
name | نامی که به این پیکربندی افزونه میدهید. | هیچ یک | آره |
packageName | نام بسته افزودنی همانطور که توسط Apigee Edge داده شده است. | هیچ یک | آره |
version | شماره نسخه بسته برنامه افزودنی که از آن یک برنامه افزودنی را پیکربندی می کنید. | هیچ یک | آره |
configuration | مقدار پیکربندی مخصوص افزونه ای که اضافه می کنید. به ویژگی های این بسته برنامه افزودنی مراجعه کنید | هیچ یک | آره |
داراییهای این بسته افزونه
| دارایی | شرح | پیشفرض | الزامی |
|---|---|---|---|
| firestoreDB | نشانی وب پایگاه داده Cloud Firestore که این افزونه باید هنگام درخواست دادن از آن استفاده کند. این نشانی وب معمولاً برای فرم https://DATABASE_NAME.firebaseio.com است. |
هیچکدام. | بله. |
| اطلاعات اعتباری | وقتی در کنسول Apigee Edge وارد میشود، این محتوای فایل کلیدی است که با دستورالعملهای Firebase تولید کردهاید. وقتی بااستفاده از «میانای برنامهسازی کاربردی مدیریت» ارسال میشود، مقدار رمزگذاریشده با base64 است که از فایل کلید تولید میشود. | هیچکدام. | بله. |