資料來源 - AWS AppSync GraphQL

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

資料來源

在上一節中,我們了解到結構描述會定義資料的形狀。不過,我們從未說明資料來自何處。在實際專案中,您的結構描述就像處理對伺服器提出之所有請求的閘道。提出請求時,結構描述會作為與用戶端連接的單一端點。結構描述將存取、處理和將資料從資料來源傳回用戶端。請參閱以下資訊圖表:

GraphQL schema integrating multiple AWS 服務 for a single endpoint API architecture.

AWS AppSync 和 GraphQL 完美實作後端前端 (BFF) 解決方案。它們可串聯運作,透過抽象後端來降低大規模複雜性。如果您的 服務使用不同的資料來源和/或微服務,基本上您可以透過在單一結構描述 (子圖) 中定義每個來源 (子圖) 的資料形狀,來抽象一些複雜性。這表示您的 GraphQL API 不限於使用一個資料來源。您可以將任何數量的資料來源與 GraphQL 建立關聯,API並在程式碼中指定它們將如何與服務互動。

如您在資訊圖表中所見,GraphQL 結構描述包含用戶端請求資料所需的所有資訊。這表示所有內容都可以在單一請求中處理,而不是多個請求,就像使用 的情況一樣REST。這些請求會經過結構描述,這是服務的唯一端點。處理請求時,解析程式 (在下一節中說明) 會執行其程式碼來處理來自相關資料來源的資料。傳回回應時,與資料來源綁定的子圖會填入結構描述中的資料。

AWS AppSync 支援許多不同的資料來源類型。在下表中,我們將描述每種類型、列出每種類型的一些優點,並提供實用連結以用於其他內容。

資料來源 描述 優勢 補充資訊
Amazon DynamoDB "Amazon DynamoDB 是完全受管的無SQL資料庫服務,可提供快速且可預測的效能,並具有無縫的可擴展性。DynamoDB 是全受管的 NoSQL 資料庫服務,可讓您卸下操作及擴展分散式資料庫的管理負擔,不再需要煩惱硬體佈建、設定和組態、複寫、軟體修補或叢集擴展。DynamoDB 也提供靜態加密,消除了保護敏感資料涉及的操作負擔和複雜性。

  • 大規模效能:DynamoDB 的設計是以任何規模的一致效能為目標。這可以透過使用分割區來實現。DynamoDB 會自動將您的資料表分割為數個配置,這些配置會SSDs跨多個節點存放在多個 中。這通常會提高網路輸送量並減少延遲。

  • 大規模容量:DynamoDB 會監控流量,並允許您在網路長時間保持超載時自動擴展輸送量。

  • 可用性和容錯性 :DynamoDB 由數個實體隔離區域支援,每個區域都包含數個實體隔離的可用區域。DynamoDB 會在服務中斷時自動切換至備份區域。您也可以手動備份和複寫資料,以確保資料安全。

  • 記錄和監控 :DynamoDB 為您的資料表提供數種分析工具。您可以監控資料表的效能並建立警示,以通知您服務的重大變更。

  • 安全性 :DynamoDB 遵循嚴格的通訊協定,以確保您的資料符合組織的安全需求。

  • 與 整合 AWS AppSync:DynamoDB 與我們的服務無縫整合。您可以建立新的 DynamoDB 資料表,並自動從它們產生結構描述,以簡化您的開發程序。我們也提供完整的 操作集合,以便從解析器帳戶中現有的 DynamoDB 資料表輕鬆請求資料。

AWS Lambda 「AWS Lambda 是一種運算服務,可讓您執行程式碼,而無需佈建或管理伺服器。

Lambda 在高可用性的運算基礎設施上執行您的程式碼,並執行所有運算資源的管理,包括伺服器與作業系統維護、容量佈建與自動擴展以及記錄。使用 Lambda,您只需在 Lambda 支援的語言執行時間之一提供程式碼。"

  • Pay-as-you-use 模型 :Lambda 只會在您使用其資源時向您收取費用。它們還允許您擴展用於應用程式需求的資源量。

  • 自動擴展 :有時您的應用程式可能需要特定程序的額外運算能力。Lambda 可讓您自動擴展運算資源,以符合應用程式的需求。

  • 更快的部署時間:您可以透過部署套件簡化開發程序。使用套件將您的函數程式碼上傳至 Lambda 服務。然後,您可以使用其執行期環境來測試和執行函數。

  • 多功能性:Lambda 可用於多種使用案例。您可以無縫整合 Lambda 與第三方服務和 AWS 類似服務。一些範例包括 CI/CD 管道大量郵寄服務

  • 與 整合 AWS AppSync:您可以輕鬆地在解析器中調用 Lambda 函數來處理請求。我們的服務提供簡化的請求操作,以執行 Lambda 呼叫。我們允許單一和批次通話。

OpenSearch "Amazon OpenSearch Service 是一項受管服務,可讓您輕鬆地在 AWS Cloud 中部署、操作和擴展 OpenSearch 叢集。Amazon OpenSearch Service 支援 OpenSearch 和舊版 Elasticsearch OSS(最高 7.10,軟體的最終開放原始碼版本)。在您建立叢集時,您可選擇要使用的搜尋引擎。

OpenSearch 是完全開放原始碼的搜尋和分析引擎,適用於日誌分析、即時應用程式監控和點擊串流分析等使用案例。如需詳細資訊,請參閱 OpenSearch 文件

Amazon OpenSearch Service 會為您的 OpenSearch 叢集佈建所有資源並啟動它。它也會自動偵測並取代失敗 OpenSearch 的服務節點,減少與自我管理基礎設施相關聯的額外負荷。您可以在主控台中透過單一API呼叫或按幾下滑鼠來擴展叢集。"

  • 擴展 :您可以透過 OpenSearch Serverless 輕鬆擴展服務以符合您的服務需求。

  • 資料擷取 :您可以使用 OpenSearch 擷取來匯入、處理和分析資料。您可以在這裡找到許多用於資料擷取的應用程式

  • 安全性: OpenSearch 可以管理您的 AWS 安全性組態,包括 IAM、 CloudTrail、、VPCs身分驗證等。

  • 可用性: OpenSearch 也支援其服務中的不同區域和可用區域。

  • 與 整合 AWS AppSync:在 中 AWS AppSync,您可以使用 GraphQL 來APIs儲存和擷取帳戶中現有 OpenSearch 服務網域的資料。

HTTP 端點 您可以使用HTTP端點作為資料來源。 AWS AppSync 可以傳送請求至具有參數和承載等相關資訊的端點。HTTP 回應會暴露至解析器,該解析器會在完成操作後傳回最終回應 (這些回應)。
  • 適用於未與 Lambda 等服務整合的簡單應用程式。

Amazon EventBridge “EventBridge 是一種無伺服器服務,使用事件將應用程式元件連接在一起,讓您更容易建置可擴展的事件驅動應用程式。使用它,將事件從自行開發的應用程式、 AWS 服務和第三方軟體等來源路由到整個組織的消費者應用程式。 EventBridge 提供簡單且一致的方式來擷取、篩選、轉換和交付事件,以便您可以快速建立新應用程式。"

  • 事件驅動架構 :您可以利用事件驅動架構

  • 排程 :您可以使用 EventBridge 排程器,使用 Cron 表達式自動執行任務和規則,或設定時間間隔作為事件模式的替代方案。

  • 管道 :使用 EventBridge 管道,您可以將事件匯流排取代為管道,其中包含額外的篩選事件模式,以及透過資料轉換擴充,再將事件傳送至目標。

  • 與 整合 AWS AppSync: AWS AppSync可讓您使用解析器將事件傳送至事件匯流排。

關聯式資料庫 "Amazon Relational Database Service (Amazon RDS) 是一種 Web 服務,可讓您更輕鬆地在 AWS Cloud 中設定、操作和擴展關聯式資料庫。它為產業標準關聯式資料庫提供經濟實惠、可擴展的容量,並管理常見的資料庫管理任務。"

  • 輕鬆管理 :定期對其資源RDS執行維護。維護通常涉及資料庫執行個體基礎硬體、基礎作業系統 (OS) 或資料庫引擎版本的更新。在正常情況下,您可以決定何時執行更新 (例外包括安全修補程式)。

  • 建議:RDS' 建議功能提供自動建議,以修正執行個體中的潛在問題。

  • 可用性:RDS適用於世界各地的不同實體區域。您可以輕鬆地將資料庫需求分散到不同的節點,為客戶提供更好的服務。

  • 自訂: RDS 專為滿足大型企業的需求而量身打造。RDS 提供各種運算、快速部署、可擴展性和儲存的選項。

  • 安全性:與數種工具和服務RDS整合,以維護使用者、資料庫和網路層級的資料庫安全性。

  • 與 整合 AWS AppSync:如果您正在尋找成熟後端解決方案, AWS AppSync 可讓您使用執行個體作為資料來源傳送、處理、儲存和傳回資料。

無資料來源 如果您不打算使用資料來源服務,您可以將其設定為 none。雖然none資料來源仍然明確分類為資料來源,但 不是儲存媒體。儘管如此,它在某些執行個體中仍然適用於資料操作和傳遞。
  • 對資料轉換等事項可能很有用

  • 在本機解決某些問題時很有用

提示

如需資料來源如何與 互動的詳細資訊 AWS AppSync,請參閱連接資料來源