2012-09-03 123 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文件中的步骤进行操作。 –