2012-09-03 157 views
1

我不明白我如何訪問API(api_id)USER(user_id),訂閱(是訂閱API'y'的用戶'x')的數據...wso2 api管理器數據庫

如何通過連接到某些數據庫來執行此類控制?

回答

1

儘管您的問題並不十分清楚,但希望您知道WSO2 API Manager如何實現數據庫數據訪問部分。我將解釋WSO2 API Manager如何控制數據庫數據。

您可以在[1]中找到用於創建數據庫表結構的WSO2 API Manager使用的數據庫腳本[它包含h2/mysql/oracle dbscripts]。您會注意到存在單獨的數據庫表存儲關於API [AM_API],訂戶[AM_SUBSCRIBER]和訂閱[AM_SUBSCRIPTION]等的信息。您將注意到如何使用外鍵來啓用表之間的關係以執行數據控制,同時確保數據存儲在一致辦法。

然後有一個爲WSO2 API Manager相關的後端功能定義的內置java API,您可以從[2]找到它,並且它的已實現的java代碼可以從[3]中找到。如果您看看ApiMgtDAO。 org.wso2.carbon.apimgt.impl包中的java類實現,您將更好地瞭解如何通過查詢數據庫數據實現API Manager的數據庫訪問層。

以上希望對你有幫助。

謝謝;

/Lalaji

[1] https://svn.wso2.org/repos/wso2/carbon/platform/branches/4.0.0/products/apimgt/1.0.0/modules/distribution/resources/sql/

[2] https://svn.wso2.org/repos/wso2/carbon/platform/branches/4.0.0/components/apimgt/org .wso2.carbon.apimgt.api/1.0.0/

[3] https://svn.wso2.org/repos/wso2/carbon/platform/branches/4.0.0/components/apimgt/org。 wso2.carbon.apimgt.impl/1.0.0/

+0

您好,首先感謝您的回答,第二:我如何下載所有軟件包?例如,如果我想調用ApiMgtDAO.java的「getAccessKeyForAPI」,是否必須導入所有包org.wso2.carbon.apimgt.impl.dao ...抱歉,但我不是真正的java專家 – nuvio

+0

我的目標是控制API使用情況:我需要將使用量限制爲每個用戶20個調用,但是我無法通過調節層來實現。 – nuvio

+0

嗨,如果你想修改代碼並使用,首先你需要下載源代碼並使用maven進行編譯和構建。你可以從http://wso2.com/products下載WSO2 API Manager相關的完整源代碼。/api-manager /通過導航到Downoad-> Source選項。然後按照其中的README文件中的步驟進行操作。 –