🛸 携程 apollo 配置中心客户端。支持查询配置、订阅配置、使用开放中心提供的公共 API。
🛸 携程 apollo 配置中心客户端。支持查询配置、订阅配置、使用开放中心提供的公共 API。
npm install @vodyani/apollo-client
Base Usage
Advanced Usage
import { ApolloHttpClient } from '@vodyani/apollo-client'
const options = {
appId: 'your_apollo_app_id',
configServerUrl: 'your_apollo_config_server_url',
clusterName: 'your_apollo_cluster_name',
currentIp: 'your_server_ip',
secret: 'your_apollo_app_secret',
};
const httpClient = new ApolloHttpClient(options);
options
const result = await httpClient.getConfig(
'your_apollo_namespace',
'properties'
)
params
string
apollo app namespace. (require: ✅)NamespaceType
apollo app namespace type. (require: ✅)return
{
'your_apollo_namespace_key': 'your_apollo_namespace_value'
}
Call this method to access cached data.
const result = await httpClient.getConfigByCache(
'your_apollo_namespace',
'properties',
)
params
string
apollo app namespace. (require: ✅)NamespaceType
apollo app namespace type. (require: ✅)return
{
'your_apollo_namespace_key': 'your_apollo_namespace_value'
}
Call this method to initiate a long poll that listens to the specified namespace and receives updates back from the server.
const result = await httpClient.getConfigNotifications([
{
namespace: 'your_apollo_namespace',
type: 'properties',
}
])
params
string
apollo app namespace. (require: ✅)NamespaceType
apollo app namespace type. (require: ✅)return
[
{
namespaceName: 'your_apollo_namespace_name';
notificationId: 'your_apollo_notify_id',
},
]
import { ApolloThirdPartyHttpClient } from '@vodyani/apollo-client'
const options = {
appId: 'your_apollo_app_id',
clusterName: 'your_apollo_cluster_name',
env: 'your_apollo_env',
secret: 'your_apollo_app_secret',
token: 'your_apollo_open_api_token',
portalServerUrl: 'your_apollo_portal_server_url',
operator: 'your_apollo_open_api_operator_user_name',
};
const thirdPartyOptions = new ApolloThirdPartyHttpClient(options);
options
const result = await thirdPartyOptions.getConfig(
'your_apollo_namespace',
'properties',
'your_apollo_namespace_property'
)
const result = await thirdPartyOptions.getConfig(
'your_apollo_namespace',
'json'
)
params
string
apollo app namespace. (require: ✅)NamespaceType
apollo app namespace type. (require: ✅)string
apollo app namespace property, this parameter is mandatory only when type properties
is queriedreturn
{
'your_apollo_namespace_key': 'your_apollo_namespace_value'
}
If you need to publish the configuration, don't forget to call it after execution
publishConfig
const result = await thirdPartyOptions.saveConfig(
'your_apollo_namespace',
'properties',
'your_apollo_namespace_property'
)
const result = await thirdPartyOptions.saveConfig(
'your_apollo_namespace',
'json'
)
params
string
apollo app namespace. (require: ✅)NamespaceType
apollo app namespace type. (require: ✅)string
apollo app namespace property, this parameter is mandatory only when type properties
is queriedreturn
void
If you need to publish the configuration, don't forget to call it after execution
publishConfig
const result = await thirdPartyOptions.deleteConfig(
'your_apollo_namespace',
'properties',
'your_apollo_namespace_property'
)
const result = await thirdPartyOptions.deleteConfig(
'your_apollo_namespace',
'json'
)
params
string
apollo app namespace. (require: ✅)NamespaceType
apollo app namespace type. (require: ✅)string
apollo app namespace property, this parameter is mandatory only when type properties
is queriedreturn
void
const result = await thirdPartyOptions.publishConfig(
'your_apollo_namespace',
'properties'
)
const result = await thirdPartyOptions.publishConfig(
'your_apollo_namespace',
'json'
)
params
string
apollo app namespace. (require: ✅)NamespaceType
apollo app namespace type. (require: ✅)return
void
ChoGathK |
Vodyani apollo-client is MIT licensed.