شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید . اطلاعات
نسخه: 1.4.1
ایجاد، خواندن یا حذف داده ها در پایگاه داده Cloud Firestore.
این محتوا مرجعی برای پیکربندی و استفاده از این پسوند ارائه می دهد. قبل از استفاده از این پسوند از یک پروکسی API، باید:
یک پروژه Firebase در کنسول Firebase که در آن اطلاعات شما ذخیره می شود ایجاد کنید.
هنگام افزودن و پیکربندی پسوند با استفاده از مرجع پیکربندی، از محتویات فایل JSON کلید حاصل استفاده کنید.
درباره Cloud Firestore
Cloud Firestore داده ها را در اسناد ذخیره می کند که در مجموعه ها ذخیره می شوند. Cloud Firestore مجموعه ها و اسناد را به طور ضمنی اولین باری که داده ها را به سند اضافه می کنید ایجاد می کند. شما نیازی به ایجاد مجموعه یا اسناد ندارید.
برای اطلاعات بیشتر در مورد Cloud Firestore به طور کلی، به شروع با Firestore در مستندات Cloud Firestore مراجعه کنید.
نمونه ها
مثالهای زیر نحوه پیکربندی پشتیبانی برای اقدامات افزونه Cloud Firestore را با استفاده از خطمشی ExtensionCallout نشان میدهند.
داده ها را اضافه کنید
خط مشی 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>
داده ها را دریافت کنید
در این مثال، خط مشی ExtensionCallout مقدار سند 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>
خط مشی Assign Message زیر از مقدار متغیری که پاسخ برنامه افزودنی را ذخیره می کند برای اختصاص بار پاسخ استفاده می کند.
<?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>
داده ها را حذف کنید
در این مثال، سیاست ExtensionCallout سند 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>
داده های پرس و جو
در این مثال، خط مشی ExtensionCallout مجموعه 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>
خط مشی Assign Message زیر از مقدار متغیری که پاسخ برنامه افزودنی را ذخیره می کند برای اختصاص بار پاسخ استفاده می کند.
<?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>
اقدامات
حذف سند
یک سند واحد را از یک مجموعه حذف می کند.
درخواست پارامترها
<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>
در زمان اجرا، این عمل به عنوان یک پرس و جو مانند زیر تفسیر می شود:
همه شهرهایی را انتخاب کنید که ایالت = 'CA' و جمعیت < 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>
در زمان اجرا، این عمل به عنوان یک پرس و جو مانند زیر تفسیر می شود:
همه شهرهایی را انتخاب کنید که ایالت = 'CA' و جمعیت < 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 | URL به پایگاه داده Cloud Firestore که این برنامه افزودنی باید از درخواستهای ساختن whem استفاده کند. این URL معمولاً به شکل https://DATABASE_NAME.firebaseio.com است. | هیچ کدام. | بله. |
اعتبارنامه | وقتی در کنسول Apigee Edge وارد میشود، این محتوای فایل کلیدی است که با دستورالعملهای Firebase ایجاد کردهاید. هنگامی که از طریق API مدیریت ارسال می شود، یک مقدار کدگذاری شده با base64 است که از فایل کلید تولید می شود. | هیچ کدام. | بله. |