データAPI はサポート終了のステータスに達し、 MongoDBによってアクティブにサポートされなくなりました。このページは履歴参照のみを目的として作成されています。詳しくは、「 データAPIと HTTPS エンドポイントの廃止 」を参照してください。
データAPIは、標準の HTTPS requests を使用して Atlas に保存されたデータを安全に操作できるマネージド サービスでした。データAPI はデータベースに直接接続するものではありません。代わりに、APIは、クラスターとリクエストを送信するクライアントの間にある完全管理のミドルウェアサービスです。
データ API を使用すると、次のような HTTPS をサポートする任意のプラットフォームから MongoDB Atlas に接続できます。
ウェブ ブラウザ
ウェブ サーバー
CI/CD パイプライン
モバイル アプリケーション
モノのインターネット デバイス
データ API を使用するために、データベース ドライバーや独自のライブラリをインストールする必要はありません。代わりに、次のような標準の HTTPS requests を送信します。
curl -s "https://data.mongodb-api.com/app/myapp-abcde/endpoint/data/v1/action/insertOne" \ -X POST \ -H "Content-Type: application/ejson" \ -H "Accept: application/json" \ -H "apiKey: TpqAKQgvhZE4r6AOzpVydJ9a3tB1BLMrgDzLlBLbihKNDzSJWTAHMVbsMoIOpnM6" \ -d '{ "dataSource": "mongodb-atlas", "database": "learn-data-api", "collection": "hello", "document": { "text": "Hello, world!" } }'
{ "insertedId": "63dc56ac74ddb86ed3eb8474" }
エンドポイントとなる接続されたデバイス [サポート終了]
データAPI は、次の 2 種類のエンドポイントとなる接続されたデバイスをサポートしていました。
データAPI エンドポイントとなる接続されたデバイスは、それぞれがMongoDB操作を表す自動生成されたエンドポイントでした。エンドポイントとなる接続されたデバイスを使用すると、MongoDBデータソース内のドキュメントの作成、読み取り、更新、削除する、および集計を行えます。
カスタムのエンドポイントとなる接続されたデバイスは、書き込んだAtlas関数によって処理されるアプリ固有のAPIルートでした。カスタムのエンドポイントとなる接続されたデバイスを使用すると、ユースケースに特に適した操作を定義できます。例、事前に定義された集計を実行するエンドポイントとなる接続されたデバイスや、外部の Webhook サービスと統合するエンドポイントとなる接続されたデバイスを作成できます。
データAPI の仕組み [終了]
データ API リクエストは、find や insertOne などの従来のデータベース操作に似ている場合がありますが、データ API はデータベースに直接接続するものではありません。代わりに、データ API は、認証、承認、および正確性のチェックを追加して、許可された方法でのみデータがアクセスまたは変更されるようにします。これにより、ウェブ アプリなどの潜在的に脆弱なクライアントから Atlas のデータに安全にアクセスできるようになります。
受信リクエストごとに、データ API は次のことを行います。
呼び出し元のユーザーを認証した。これには、アクセス トークンの検証、ヘッダー認証情報によるログイン、または構成に基づいて特定のランタイムユーザーを直接割り当てることが含まれる場合があります。
リクエストを認可しました。これにより、ユーザーは正しい形式のリクエストを送信し、エンドポイントとなる接続されたデバイス承認スキームに基づいてリクエストされた操作を実行する権限を持っていることが保証されます。
リクエストされた操作を実行しました。これには、生成されたエンドポイントとなる接続されたデバイスを使用して Atlas でデータを読み書きしたり、書き込みのカスタム関数を呼び出したりすることが含まれる場合があります。
Atlas でデータを読み取りまたは書き込みするリクエストの場合、データ API は、アプリで定義されたアクセス制御ルールとドキュメント スキーマも適用します。つまりユーザーは、読み取りおよび書き込みが許可されたデータにしかアクセスできません。無効な書き込み操作が含まれている場合、リクエストは失敗します。
HTTPS レスポンスを呼び出し元に返す 。応答には、生成されたエンドポイントとなる接続されたデバイス操作の結果またはカスタム エンドポイントとなる接続されたデバイスから返されたデータが含まれました。リクエストでは、JSON形式 または EJSON形式のどちらかで応答を受信することを選択できます。
データAPI [サポート終了]
サーバーアプリケーションの場合、特に高負荷でレイテンシの影響を受けやすいユースケースの場合は、 MongoDBドライバーを使用して Atlas に直接接続することをお勧めします。データAPIエンドポイントとなる接続されたデバイスを介して呼び出される操作は、ドライバーを介して呼び出される対応するMongoDB操作よりも完了に時間がかかります。さらに、ドライバーによって、操作の実行方法に対する柔軟性と制御が向上します。詳しくは、MongoDBドライバーのドキュメントを参照してください。
データAPI は使用できなくなりました。非推奨になる前は、次の場合にはデータAPI を使用することを推奨していました。
信頼できない Web アプリケーションまたはその他のクライアントから MongoDB 操作を実行する場合。
サーバー側の環境で MongoDB ドライバーを管理できない、または管理したくない場合。たとえば、一部のエッジ コンピューティング環境は、データベース ドライバーや接続プーリングをサポートしていません。
新しい機能を開発したいが、後で API レイヤーを作成し改良する前に、まずクライアント側で作業するための柔軟なソリューションを好む場合。
Atlas データアクセスをフェデレーティッド API ゲートウェイに統合する場合。
現在 Atlas Device SDK でサポートされていない環境から App Services に接続し、ワイヤプロトコル経由で接続するためにドライバーを使用しない場合。
制約 [EOL]
データ API のリクエストと応答には次の制約が適用されます。
リクエストは、実行時間が 300 秒後にタイムアウトします。
データ APII 応答ペイロードのサイズは 350 MB に制限されています。