ডেভেলপার মেটাডেটা বৈশিষ্ট্যটি আপনাকে একটি স্প্রেডশিটে বিভিন্ন সত্তা এবং অবস্থানের সাথে মেটাডেটা সংযুক্ত করতে দেয়। এরপর আপনি এই মেটাডেটাটি অনুসন্ধান করতে পারেন এবং এটি যে বস্তুগুলির সাথে সম্পর্কিত তা খুঁজে পেতে এটি ব্যবহার করতে পারেন।
আপনি সারি, কলাম, শিট, অথবা স্প্রেডশিটের সাথে মেটাডেটা সংযুক্ত করতে পারেন।
ডেভেলপার মেটাডেটা আপনাকে নিম্নলিখিত ক্রিয়াকলাপগুলি সম্পাদন করতে দেয়:
একটি স্প্রেডশিটে বিভিন্ন সত্তা এবং অবস্থানের সাথে ইচ্ছামত ডেটা সংযুক্ত করুন — উদাহরণস্বরূপ, কলাম D এর সাথে
totalsযুক্ত করুন, অথবাresponseId = 1234সারির ৭ এর সাথে যুক্ত করুন।একটি নির্দিষ্ট মেটাডেটা কী বা অ্যাট্রিবিউটের সাথে সম্পর্কিত সমস্ত অবস্থান এবং ডেটা খুঁজুন — উদাহরণস্বরূপ, কলাম D এর সাথে সম্পর্কিত কী
totalsবাresponseIdদেওয়া থাকলে,responseIdমেটাডেটা এবং তাদের সাথে সম্পর্কিত মেটাডেটা মান সহ সমস্ত সারি ফেরত দিন।একটি নির্দিষ্ট সত্তা বা অবস্থানের সাথে সম্পর্কিত সমস্ত ডেটা খুঁজুন — উদাহরণস্বরূপ, প্রদত্ত কলাম D, সেই অবস্থানের সাথে সম্পর্কিত সমস্ত মেটাডেটা ফেরত দিন।
সংশ্লিষ্ট মেটাডেটা নির্দিষ্ট করে একটি অবস্থানে মান পুনরুদ্ধার করুন — উদাহরণস্বরূপ,
totalsসংশ্লিষ্ট কলাম বা সারিতে থাকা মানগুলির একটি প্রতিনিধিত্ব প্রদান করে অথবা একটিsummaryপ্রদান করে সংশ্লিষ্ট শীট সম্পদের একটি প্রতিনিধিত্ব প্রদান করে।সংশ্লিষ্ট মেটাডেটা নির্দিষ্ট করে একটি অবস্থানের মান আপডেট করুন — উদাহরণস্বরূপ, A1 নোটেশনের মাধ্যমে পরপর মান আপডেট করার পরিবর্তে, একটি মেটাডেটা আইডি নির্দেশ করে মান আপডেট করুন।
মেটাডেটা পড়ুন এবং লিখুন
spreadsheets.developerMetadata রিসোর্সটি স্প্রেডশিটে থাকা কোনও অবস্থান বা বস্তুর সাথে সম্পর্কিত ডেভেলপার মেটাডেটাতে অ্যাক্সেস প্রদান করে।
ডেভেলপার মেটাডেটা সম্পর্কে
এই বিভাগটি ডেভেলপার মেটাডেটার কিছু গুরুত্বপূর্ণ দিক বর্ণনা করে যা Sheets API এর সাথে কাজ করার সময় আপনার বিবেচনা করা উচিত।
ট্যাগ হিসেবে মেটাডেটা
ডেভেলপার মেটাডেটার একটি ব্যবহার হল এমন একটি ট্যাগ যা শুধুমাত্র একটি কী এবং একটি অবস্থান ব্যবহার করে স্প্রেডশিটে একটি অবস্থানের নাম দেয়। উদাহরণস্বরূপ, আপনি একটি নির্দিষ্ট সারির সাথে headerRow অথবা একটি শীটের মধ্যে একটি নির্দিষ্ট কলামের সাথে totals সংযুক্ত করতে পারেন। ট্যাগগুলি একটি স্প্রেডশিটের অংশগুলিকে তৃতীয় পক্ষের টুল বা ডাটাবেসের ফিল্ডের সাথে অর্থগতভাবে আবদ্ধ করতে ব্যবহার করা যেতে পারে, তাই স্প্রেডশিটে পরিবর্তনগুলি আপনার অ্যাপটিকে নষ্ট করবে না।
বৈশিষ্ট্য হিসেবে মেটাডেটা
একটি কী, অবস্থান এবং একটি মান নির্দিষ্ট করে তৈরি মেটাডেটা একটি শীটে সেই অবস্থানের সাথে যুক্ত একটি কী-মান জোড়া হিসাবে কাজ করে। উদাহরণস্বরূপ, আপনি সংযুক্ত করতে পারেন:
-
formResponseId = resp123একটি সারি সহ -
lastUpdated = 1477369882একটি কলাম সহ।
এটি আপনাকে একটি স্প্রেডশিটে নির্দিষ্ট এলাকা বা ডেটার সাথে সম্পর্কিত কাস্টম নামযুক্ত বৈশিষ্ট্য সংরক্ষণ এবং অ্যাক্সেস করতে দেয়।
প্রকল্প বনাম ডকুমেন্ট দৃশ্যমান মেটাডেটা
একটি ডেভেলপার প্রকল্প যাতে অন্যটির মেটাডেটাতে হস্তক্ষেপ না করে, তার জন্য দুটি মেটাডেটা visibility সেটিংস রয়েছে: project এবং document । পত্রক API ব্যবহার করে, প্রকল্পের মেটাডেটা কেবল সেই ডেভেলপার প্রকল্প থেকেই দৃশ্যমান এবং অ্যাক্সেসযোগ্য যা এটি তৈরি করেছে। ডকুমেন্টে অ্যাক্সেস সহ যেকোনো ডেভেলপার প্রকল্প থেকে ডকুমেন্ট মেটাডেটা অ্যাক্সেসযোগ্য।
যেসব কোয়েরি স্পষ্টভাবে দৃশ্যমানতা নির্দিষ্ট করে না, সেগুলি ডেভেলপার প্রকল্পের অনুরোধকারীর জন্য মিলিত ডকুমেন্ট মেটাডেটা এবং মিলিত প্রকল্প মেটাডেটা ফেরত পাঠায়।
অনন্যতা
মেটাডেটা কীগুলি অনন্য হতে হবে না, তবে metadataId অবশ্যই স্বতন্ত্র হতে হবে। আপনি যদি মেটাডেটা তৈরি করেন এবং এর আইডি ফিল্ডটি অনির্দিষ্ট রাখেন, তাহলে API একটি নির্দিষ্ট করে। এই আইডিটি মেটাডেটা সনাক্ত করতে ব্যবহার করা যেতে পারে, যখন কী এবং অন্যান্য বৈশিষ্ট্যগুলি মেটাডেটার সেট সনাক্ত করতে ব্যবহার করা যেতে পারে।
মেটাডেটা তৈরি করুন
মেটাডেটা তৈরি করতে, batchUpdate পদ্ধতি ব্যবহার করুন এবং metadataKey , location , এবং visibility সহ একটি createDeveloperMetadataRequest সরবরাহ করুন। আপনি ঐচ্ছিকভাবে একটি metadataValue অথবা একটি স্পষ্ট metadataId নির্দিষ্ট করতে পারেন।
যদি আপনি এমন একটি আইডি নির্দিষ্ট করেন যা ইতিমধ্যেই ব্যবহৃত হচ্ছে, তাহলে অনুরোধটি ব্যর্থ হবে। যদি আপনি একটি আইডি সরবরাহ না করেন, তাহলে API একটি নির্দিষ্ট করে।
এই উদাহরণে, আমরা অনুরোধে একটি কী, মান এবং একটি সারি প্রদান করি। প্রতিক্রিয়াটি এই ডেভেলপার মেটাডেটা মানগুলি, এবং নির্ধারিত মেটাডেটা আইডি প্রদান করে।
অনুরোধ
{
"requests": [
{
"createDeveloperMetadata": {
"developerMetadata": {
"location": {
"dimensionRange": {
"sheetId": sheetId,
"dimension": "ROWS",
"startIndex": 6,
"endIndex": 7
}
},
"visibility": "DOCUMENT",
"metadataKey": "Sales",
"metadataValue": "2022"
}
}
}
]
}প্রতিক্রিয়া
{
"spreadsheetId": spreadsheetId,
"replies": [
{
"createDeveloperMetadata": {
"developerMetadata": {
"metadataId": metadataId,
"metadataKey": "Sales",
"metadataValue": "2022",
"location": {
"locationType": "ROW",
"dimensionRange": {
"sheetId": sheetId,
"dimension": "ROWS",
"startIndex": 6,
"endIndex": 7
}
},
"visibility": "DOCUMENT"
}
}
}
]
}একটি একক মেটাডেটা আইটেম পড়ুন
একটি একক, স্বতন্ত্র ডেভেলপার মেটাডেটা পুনরুদ্ধার করতে, spreadsheets.developerMetadata.get পদ্ধতি ব্যবহার করুন, যেখানে মেটাডেটা ধারণকারী spreadsheetId এবং ডেভেলপার মেটাডেটার অনন্য metadataId উল্লেখ করুন।
অনুরোধ
এই উদাহরণে, আমরা অনুরোধে স্প্রেডশিট আইডি এবং মেটাডেটা আইডি প্রদান করি। প্রতিক্রিয়াটি মেটাডেটা আইডির জন্য ডেভেলপার মেটাডেটা মানগুলি ফেরত দেয়।
GET https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/developerMetadata/metadataId
প্রতিক্রিয়া
{
"metadataId": metadataId,
"metadataKey": "Sales",
"metadataValue": "2022",
"location": {
"locationType": "ROW",
"dimensionRange": {
"sheetId": sheetId,
"dimension": "ROWS",
"startIndex": 6,
"endIndex": 7
}
},
"visibility": "DOCUMENT"
}একাধিক মেটাডেটা আইটেম পড়ুন
ডেভেলপার মেটাডেটার একাধিক আইটেম পুনরুদ্ধার করতে, spreadsheets.developerMetadata.search পদ্ধতি ব্যবহার করুন। আপনাকে এমন একটি DataFilter নির্দিষ্ট করতে হবে যা কী, মান, অবস্থান বা দৃশ্যমানতার মতো যেকোনো বৈশিষ্ট্যের সংমিশ্রণে বিদ্যমান মেটাডেটার সাথে মেলে।
এই উদাহরণে, আমরা অনুরোধে একাধিক মেটাডেটা আইডি প্রদান করি। প্রতিক্রিয়া প্রতিটি মেটাডেটা আইডির জন্য ডেভেলপার মেটাডেটা মান ফেরত দেয়।
অনুরোধ
{
"dataFilters": [
{
"developerMetadataLookup": {
"metadataId": metadataId
}
},
{
"developerMetadataLookup": {
"metadataId": metadataId
}
}
]
}প্রতিক্রিয়া
{
"matchedDeveloperMetadata": [
{
"developerMetadata": {
"metadataId": metadataId,
"metadataKey": "Revenue",
"metadataValue": "2022",
"location": {
"locationType": "SHEET",
"sheetId": sheetId
},
"visibility": "DOCUMENT"
},
"dataFilters": [
{
"developerMetadataLookup": {
"metadataId": metadataId
}
}
]
},
{
"developerMetadata": {
"metadataId": metadataId,
"metadataKey": "Sales",
"metadataValue": "2022",
"location": {
"locationType": "SHEET",
"sheetId": sheetId
},
"visibility": "DOCUMENT"
},
"dataFilters": [
{
"developerMetadataLookup": {
"metadataId": metadataId
}
}
]
}
]
}মেটাডেটা আপডেট করুন
ডেভেলপার মেটাডেটা আপডেট করতে, spreadsheets.batchUpdate পদ্ধতি ব্যবহার করুন এবং একটি UpdateDeveloperMetadataRequest সরবরাহ করুন। আপনাকে একটি DataFilter নির্দিষ্ট করতে হবে যা আপডেট করা মেটাডেটা লক্ষ্য করে, নতুন মান সহ একটি DeveloperMetadata অবজেক্ট এবং আপডেট করা ক্ষেত্রগুলি বর্ণনা করে একটি ফিল্ড মাস্ক ।
এই উদাহরণে, আমরা অনুরোধে মেটাডেটা আইডি, শিট আইডি এবং একটি নতুন মেটাডেটা কী প্রদান করি। প্রতিক্রিয়াটি এই ডেভেলপার মেটাডেটা মানগুলি, এবং আপডেট করা মেটাডেটা কী প্রদান করে।
অনুরোধ
{
"requests": [
{
"updateDeveloperMetadata": {
"dataFilters": [
{
"developerMetadataLookup": {
"metadataId": metadataId
}
}
],
"developerMetadata": {
"location": {
"sheetId": sheetId
},
"metadataKey": "SalesUpdated"
},
"fields": "location,metadataKey"
}
}
]
}প্রতিক্রিয়া
{
"spreadsheetId": spreadsheetId,
"replies": [
{
"updateDeveloperMetadata": {
"developerMetadata": [
{
"metadataId": metadataId,
"metadataKey": "SalesUpdated",
"metadataValue": "2022",
"location": {
"locationType": "SHEET",
"sheetId": sheetId
},
"visibility": "DOCUMENT"
}
]
}
}
]
}মেটাডেটা মুছুন
ডেভেলপার মেটাডেটা মুছে ফেলার জন্য, batchUpdate পদ্ধতি ব্যবহার করুন এবং একটি DeleteDeveloperMetadataRequest সরবরাহ করুন। আপনি যে মেটাডেটা মুছে ফেলতে চান তা নির্বাচন করতে আপনাকে একটি DataFilter নির্দিষ্ট করতে হবে।
এই উদাহরণে, আমরা অনুরোধে মেটাডেটা আইডি প্রদান করি। প্রতিক্রিয়াটি মেটাডেটা আইডির জন্য ডেভেলপার মেটাডেটা মানগুলি ফেরত দেয়।
ডেভেলপার মেটাডেটা সরানো হয়েছে কিনা তা নিশ্চিত করতে, মুছে ফেলা মেটাডেটা আইডি নির্দিষ্ট করে spreadsheets.developerMetadata.get পদ্ধতিটি ব্যবহার করুন। আপনি 404: Not Found HTTP স্ট্যাটাস কোডের প্রতিক্রিয়া পাবেন, যেখানে "কোন ডেভেলপার মেটাডেটা metadataId সহ নেই" লেখা একটি বার্তা থাকবে।
অনুরোধ
{
"requests": [
{
"deleteDeveloperMetadata": {
"dataFilter": {
"developerMetadataLookup": {
"metadataId": metadataId
}
}
}
}
]
}প্রতিক্রিয়া
{
"spreadsheetId": spreadsheetId,
"replies": [
{
"deleteDeveloperMetadata": {
"deletedDeveloperMetadata": [
{
"metadataId": metadataId,
"metadataKey": "SalesUpdated",
"metadataValue": "2022",
"location": {
"locationType": "SHEET",
"sheetId": sheetId
},
"visibility": "DOCUMENT"
}
]
}
}
]
}মেটাডেটার সাথে সম্পর্কিত মানগুলি পড়ুন এবং লিখুন
আপনি সংশ্লিষ্ট ডেভেলপার মেটাডেটা এবং আপনি যে মানগুলি আপডেট করতে চান তা নির্দিষ্ট করে সারি এবং কলামে সেল মানগুলি পুনরুদ্ধার এবং আপডেট করতে পারেন। এটি করার জন্য, একটি মিলিত DataFilter দিয়ে নীচের উপযুক্ত পদ্ধতিটি ব্যবহার করুন।
মেটাডেটা অনুসারে কোষের মান পান
মেটাডেটা অনুসারে সেল মান পেতে, spreadsheets.values.batchGetByDataFilter পদ্ধতিটি ব্যবহার করুন। আপনাকে স্প্রেডশিট আইডি এবং মেটাডেটার সাথে মেলে এমন এক বা একাধিক ডেটা ফিল্টার নির্দিষ্ট করতে হবে।
এই উদাহরণে, আমরা অনুরোধে মেটাডেটা আইডি প্রদান করি। প্রতিক্রিয়াটি মেটাডেটা আইডির জন্য সারি সেল মান (মডেল নম্বর, মাসিক বিক্রয়) প্রদান করে।
অনুরোধ
{
"dataFilters": [
{
"developerMetadataLookup": {
"metadataId": metadataId
}
}
],
"majorDimension": "ROWS"
}প্রতিক্রিয়া
{
"spreadsheetId": spreadsheetId,
"valueRanges": [
{
"valueRange": {
"range": "Sheet7!A7:Z7",
"majorDimension": "ROWS",
"values": [
[
"W-24",
"74"
]
]
},
"dataFilters": [
{
"developerMetadataLookup": {
"metadataId": metadataId
}
}
]
}
]
}মেটাডেটা অনুসারে স্প্রেডশিট পান
স্প্রেডশিট পুনরুদ্ধার করার সময়, আপনি spreadsheets.getByDataFilter পদ্ধতি ব্যবহার করে ডেটার একটি উপসেট ফেরত দিতে পারেন। আপনাকে স্প্রেডশিট আইডি এবং মেটাডেটার সাথে মেলে এমন এক বা একাধিক ডেটা ফিল্টার নির্দিষ্ট করতে হবে।
এই অনুরোধটি একটি নিয়মিত "স্প্রেডশিট GET" অনুরোধ হিসেবে কাজ করে, নির্দিষ্ট ডেটা ফিল্টার দ্বারা মিলিত মেটাডেটার তালিকা নির্ধারণ করে যে কোন শিট, গ্রিড ডেটা এবং মেটাডেটা সহ অন্যান্য অবজেক্ট রিসোর্স ফেরত পাঠানো হবে। যদি includeGridData সত্য হিসাবে সেট করা থাকে, তাহলে নির্দিষ্ট গ্রিড রেঞ্জগুলিকে ছেদ করে গ্রিড ডেটাও শিটের জন্য ফেরত পাঠানো হয়।
এই উদাহরণে, আমরা মেটাডেটা আইডি প্রদান করি এবং অনুরোধে includeGridData কে false হিসেবে সেট করি। প্রতিক্রিয়াটি স্প্রেডশিট এবং শিট উভয় বৈশিষ্ট্যই ফেরত দেয়।
অনুরোধ
{
"dataFilters": [
{
"developerMetadataLookup": {
"metadataId": metadataId
}
}
],
"includeGridData": false
}প্রতিক্রিয়া
{ "spreadsheetId": spreadsheetId, "properties": { "title": "Sales Sheet", "locale": "en_US", "autoRecalc": "ON_CHANGE", "timeZone": "America/Los_Angeles", "defaultFormat": { "backgroundColor": { "red": 1, "green": 1, "blue": 1 }, "padding": { "top": 2, "right": 3, "bottom": 2, "left": 3 }, "verticalAlignment": "BOTTOM", "wrapStrategy": "OVERFLOW_CELL", "textFormat": { "foregroundColor": {}, "fontFamily": "arial,sans,sans-serif", "fontSize": 10, "bold": false, "italic": false, "strikethrough": false, "underline": false, "foregroundColorStyle": { "rgbColor": {} } }, "backgroundColorStyle": { "rgbColor": { "red": 1, "green": 1, "blue": 1 } } }, "spreadsheetTheme": { "primaryFontFamily": "Arial", "themeColors": [ { "colorType": "TEXT", "color": { "rgbColor": {} } }, { "colorType": "BACKGROUND", "color": { "rgbColor": { "red": 1, "green": 1, "blue": 1 } } }, { "colorType": "ACCENT1", "color": { "rgbColor": { "red": 0.25882354, "green": 0.52156866, "blue": 0.95686275 } } }, { "colorType": "ACCENT2", "color": { "rgbColor": { "red": 0.91764706, "green": 0.2627451, "blue": 0.20784314 } } }, { "colorType": "ACCENT3", "color": { "rgbColor": { "red": 0.9843137, "green": 0.7372549, "blue": 0.015686275 } } }, { "colorType": "ACCENT4", "color": { "rgbColor": { "red": 0.20392157, "green": 0.65882355, "blue": 0.3254902 } } }, { "colorType": "ACCENT5", "color": { "rgbColor": { "red": 1, "green": 0.42745098, "blue": 0.003921569 } } }, { "colorType": "ACCENT6", "color": { "rgbColor": { "red": 0.27450982, "green": 0.7411765, "blue": 0.7764706 } } }, { "colorType": "LINK", "color": { "rgbColor": { "red": 0.06666667, "green": 0.33333334, "blue": 0.8 } } } ] } }, "sheets": [ { "properties": { "sheetId": sheetId, "title": "Sheet7", "index": 7, "sheetType": "GRID", "gridProperties": { "rowCount": 1000, "columnCount": 26 } } } ], "spreadsheetUrl": spreadsheetUrl }
মেটাডেটা অনুসারে মান আপডেট করুন
নির্দিষ্ট মেটাডেটার সাথে মিলে যাওয়া সেলের মান আপডেট করতে, spreadsheets.values.batchUpdateByDataFilter পদ্ধতি ব্যবহার করুন। আপনাকে স্প্রেডশিট আইডি, valueInputOption এবং মেটাডেটার সাথে মেলে এমন এক বা একাধিক DataFilterValueRange নির্দিষ্ট করতে হবে।
এই উদাহরণে, আমরা অনুরোধে মেটাডেটা আইডি এবং আপডেট করা সারি মান প্রদান করি। প্রতিক্রিয়াটি মেটাডেটা আইডির আপডেট করা বৈশিষ্ট্য এবং ডেটা উভয়ই ফেরত দেয়।
অনুরোধ
{
"data": [
{
"dataFilter": {
"developerMetadataLookup": {
"metadataId": metadataId
}
},
"majorDimension": "ROWS",
"values": [
[
"W-24",
"84"
]
]
}
],
"includeValuesInResponse": true,
"valueInputOption": "USER_ENTERED"
}প্রতিক্রিয়া
{
"spreadsheetId": spreadsheetId,
"totalUpdatedRows": 1,
"totalUpdatedColumns": 2,
"totalUpdatedCells": 2,
"totalUpdatedSheets": 1,
"responses": [
{
"updatedRange": "Sheet7!A7:B7",
"updatedRows": 1,
"updatedColumns": 2,
"updatedCells": 2,
"dataFilter": {
"developerMetadataLookup": {
"metadataId": metadataId
}
},
"updatedData": {
"range": "Sheet7!A7:Z7",
"majorDimension": "ROWS",
"values": [
[
"W-24",
"84"
]
]
}
}
]
}মেটাডেটা অনুসারে মানগুলি সাফ করুন
নির্দিষ্ট মেটাডেটার সাথে মিলে যাওয়া সেল মানগুলি সাফ করতে, spreadsheets.values.batchClearByDataFilter পদ্ধতিটি ব্যবহার করুন। আপনি যে মেটাডেটা সাফ করতে চান তা নির্বাচন করার জন্য আপনাকে একটি ডেটা ফিল্টার নির্দিষ্ট করতে হবে।
অনুরোধ
এই উদাহরণে, আমরা অনুরোধে মেটাডেটা আইডি প্রদান করি। প্রতিক্রিয়াটি স্প্রেডশিট আইডি এবং সাফ করা রেঞ্জগুলি ফেরত দেয়।
{
"dataFilters": [
{
"developerMetadataLookup": {
"metadataId": metadataId
}
}
]
}প্রতিক্রিয়া
{
"spreadsheetId": spreadsheetId,
"clearedRanges": [
"Sheet7!A7:Z7"
]
}মেটাডেটা স্টোরেজ সীমা
একটি স্প্রেডশিটে আপনি মোট কত মেটাডেটা সংরক্ষণ করতে পারবেন তার একটি সীমা রয়েছে। এই সীমা অক্ষরে পরিমাপ করা হয় এবং এটি দুটি উপাদান দিয়ে তৈরি:
| আইটেম | স্টোরেজ সীমা বরাদ্দ |
|---|---|
| স্প্রেডশিট | ৩০,০০০ অক্ষর |
| একটি স্প্রেডশিটের মধ্যে প্রতিটি শীট | ৩০,০০০ অক্ষর |
আপনি স্প্রেডশিটে সর্বোচ্চ ৩০,০০০ অক্ষর সংরক্ষণ করতে পারবেন। এছাড়াও, আপনি একটি স্প্রেডশিটের মধ্যে প্রতিটি শিটের জন্য ৩০,০০০ অক্ষর সংরক্ষণ করতে পারবেন (প্রথম শিটের জন্য ৩০,০০০, দ্বিতীয় শিটের জন্য ৩০,০০০, ইত্যাদি)। সুতরাং ৩ পৃষ্ঠার একটি স্প্রেডশিটে ১২০,০০০ অক্ষর পর্যন্ত ডেভেলপার মেটাডেটা থাকতে পারে।
একটি developerMetadata অবজেক্টের কী এবং মান বৈশিষ্ট্যের প্রতিটি অক্ষর এই সীমার মধ্যে গণনা করা হয়।