স্থানীয় জাভা অ্যাপ ইঞ্জিন ডেটাস্টোর কীভাবে ব্রাউজ করবেন?


84

গুগল অ্যাপ ইঞ্জিনের জাভা প্রয়োগের জন্য পাইথন অ্যাপ ইঞ্জিনের _ah / অ্যাডমিনের সমতুল্য নেই বলে মনে হচ্ছে।

আমি ডেটাস্টোর ব্রাউজ করতে পারি এমন কোনও ম্যানুয়াল উপায় আছে? আমার মেশিনে ফাইলগুলি কোথায় পাওয়া যাবে? (আমি ওএস এক্স-এ Elpipse সহ অ্যাপ ইঞ্জিন প্লাগইন ব্যবহার করছি)।

উত্তর:


111

http://googleappengine.blogspot.com/2009/07/google-app-engine-for-java-sdk-122.html : "শেষ অবধি, দেব অ্যাপসারটির একটি ডেটা ভিউয়ার রয়েছে। স্থানীয়ভাবে আপনার অ্যাপ্লিকেশন শুরু করুন এবং আপনার নির্দেশ করুন এটি পরীক্ষা করার জন্য ব্রাউজারে *।http://localhost:8888/_ah/admin http://localhost:8000/datastore

* 1.7.7 হিসাবে


নতুন অ্যাডমিন ইন্টারফেস এখনও নেটিভ ডেটাস্টোর এপিআই দ্বারা নির্মিত ধরণের / সত্তা নিয়ে কাজ করছে না। তাই আমি এখনও আমার "ভিউয়ার" :) প্রয়োজন
পল

15
লোকালহোস্ট: ৮৮৮৮ / _এইচ / অ্যাডমিন আমার জন্য চ্যাম্পের মতো কাজ করেছে (নোটটি বন্দরটি পরিবর্তিত হয়েছে) - তবে আমি কেবল তুলনার জন্য অ্যাপওয়ারঞ্চটি চেষ্টা করব।
চাদ গর্শিং

তোমাকে অনেক ধন্যবাদ! একটি অধ্যবসায় বিষয়টিকে ডিবাগ করার জন্য আমার সত্যই এটি দরকার ছিল।
সানিড

40

জাভা এসডিকে জন্য বর্তমানে কোনও ডেটাস্টোর ভিউয়ার নেই - পরের এসডিকে রিলিজে আসা উচিত। ইতিমধ্যে, আপনার সেরা বেটটি হ'ল ডেটাস্টোর ভিউং কোডের সাথে আপনার নিজের অ্যাডমিন ইন্টারফেসটি লিখুন - বা পরবর্তী এসডিকে প্রকাশের জন্য অপেক্ষা করুন।

জাভা অ্যাপ ইঞ্জিনে এখন একটি স্থানীয় ডেটাস্টোর ভিউয়ার রয়েছে, যা এখানে অ্যাক্সেসযোগ্য http://localhost:8080/_ah/admin


এটি নিরর্থক - উপরে dfrankow পোস্ট দেখুন।
জুলিয়ান এইচ

23
আপনি এই ব্লগ পোস্টের লিঙ্কটি বোঝাতে চেয়েছিলেন যা আমি এই উত্তর পোস্ট করার কয়েকদিন পরে পোস্ট করা হয়েছিল ? 'পুরানো' আমি মেনে নেব, তবে রিডান্ট্যান্ট এবং ভোট দেওয়া একটু নিষ্ঠুর।
নিক জনসন

4
আমি রাজী. এ সময় ভাল উত্তর; এখন পুরানো।
মাচার্ম

@ মিস্টার এই আমার জন্য কাজ করেছে। অন্য উত্তর এখানে, অন্যদিকে, না।
জনি

6

আমার উইন্ডোজ + cl যুদ্ধ \ ওয়েবে-আইএনএফ \ অ্যাপেনজিন-জেনারেটেড d লোকাল_ডিবি.বিনে উইন্ডোজ + এক্সপ্লিট পরিবেশে স্থানীয় ডেটাস্টোর রয়েছে

যতদূর আমি বুঝতে পেরেছি এটি "প্রোটোকল বাফারস" নামে অভ্যন্তরীণ ফর্ম্যাট ব্যবহার করে। মানব-পঠনযোগ্য ফর্ম্যাটে ফাইল উপস্থাপনের জন্য আমার কাছে বাহ্যিক সরঞ্জাম নেই।

আমি এই জাতীয় সরল "ভিউয়ার" কোড ব্যবহার করছি:

public void doGet(HttpServletRequest req, HttpServletResponse resp) 
    throws IOException 
{

    resp.setContentType("text/plain");

    final DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
    final Query query = new Query("Table/Entity Name");
    //query.addSort(Entity.KEY_RESERVED_PROPERTY, Query.SortDirection.DESCENDING);

    for (final Entity entity : datastore.prepare(query).asIterable()) {
        resp.getWriter().println(entity.getKey().toString());

        final Map<String, Object> properties = entity.getProperties();
        final String[] propertyNames = properties.keySet().toArray(
            new String[properties.size()]);
        for(final String propertyName : propertyNames) {
            resp.getWriter().println("-> " + propertyName + ": " + entity.getProperty(propertyName));
        }
    }
}

কোডটি ভাল, তবে ক্যোয়ারী কনস্ট্রাক্টরের প্যারামিটারটি ভুল: সারণীটি সঠিক নয়, এটি সত্তার নাম। গেস্টবুক উদাহরণে এটি "অভিবাদন" হবে যা সারি row আমি এটি চেষ্টা করেছি, কিন্তু কাজ করছি না: চূড়ান্ত ক্যোয়ারী ক্যোয়ারী = নতুন ক্যোয়ারী ("গেস্টবুক / গ্রিটিং"); অন্য সমস্যা: আপনি কীভাবে আপনার কোড সহ একটি টেবিলের বিভিন্ন কী / সামগ্রীর সামগ্রী প্রদর্শন করবেন? গেস্টবুক 1, জিবি 2 ইত্যাদির মতো
টিমো

2

এসডিকে ( 1.7.6+ ) এর সর্বশেষতম সংস্করণগুলিতে দেব সার্ভারের প্রশাসক অংশটি আসে যার সাথে এটির অবস্থান পরিবর্তন হয়

সার্ভার আউটপুট লগগুলি বিশ্লেষণ করে আমরা দেখতে পাচ্ছি যে এটি এখানে অ্যাক্সেসযোগ্য:

http://localhost:8000

এবং ডেটাস্টোর ভিউয়ার:

http://localhost:8000/datastore

দেখতে বেশ ঝরঝরে - গুগলের নতুন ডিজাইনের গাইডলাইন অনুসারে।


1

গুগল অ্যাপ ইঞ্জিনগুলি ডেটাস্টোর ভিউয়ার রেফারেন্সযুক্ত সত্তাগুলির সংগ্রহ প্রদর্শন করতে সমর্থন করে না, তাই আমি সমস্ত বংশধর সত্তাগুলি প্রদর্শনের জন্য পলের সংস্করণটি সংশোধন করেছি:

public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
    String entityParam = req.getParameter("e");

    resp.setContentType("text/plain");
    final DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();

    // Original query
    final Query queryOrig = new Query(entityParam);
    queryOrig.addSort(Entity.KEY_RESERVED_PROPERTY, Query.SortDirection.ASCENDING);

    for (final Entity entityOrig : datastore.prepare(queryOrig).asIterable()) {

        // Query for this entity and all its descendant entities and collections
        final Query query = new Query();
        query.setAncestor(entityOrig.getKey());
        query.addSort(Entity.KEY_RESERVED_PROPERTY, Query.SortDirection.ASCENDING);

        for (final Entity entity : datastore.prepare(query).asIterable()) {
            resp.getWriter().println(entity.getKey().toString());

            // Print properties
            final Map<String, Object> properties = entity.getProperties();
            final String[] propertyNames = properties.keySet().toArray(new String[properties.size()]);
            for(final String propertyName : propertyNames) {
                resp.getWriter().println("-> " + propertyName + ": " + entity.getProperty(propertyName));
            }
        }
    }
}

এটি লক্ষ করা উচিত যে খালি সংগ্রহ / রেফারেন্সযুক্ত সত্তাগুলির জন্য কিছুই প্রদর্শিত হয় না।


এই কোডটি আপনার সমস্ত সত্তা এবং তাদের শিশু সত্তাগুলির সন্ধান করে, যদি শিশু সংস্থাগুলিরও সন্তান থাকে তবে কী হবে? এই ফাংশন পুনরাবৃত্তি হিসাবে চালানো হবে?
পিনি চেনি

1

\war\WEB-INF\appengine-generated\local_db.binনোটপ্যাড ++ এর মতো কোনও পাঠ্য সম্পাদক দিয়ে ফাইলটি খুলুন ।

ডেটা স্ক্র্যাম্বল করা হয়েছে তবে কমপক্ষে আপনি এটি পড়তে পারেন এবং এটি বের করার জন্য আপনি অনুলিপি করতে পারেন।


0

আমার জন্য ফিক্সটি ছিল নীচের gcloudকমান্ডটি ব্যবহার করে লগইন করা

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