Подтвердить что ты не робот

Могу ли я использовать базу данных MySQL с приложением App Engine

Я знаю, что App Engine имеет свой собственный хранилище данных. Это отлично подходит для большинства случаев и довольно прост в использовании. Однако у нас есть база данных MySQL, которую мы используем для нескольких приложений, и не все из них основаны на Web. Мы хотим использовать App Engine по многим причинам, но хотели бы, чтобы приложение App Engine обращалось к нашей базе данных MySQL. В документации, которую я нашел, четко не указано, могу ли я это сделать или нет. Кто-нибудь сделал это или указал указатели на документы, которые показывают, как это сделать?

4b9b3361

Ответ 2

Невозможно создать прямое сетевое подключение к базе данных. На странице обзора описаны основные ограничения, которые помешали бы вам использовать Mysql - главное в этом случае - "произвольные сетевые подключения" . Вы можете делать только http (-ы) вызовы из движка приложения.

JVM работает в защищенной "песочнице" окружающей среды, чтобы изолировать приложение для обслуживания и безопасности. Песочница гарантирует, что приложения могут выполнять действия, которые не мешают с производительностью и масштабируемостью других приложений. Например, приложение не может порождать потоки, записывать данные в локальной файловой системы или сделать произвольные сетевые подключения. Приложение также не может использовать JNI или другой родной код. JVM может выполнять любую Java байт-код, который работает в песочницы.

Ответ 3

Простой ответ: NO.

Способ доступа к MySQL будет заключаться в том, чтобы открыть для него интерфейс веб-сервиса.

Ответ 5

Использование локального экземпляра MySQL во время разработки:  

 

 import com.google.appengine.api.rdbms.AppEngineDriver;
    public static void makeConnection() {
        try {
            if (conn == null || !conn.isValid(0)) {
                String url = "localhost/databasename";
                String username = "root";
                String password = "password";
                DriverManager.registerDriver(new AppEngineDriver());
                String urlForConnection = "jdbc:mysql://" + url;
                conn = DriverManager.getConnection(urlForConnection, username, password);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

// in web.xml
    <filter>
        <filter-name>_ah_DevSocketFilter</filter-name>
        <filter-class>com.google.appengine.api.socket.dev.DevSocketFilter</filter-class>
        <init-param>
            <param-name>use-native-sockets</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>

    <filter-mapping>
        <filter-name>_ah_DevSocketFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

код>

Использование облака

 

    DriverManager.registerDriver(new AppEngineDriver());
              c = DriverManager.getConnection("jdbc:google:rdbms://instance_name/guestbook");

Ответ 6

Да, но не нормальный, создавая веб-службу или простую страницу php, которая действует как промежуточная и передает данные в json или xml.

Ответ 7

Я все еще нахожусь в фазе обучения всего этого, но я вполне уверен, что вы можете сделать это сейчас несколькими способами:

  • Свяжите сценарии приложений приложений с App Engine и используйте JDBC и зачеркните его в Google
  • Храните свою базу данных SQL в облачном хранилище Google
  • Подключить скрипты приложений через скрипты электронной таблицы
  • Используйте свой Cloud SQL

"Google Apps Script имеет возможность подключаться к базам данных через JDBC с помощью службы Jdbc. Текущая поддержка распространяется на MySQL, Microsoft SQL Server и Oracle. Приложения Script упрощают подключение к базам данных, размещенным на Google Cloud SQL, но также работает с другими облачными платформами и даже локальными базами данных". https://developers.google.com/apps-script/jdbc

(исходно из Вопрос о приложении)

Ответ 8

Да, вы можете.

Читайте о int https://cloud.google.com/sql/docs

Вы можете использовать его на любом языке, поддерживаемом GAE, и подключаться к нему извне GAE.