আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান । তথ্য
সংস্করণ: 2.0.2
ক্লাউড ফায়ারস্টোর ডাটাবেসে ডেটা তৈরি করুন, পড়ুন বা মুছুন।
এই কন্টেন্টটি এই এক্সটেনশনটি কনফিগার এবং ব্যবহারের জন্য রেফারেন্স প্রদান করে। API প্রক্সি থেকে এই এক্সটেনশনটি ব্যবহার করার আগে, আপনাকে অবশ্যই:
আপনার ডেটা যেখানে সংরক্ষণ করা হয় সেই Firebase কনসোলে একটি Firebase প্রকল্প তৈরি করুন।
কনফিগারেশন রেফারেন্স ব্যবহার করে এক্সটেনশন যোগ এবং কনফিগার করার সময় ফলাফল কী JSON ফাইলের বিষয়বস্তু ব্যবহার করুন।
ক্লাউড ফায়ারস্টোর সম্পর্কে
ক্লাউড ফায়ারস্টোর ডকুমেন্টে ডেটা সংরক্ষণ করে, যা সংগ্রহে সংরক্ষণ করা হয়। ক্লাউড ফায়ারস্টোর প্রথমবার ডকুমেন্টে ডেটা যোগ করার সময় পরোক্ষভাবে সংগ্রহ এবং ডকুমেন্ট তৈরি করে। আপনাকে স্পষ্টভাবে সংগ্রহ বা ডকুমেন্ট তৈরি করার প্রয়োজন নেই।
ক্লাউড ফায়ারস্টোর সম্পর্কে আরও জানতে, ক্লাউড ফায়ারস্টোর ডকুমেন্টেশনে "ফায়ারস্টোর দিয়ে শুরু করুন" দেখুন।
নমুনা
নিম্নলিখিত উদাহরণগুলি ExtensionCallout নীতি ব্যবহার করে ক্লাউড ফায়ারস্টোর এক্সটেনশন অ্যাকশনের জন্য সমর্থন কীভাবে কনফিগার করতে হয় তা ব্যাখ্যা করে।
ডেটা যোগ করুন
নিম্নলিখিত ExtensionCallout নীতিটি users সংগ্রহে freewill@example.com নামক একটি নথি যোগ করে। 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 নীতি users সংগ্রহ থেকে freewill@example.com ডকুমেন্টের মান পুনরুদ্ধার করে। এখানে, <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>
ডেটা মুছুন
এই উদাহরণে, ExtensionCallout নীতি users সংগ্রহ থেকে lizzie@example.com ডকুমেন্টটি মুছে ফেলে।
<?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 ক্ষেত্র দ্বারা ফিল্টার করা হয়। এখানে, <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>
কর্ম
ডকুমেন্ট মুছে ফেলুন
একটি সংগ্রহ থেকে একটি একক নথি মুছে ফেলে।
অনুরোধের প্যারামিটার
<Input><![CDATA[{
"colName" : "firestore-collection-name",
"docName" : "firestore-document-name"
}]]></Input>
| প্যারামিটার | বিবরণ | আদর্শ | ডিফল্ট | প্রয়োজনীয় |
|---|---|---|---|---|
| কলনাম | মুছে ফেলার জন্য দস্তাবেজটি ধারণকারী সংগ্রহের নাম। | স্ট্রিং | কোনোটিই নয়। | হ্যাঁ। |
| ডকনাম | মুছে ফেলার জন্য নথির নাম। | স্ট্রিং | কোনোটিই নয়। | হ্যাঁ। |
প্রতিক্রিয়া
কোনোটিই নয়।
ডকুমেন্ট পান
একটি একক নথির বিষয়বস্তু উদ্ধার করে।
অনুরোধের প্যারামিটার
<Input><![CDATA[{
"colName" : "firestore-collection-name",
"docName" : "firestore-document-name"
}]]></Input>
| প্যারামিটার | বিবরণ | আদর্শ | ডিফল্ট | প্রয়োজনীয় |
|---|---|---|---|---|
| কলনাম | যে সংগ্রহ থেকে ডকুমেন্টটি উদ্ধার করা হবে তার নাম। | স্ট্রিং | কোনোটিই নয়। | হ্যাঁ। |
| ডকনাম | যে নথিটি উদ্ধার করতে হবে তার নাম। | স্ট্রিং | কোনোটিই নয়। | হ্যাঁ। |
প্রতিক্রিয়া
ডকুমেন্টের কন্টেন্ট JSON ফর্ম্যাটে থাকা অবজেক্ট।
প্রশ্ন
একটি ফিল্টার তৈরি করে এমন নির্দিষ্ট শর্ত অনুসারে একটি সংগ্রহকে জিজ্ঞাসা করে।
এই অ্যাকশনের queryArray প্যারামিটার অ্যারের একটি অ্যারে নির্দিষ্ট করে (অথবা ফিল্টারিং শর্ত ছাড়াই একটি খালি অ্যারে)। প্রতিটি অভ্যন্তরীণ অ্যারে একটি ফিল্টারের একটি শর্ত নির্দিষ্ট করে। একাধিক অভ্যন্তরীণ অ্যারে একটি AND অপারেটর দ্বারা সংযুক্ত একাধিক শর্ত উপস্থাপন করে।
একটি অভ্যন্তরীণ কন্ডিশন অ্যারের প্রতিটি উপাদান কন্ডিশনের একটি অংশকে প্রতিনিধিত্ব করে। একটি কন্ডিশন অ্যারেতে সর্বদা নিম্নলিখিত তিনটি উপাদান থাকে:
- সংগ্রহ ক্ষেত্র নির্দিষ্ট করে একটি বাম উপাদান।
- অপারেটর নির্দিষ্ট করে এমন একটি মধ্যম উপাদান।
- সংগ্রহ ক্ষেত্রের মান নির্দিষ্ট করে এমন একটি ডান উপাদান।
নিম্নলিখিত উদাহরণে সংগ্রহের state এবং population ক্ষেত্রের উপর ভিত্তি করে ফিল্টার করার জন্য দুটি শর্ত অ্যারে নির্দিষ্ট করা হয়েছে:
<Input><![CDATA[{
"colName":"cities",
"queryArray":[
["state", "==", "CA"],
["population","<",1000000]
]
}]]></Input>
রানটাইমে, এই ক্রিয়াটি নিম্নলিখিত ধরণের একটি কোয়েরি হিসাবে ব্যাখ্যা করা হয়:
রাজ্য = 'CA' এবং জনসংখ্যা < 1000000 এমন সমস্ত শহর নির্বাচন করুন
একাধিক শর্ত সম্বলিত একটি কোয়েরি ক্লাউড ফায়ারস্টোরে একটি কম্পোজিট ইনডেক্স দ্বারা সমর্থিত হতে হবে। আরও তথ্যের জন্য, ক্লাউড ফায়ারস্টোরে ইনডেক্স প্রকারগুলি দেখুন।
অনুরোধের প্যারামিটার
বাক্য গঠন
<Input><![CDATA[{
"colName" : "firestore-collection-name",
"queryArray" : "queryArray": query-condition-array
}]]></Input>
উদাহরণ
এই উদাহরণে, queryArray প্যারামিটার দুটি শর্ত নির্দিষ্ট করে যার উপর colName প্যারামিটার দ্বারা নির্দিষ্ট করা cities সংগ্রহ ফিল্টার করতে হবে।
একাধিক শর্ত সম্বলিত একটি কোয়েরি ক্লাউড ফায়ারস্টোরে একটি কম্পোজিট ইনডেক্স দ্বারা সমর্থিত হতে হবে। আরও তথ্যের জন্য, ক্লাউড ফায়ারস্টোরে ইনডেক্স প্রকারগুলি দেখুন।
<Input><![CDATA[{
"colName":"cities",
"queryArray":[["state", "==", "CA"],["population","<",1000000]]
}]]></Input>
রানটাইমে, এই ক্রিয়াটি নিম্নলিখিত ধরণের একটি কোয়েরি হিসাবে ব্যাখ্যা করা হয়:
রাজ্য = 'CA' এবং জনসংখ্যা < 1000000 এমন সমস্ত শহর নির্বাচন করুন
| প্যারামিটার | বিবরণ | আদর্শ | ডিফল্ট | প্রয়োজনীয় |
|---|---|---|---|---|
| কলনাম | জিজ্ঞাসা করার জন্য সংগ্রহের নাম। | স্ট্রিং | কোনোটিই নয়। | হ্যাঁ। |
| কোয়েরি অ্যারে | কন্ডিশন অ্যারের একটি অ্যারে যা একসাথে একটি ফিল্টারের অংশগুলি নির্দিষ্ট করে। কন্ডিশন বাদ দেওয়ার জন্য একটি খালি অ্যারে নির্দিষ্ট করুন (ফিল্টার ফলাফল নয়)। | অ্যারে | কোনোটিই নয়। | হ্যাঁ। |
প্রতিক্রিয়া
ডকুমেন্টের কন্টেন্ট JSON ফর্ম্যাটে থাকা অবজেক্ট।
সেটডকুমেন্ট
একটি ক্লাউড ফায়ারস্টোর সংগ্রহে একটি নথি অনুলিপি করে। যদি নথিটি ইতিমধ্যেই সংগ্রহে থাকে, তাহলে এটি এটিকে ওভাররাইট করে।
অনুরোধের প্যারামিটার
<Input><![CDATA[{
"colName" : "firestore-collection-name",
"docName" : "firestore-document-name",
"data" : "data-to-copy"
}]]></Input>
| প্যারামিটার | বিবরণ | আদর্শ | ডিফল্ট | প্রয়োজনীয় |
|---|---|---|---|---|
| কলনাম | যে সংগ্রহে ডকুমেন্টটি তৈরি করতে হবে তার নাম। | স্ট্রিং | কোনোটিই নয়। | হ্যাঁ। |
| ডকনাম | যে ডকুমেন্টে data কপি করা হবে তার নাম। | স্ট্রিং | কোনোটিই নয়। | হ্যাঁ। |
| তথ্য | docName এ কপি করার জন্য ডেটা। এটি অবশ্যই একটি বৈধ JSON অবজেক্ট হতে হবে। অ্যারে সমর্থিত নয়। | বস্তু | কোনোটিই নয়। | না। |
প্রতিক্রিয়া
কোনোটিই নয়।
কনফিগারেশন রেফারেন্স
API প্রক্সিতে ব্যবহারের জন্য এই এক্সটেনশনটি কনফিগার এবং স্থাপন করার সময় নিম্নলিখিতগুলি ব্যবহার করুন। Apigee কনসোল ব্যবহার করে একটি এক্সটেনশন কনফিগার করার পদক্ষেপগুলির জন্য, একটি এক্সটেনশন যোগ করা এবং কনফিগার করা দেখুন।
সাধারণ এক্সটেনশন বৈশিষ্ট্য
নিম্নলিখিত বৈশিষ্ট্যগুলি প্রতিটি এক্সটেনশনের জন্য উপস্থিত রয়েছে।
| সম্পত্তি | বর্ণনা | ডিফল্ট | প্রয়োজন |
|---|---|---|---|
name | আপনি এক্সটেনশনের এই কনফিগারেশনের নাম দিন। | কোনোটিই নয় | হ্যাঁ |
packageName | Apigee Edge দ্বারা প্রদত্ত এক্সটেনশন প্যাকেজের নাম। | কোনোটিই নয় | হ্যাঁ |
version | যে এক্সটেনশন প্যাকেজ থেকে আপনি একটি এক্সটেনশন কনফিগার করছেন তার সংস্করণ নম্বর। | কোনোটিই নয় | হ্যাঁ |
configuration | আপনি যে এক্সটেনশনটি যোগ করছেন তার জন্য নির্দিষ্ট কনফিগারেশন মান। এই এক্সটেনশন প্যাকেজের বৈশিষ্ট্য দেখুন | কোনোটিই নয় | হ্যাঁ |
এই এক্সটেনশন প্যাকেজের বৈশিষ্ট্যাবলী
| সম্পত্তি | বিবরণ | ডিফল্ট | প্রয়োজনীয় |
|---|---|---|---|
| ফায়ারস্টোরডিবি | ক্লাউড ফায়ারস্টোর ডাটাবেসের URL যা এই এক্সটেনশনটি অনুরোধ করার সময় ব্যবহার করবে। এই URLটি সাধারণত https://DATABASE_NAME.firebaseio.com ফর্মের জন্য গ্রহণ করে। | কোনোটিই নয়। | হ্যাঁ। |
| শংসাপত্র | Apigee Edge কনসোলে প্রবেশ করালে, এটি Firebase নির্দেশাবলী ব্যবহার করে তৈরি করা কী ফাইলের বিষয়বস্তু। ম্যানেজমেন্ট API ব্যবহার করে পাঠানো হলে, এটি কী ফাইল থেকে তৈরি একটি base64-এনকোডেড মান। | কোনোটিই নয়। | হ্যাঁ। |