2

mongolab と AWS で解析サーバーの使用を開始しました。すべて正常に動作しますが、画像が取得されません。「fileKey」を設定する必要があることをどこかで読みました。下の画像のようにAWSコンソールに追加してみました。しかし、それはまだ機能していませんか?IOS Swift プロジェクトの appDelegate にも追加する必要がありますか? どうすればいいですか?

ここに画像の説明を入力

4

2 に答える 2

4

もっと正気で、

更新: 2016 年 3 月 9 日午後 12 時 (PST) の時点で、「Parse Server on AWS Elastic Beanstalk」ソリューションには FILE_KEY 環境プロパティが含まれており、アプリケーションによって解析されます。したがって、以下のこのプロセスを実行する必要はありませんが、将来行う必要がある他のアプリケーションの更新に役立ちます。/END 更新

問題を明確にするために、「レガシー」解析ファイル (移行前にアプリケーションにアップロードされたもの) にアクセスできず、新しくアップロードされたファイルへのアクセスに問題はないと思いますか? もしそうなら、読み進めてください。

問題: AWS Elastic Beanstalk の Parse Server に移行する前に、アプリケーションにアップロードされたファイルを取得できません。

問題: パスが正しくないために、Parse ファイル キーが欠落しているため、移行された Parse サーバーは (Parse が所有する S3 バケットでホストされている) レガシー ファイルを取得できません。たとえば、ファイルに関連付けられたオブジェクトに対して単純な GET を実行すると、次のようになります。

「URL」: http://files.parsetfss.com/invalid-file-key/tfss-0a209bb7-8497-4e4f-8cdf-a5d4190a48c4-myTwins.jpg

URL パラメーターは/invalid-file-key/欠落している要素であり、ファイル キーが提供されない場合のデフォルトのプレースホルダーとして解析サーバーによって配置されました。以下で提案されている変更を行った後、同じリクエストで正しい URL が返さ/invalid-file-key/れ、/actual File Key/ が置き換えられます。

解析ファイルの詳細については、移行前/移行後の解析ファイルに関する私の他のスタック オーバーフローの回答を参照してください。

解決策: EB 環境プロパティ内で FILE_KEY プロパティ名を設定することは正しいですが、残念ながら、実際にファイル キー プロパティを読み取るには、解析サーバーの index.js ファイルに追加の変更を加える必要があります。Parse Server アプリケーションを更新するには、2 つの方法があります。Elastic Beanstalk コンソールまたは Elastic Beanstalk CLI (EB CLI) を使用します。両方のソリューションを以下に示します。

パース ファイルの「ファイル キー」を AWS Elastic Beanstalk 上の既存のパース サーバーに追加します。

(コンソール) AWS Elastic Beanstalk Management Console を使用してアプリケーションのバージョンを更新します。

このソリューションには、Parse Server の既存の EB アプリケーション バージョンを (.zip アーカイブとして) ダウンロードし、index.js ファイルをローカルで変更し、圧縮してバックアップし、最後に変更を同じアプリケーション バージョン ページに新しいバージョンとしてアップロードすることが含まれます。アプリケーション。現在の Parse Server EB アプリケーション バージョンをダウンロードして編集します。

  • Elastic Beanstalk コンソールを開きます。
  • リージョン リストから、操作するアプリケーションを含むリージョンを選択します。
  • Elastic Beanstalk コンソール アプリケーション ページから、新しいアプリケーション バージョンを追加するアプリケーションの名前をクリックします。
  • ナビゲーション ウィンドウで、[アプリケーションのバージョン] をクリックします。

    ここに画像の説明を入力

  • [ソース] の下の .zip ファイル リンクをクリックして、アプリケーションをローカルにダウンロードします。

  • アプリケーションを解凍します
  • アプリケーションのルートにある index.js ファイルを編集し、黄色で強調表示されている行を追加します。 ここに画像の説明を入力
  • index.js ファイルを保存します。
  • アプリケーションを圧縮します (:オブジェクトを含むフォルダーではなく、解凍したフォルダー内のルート オブジェクトのみを圧縮します)。

Parse Server アプリケーションの新しいバージョンをアップロードします。

  • Parse Server アプリケーションの Application Versions EB ページから、[アップロード] をクリックします。

  • バージョン ラベルと説明を入力し、更新した .zip アプリケーションを選択して [アップロード] をクリックします。

  • これにより、以前のバージョンがまだ実行されている間に、アプリケーションの「新しいバージョン」がアップロードされます。

Parse Server アプリケーションの新しいバージョンをデプロイします。

  • 新しくアップロードされたバージョンを選択し、[デプロイ] をクリックします。

  • ドロップダウンから環境を選択し、[デプロイ] をクリックします。

最終ステップ: スクリーンショットに示すように、FILE_KEY 環境プロパティを追加します。[適用] をクリックします。

このソリューションで問題が発生した場合は、次の EB デプロイ手順に従ってください: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.deployment.html

(CLI) Elastic Beanstalk コマンドライン インターフェイス ( EB CLI ) を使用する:

このソリューションでは、EB CLI を使用して、新しいバージョンの Parse サーバー アプリケーションをダウンロード、編集、デプロイします。

  • mkdir tmp-app-folder
  • cd tmp-app-folder
  • eb init (リージョン、アプリ、コードを実行する環境を選択)
  • eb labs download (EB 環境からコードをダウンロードします)
  • index.js ファイルに必要な変更を加える
  • eb deploy (アプリの再構築)
  • eb setenv FILE_KEY= (アプリの再構築) 完了。

Parse ファイル キーの取得 : Parse がホストするファイル キーは、Parse.com コンソールから取得できます。Parse.com にログインし、アプリを選択して、[アプリの設定] > [セキュリティとキー] の下にある [ファイル キー] をコピーします。注: Parse は、「ベータ」ダッシュボードでのみ「ファイル キー」を使用できるようにします。

これは、単純なソリューションの詳細な手順のように思えますが、将来、Elastic Beanstalk 環境で Parse Server アプリケーションを更新する必要がある他の Parse 開発者にも役立つはずです。たとえば、移行後に自分の S3 バケットにファイルを保存する場合

于 2016-03-05T00:23:00.967 に答える
1

index.js ファイルの fileKey が抜けているようです。

解析ダッシュボードからファイル キーを取得する

ここに画像の説明を入力

解析サーバーの index.js ファイルに移動し、filekey 値を設定します。

var api = new ParseServer({ databaseURI: databaseUri || 'mongodb://localhost:27017/dev', appId: 'xxx', clientKey: 'xxx', masterKey: 'xxx', fileKey: 'xxx' });

于 2016-03-17T06:48:46.103 に答える