Docs Menu
Docs Home
/
Atlas
/ / /

外部依存関係

外部依存関係は、自分で実装できない、または実装したくないコードを含むライブラリです。 たとえば、外部サービスには公式のライブラリを使用したり、データ構造やアルゴリズムのカスタム実装を使用したりできます。

Atlas は依存関係を自動的に変換し、ほとんどの組み込みNode.jsモジュールもサポートします。

注意

独自のモジュールを作成

ほとんどのnpmモジュールはサードパーティによって記述されていますが、アプリケーション固有のロジックを格納するために独自のnpmモジュールを作成して公開することもできます。モジュールをNode.js Community で使用できるようにしたり、プライベート使用のために予約したりすることもできます。詳細については、 レジストリ へのパッケージの貢献に関する npm のガイドを参照してください。

外部依存関係をインポートして使用するには、まずアプリケーションに依存関係を追加する必要があります。 名前を使用してパッケージを追加するか、依存関係のディレクトリをアップロードできます。

重要

既存の依存関係の上書き

アプリが使用できる外部パッケージを指定するには、一度に 1 つの方法のみを使用できます。 依存関係を指定するために使用した最新の方法は真実のソースであり、以前の指定を上書きします。

たとえば、UI を介して名前を追加したパッケージは、アップロードされた依存関係ディレクトリにあるパッケージを含め、以前に追加した同じパッケージのコピーを上書きします。

名前を使用してnpmレジストリからアプリにパッケージを追加できます。特定のバージョンを追加するか、最新バージョンを使用できます。

1
  1. まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。

  2. まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。

  3. サイドバーで、 Streaming Data見出しの下のTriggersをクリックします。

Triggersページが表示されます。

2
  1. 依存関係を追加する trigger を選択します。

  2. Edit Trigger ページで、Function セクションにGoし、Add Dependency をクリックします。

3
  1. Add Dependencyモーダルウィンドウに、次の情報を含めます。

    フィールド
    説明

    パッケージ名を定義する

    npm パッケージの名前。

    パッケージ バージョン

    任意。 使用する依存関係の特定のバージョン。 デフォルトでは 、Atlas 関数は利用可能な最新バージョンを使用します。

  2. パッケージを追加するには、 Addをクリックします。

依存関係を追加する状況は、ウィンドウの下部にある進行状況追跡で追跡できます。 進行状況追跡は、パッケージが成功したか失敗したかを示すメッセージを提供します。 失敗メッセージには、パッケージを追加できなかった理由に関する追加情報が含まれています。

4

依存関係を正常に追加すると、メインのTriggersページのDependenciesタブの依存関係のリストに表示されます。

圧縮された node_modulesディレクトリのパッケージをアプリにアップロードできます。 圧縮された依存関係ディレクトリは 15 MB を超えることはできません。

重要

既存の依存関係の上書き

アーカイブをインポートすると、既存の依存関係がすべて削除されます。

1

外部依存関係をアップロードするには、まず少なくとも 1 つの Node.js パッケージを含むローカルnode_modulesフォルダーが必要です。 次のコード スニペットを使用して、アップロードする依存関係をローカルにインストールできます。

npm install <package name>

node_modulesフォルダがまだ存在しない場合、このコマンドはそれを自動的に作成します。

注意

インストールの代替方法

また、 package.jsonを構成し、 npm installコマンドを実行して、 package.jsonにリストされているすべてのパッケージ(およびその依存関係)をインストールすることもできます。

npmと node_modules の詳細については、npmドキュメント を参照してください。

2

すべてのnpmモジュールをダウンロードしたので、Atlas にアップロードできるように、アーカイブにパッケージ化する必要があります。 Atlas は、 .tar.tar.gz.tgz.zipアーカイブ形式をサポートしています。

node_modulesフォルダーを含むアーカイブを作成します。

tar -czf node_modules.tar.gz node_modules/

依存関係を含むアーカイブを作成したら、Atlas UIを使用して依存関係アーカイブをアップロードできます。

3
  1. まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。

  2. まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。

  3. サイドバーで、 Streaming Data見出しの下のTriggersをクリックします。

Triggersページが表示されます。

4
  1. Dependencies タブを選択します。

  2. [Upload Folder] をクリックします。

  3. [] モーダルで、[ node_modules.tar.gz Upload Folder ] をクリックし、作成した [] アーカイブを選択します。

  4. [ Addをクリックします。 Atlas は アーカイブファイルをアップロードします。これには、インターネット接続の速度と依存関係アーカイブのサイズによっては、数分かかる場合があります。

  5. Atlas は、操作の成功または失敗を示すバナーを表示します。 成功した場合、 Dependenciesタブには依存関係アーカイブに含めた依存関係のリストが表示されます。

    • 配置案が有効になっている場合は、これらの変更を適用するためにReview & Deployもクリックする必要があります。

    • 配置案が無効になっている場合、依存関係アーカイブのサイズに応じて、 5から60秒以内に変更が有効になります。

アプリに追加した組み込みモジュールと外部パッケージをインポートし、関数で使用できます。 パッケージをインポートするには、関数本体内からパッケージ名を指定してrequire()を呼び出します。

重要

モジュールをインポートするには

Node.jsプロジェクトは通常、各ファイルのグローバル スコープにrequire()呼び出しを配置しますが、Atlas はこのパターンをサポートしていません。 関数のスコープ内でrequire()呼び出しを配置する必要があります。

exports = () => {
const R = require("ramda");
return R.map(x => x*2, [1,2,3]);
}
exports = function(arg){
const cloneDeep = require("lodash/cloneDeep");
var original = { name: "Deep" };
var copy = cloneDeep(original);
copy.name = "John";
console.log(`original: ${original.name}`);
console.log(`copy: ${copy.name}`);
return (original != copy);
};

戻る

Global Modules

項目一覧