3

Google App Engine では、FTP 経由でファイルを取得したり、ファイルをアプリケーションに FTP 送信したりする方法はありますか? FTP のみをサポートするベンダーにデータを送信できるようにしたいと考えています。

なにか提案を?誰かが持っている助けやアイデアに感謝します

ありがとうございます

4

4 に答える 4

2

以前はこの制限に頭がおかしくなりましたが、今年の 4 月 9 日 (SDK 1.7.7)の時点で、これはもはや問題ではありません。アウトバウンド ソケット (FTP など) は、通常、すべての課金対応アプリで利用できます。

概要 (Python): https://developers.google.com/appengine/docs/python/sockets/

于 2013-08-01T04:39:39.400 に答える
0

ftp プロキシを作成し、Google Cloud Engine で実行します。

于 2012-10-07T04:27:25.530 に答える
0

私がテストしたFTPコードは、GAEで機能します(課金が有効になっています)

パイソン

#!/usr/bin/env python
from google.appengine.ext import webapp
from ftplib import FTP

class HwHandler(webapp.RequestHandler):
    def get(self):
        self.response.out.write('FTP Starting...<br>')
        ftp = FTP('ftp_site.com') 
        ftp.login('login', 'password')
        ftp.set_pasv(False) 
        ftp.retrlines('LIST')  # list directory contents
        self.response.out.write('FTP opened')
        ftp.quit()

app = webapp.WSGIApplication([
    ('/', HwHandler)
 ], debug=True)

Php

<?php 
/* set the FTP hostname */ 
$user = "test"; 
$pass = "myFTP"; 
$host = "example.com"; 
$file = "test.txt"; 
$hostname = $user . ":" . $pass . "@" . $host . "/" . $file; 

/* the file content */ 
$content = "this is just a test."; 

/* create a stream context telling PHP to overwrite the file */ 
$options = array('ftp' => array('overwrite' => true)); 
$stream = stream_context_create($options); 

/* and finally, put the contents */ 
file_put_contents($hostname, $content, 0, $stream); 
?>

Java & Go については後で更新します。

于 2015-04-15T02:33:39.140 に答える
-1

FTP は AppEngine で現在利用できるものではありませんが、複雑なソリューションを使用できます。

  1. データをファイルとして Google Cloud Storage にエクスポートします。Appengine FileService を使用すると簡単です。AppEngine Pipelines ライブラリを使用して、このプロセスを管理できます。
  2. Google Compute Engine インスタンスを作成します。ソケットを作成し、必要なソフトウェアを使用できる仮想マシンです。
  3. Compute Engine インスタンスに FTP サーバーをセットアップします。
  4. Compute Engine はクラウド ストレージにアクセスできるため、FTP 経由でサードパーティ クライアントにファイルを提供できます。

これは複雑なプロセスですが、問題の解決に役立つ可能性があります。

于 2012-10-06T17:03:34.883 に答える