ইয়ামল ফাইল পার্স করার সময় ত্রুটি: ম্যাপিংয়ের মানগুলি এখানে অনুমোদিত নয়


90

আমি গুগল অ্যাপ ইঞ্জিনে একটি অ্যাপ্লিকেশন আপলোড করতে চাই:

বুঝতে পেরেছি

Error parsing yaml file:
mapping values are not allowed here
  in "/home/antonio/Desktop/ATI/climate-change/app.yaml", line 2, column 8 

দৌড়ানোর সময়

./appcfg.py update /home/antonio/Desktop/ATI/climate-change

এই app.yaml ফাইলটি সহ:

application:climate-change
version: 1
runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /.*
  script: helloworld.app

লাইন 2, কলাম 8 সংস্করণ লাইনের সাথে সামঞ্জস্য করে। এখানে কি ভুল? বিটিডব্লিউ, আমি এখানে উবুন্টু 12.04 ব্যবহার করছি।


আপনি স্কাইপ বা কোনও সফ্টওয়্যার থেকে পাঠ্যটি অনুলিপি করছেন না তা নিশ্চিত করুন। প্রথমে পাঠ্য সম্পাদককে পাঠ্য আটকান, তারপরে সেখান থেকে অনুলিপি করুন। আমি স্কাইপ থেকে অনুলিপি করেছি এবং দৃশ্যত কোনও সমস্যা ছিল না। আমি এটিকে কেবল মুছে ফেলা এবং তারপরে বৈধ (ইউনিক্স) স্পেসগুলি তৈরি করতে 'স্পেস' পুনরায় টাইপ করে সমাধান করেছি।
নাদজিব মামি

উত্তর:



63

অন্য কারণ হ'ল ভুল উদ্বোধন যার অর্থ ভুল অবজেক্ট তৈরি করার চেষ্টা করা। আমি একটি কুবেরনেটস ইনগ্রেশ সংজ্ঞাতে কেবল একটি স্থির করেছি:

ভুল

- path: / 
    backend: 
      serviceName: <service_name> 
      servicePort: <port> 

সঠিক

- path: /
  backend:
    serviceName: <service_name>
    servicePort: <port>

4
হ্যাঁ, এটি আমার সমস্যাও ছিল। এজন্য পাইথন বোকা বোকা। হোয়াইটস্পেস গুরুত্বপূর্ণ হওয়া উচিত নয়।
কেনি ওয়াইল্যান্ড

এটি একটি অজগর ফাইল ছিল ধারণা ছিল না। আমার এক অতিরিক্ত জায়গা ছিল। পাগল। উত্তরের জন্য ধন্যবাদ!
ভার্ন জেনসেন

4
এটি পাইথন ফাইল নয়। ওয়াইএএমএল এবং পাইথন একইরকম যে তারা আপনারা অন্যথায় প্রয়োজন হবে এমন বিরামচিহ্নের পরিমাণ হ্রাস করতে তারা উভয়ই "লোড-বিয়ারিং হোয়াইটস্পেস" ব্যবহার করে।
শেকার

4
@ শ্যাকার আমার বিরামচিহ্ন হবে
বট_বট

হ্যাঁ তবে একরকম পাইথনে ইন্ডেন্টেশন আমাকে কখনই ওয়াইএএমএল-তে ইস্যু দেয়নি। একটি তালিকা আইটেমের ব্যবধানে থাকা অবজেক্টটি আমাকে প্রতিবার পেয়ে যায়। YAML সত্যিই একটি ভয়ঙ্কর ফর্ম্যাট। আমরা কেন কেবল মন্তব্য এবং ট্রেলিং কমা সহ জেএসএন রাখতে পারি না। এত সহজ হবে।
জেলওয়েলার

5

অথবা, যদি ব্যবধানটি সমস্যা না হয় তবে এটি ফাইলের নামের চেয়ে পিতামাতার ডিরেক্টরি নামটি চাইতে পারে।

না $ dev_appserver helloapp.py
কিন্তু$ dev_appserver hello/

উদাহরণ স্বরূপ:

Johns-Mac:hello john$ dev_appserver.py helloworld.py
Traceback (most recent call last):
  File "/usr/local/bin/dev_appserver.py", line 82, in <module>
    _run_file(__file__, globals())
...
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/yaml_listener.py", line 212, in _GenerateEventParameters
    raise yaml_errors.EventListenerYAMLError(e)
google.appengine.api.yaml_errors.EventListenerYAMLError: mapping values are not allowed here
  in "helloworld.py", line 3, column 39

বনাম

Johns-Mac:hello john$ cd ..
Johns-Mac:fbm john$ dev_appserver.py hello/
INFO     2014-09-15 11:44:27,828 api_server.py:171] Starting API server at: http://localhost:61049
INFO     2014-09-15 11:44:27,831 dispatcher.py:183] Starting module "default" running at: http://localhost:8080

2

হতে পারে এটি অন্য কাউকে সহায়তা করবে, কিন্তু আমি এই ত্রুটিটি দেখেছি যখন ম্যাপিংয়ের আরএইচএসে কোনও কোট না করে কোলন থাকে, যেমন:

someKey: অন্য কী: আজ করতে পরিবর্তন: আরও কাজ করুন

হতে হবে

সামার কে: আরেকটি কী: "আজকে করার জন্য পরিবর্তন করুন: আরও কাজ করুন"


2

জোয়ের উত্তরে উল্লিখিত অনুরূপ পরিস্থিতিতে আমি এই ত্রুটিটি দেখেছি:

description: Too high 5xx responses rate: {{ .Value }} > 0.05

আমাদের কাছে বর্ণনা মানের একটি কোলন রয়েছে। সুতরাং, সমস্যাটি বর্ণনা মূল্যের চারপাশে নিখোঁজ হওয়াতে রয়েছে। এটি উদ্ধৃতি যোগ করে সমাধান করা যেতে পারে:

description: 'Too high 5xx responses rate: {{ .Value }} > 0.05'

1

ত্রুটিপূর্ণ:

people:
  empId: 123
  empName: John
    empDept: IT

সঠিক:

people:
  emp:
    id: 123
    name: John
    dept: IT

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.