Add ListFeatureViewOnlineFeatures API.

This commit is contained in:
sdk-team
2024-06-11 07:02:18 +00:00
parent db6a17b08c
commit fbc3817ea1
12 changed files with 267 additions and 1 deletions

View File

@@ -99,6 +99,8 @@ set(paifeaturestore_public_header_model
include/alibabacloud/paifeaturestore/model/ListFeatureEntitiesResult.h
include/alibabacloud/paifeaturestore/model/ListFeatureViewFieldRelationshipsRequest.h
include/alibabacloud/paifeaturestore/model/ListFeatureViewFieldRelationshipsResult.h
include/alibabacloud/paifeaturestore/model/ListFeatureViewOnlineFeaturesRequest.h
include/alibabacloud/paifeaturestore/model/ListFeatureViewOnlineFeaturesResult.h
include/alibabacloud/paifeaturestore/model/ListFeatureViewRelationshipsRequest.h
include/alibabacloud/paifeaturestore/model/ListFeatureViewRelationshipsResult.h
include/alibabacloud/paifeaturestore/model/ListFeatureViewsRequest.h
@@ -222,6 +224,8 @@ set(paifeaturestore_src
src/model/ListFeatureEntitiesResult.cc
src/model/ListFeatureViewFieldRelationshipsRequest.cc
src/model/ListFeatureViewFieldRelationshipsResult.cc
src/model/ListFeatureViewOnlineFeaturesRequest.cc
src/model/ListFeatureViewOnlineFeaturesResult.cc
src/model/ListFeatureViewRelationshipsRequest.cc
src/model/ListFeatureViewRelationshipsResult.cc
src/model/ListFeatureViewsRequest.cc

View File

@@ -100,6 +100,8 @@
#include "model/ListFeatureEntitiesResult.h"
#include "model/ListFeatureViewFieldRelationshipsRequest.h"
#include "model/ListFeatureViewFieldRelationshipsResult.h"
#include "model/ListFeatureViewOnlineFeaturesRequest.h"
#include "model/ListFeatureViewOnlineFeaturesResult.h"
#include "model/ListFeatureViewRelationshipsRequest.h"
#include "model/ListFeatureViewRelationshipsResult.h"
#include "model/ListFeatureViewsRequest.h"
@@ -268,6 +270,9 @@ namespace AlibabaCloud
typedef Outcome<Error, Model::ListFeatureViewFieldRelationshipsResult> ListFeatureViewFieldRelationshipsOutcome;
typedef std::future<ListFeatureViewFieldRelationshipsOutcome> ListFeatureViewFieldRelationshipsOutcomeCallable;
typedef std::function<void(const PaiFeatureStoreClient*, const Model::ListFeatureViewFieldRelationshipsRequest&, const ListFeatureViewFieldRelationshipsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListFeatureViewFieldRelationshipsAsyncHandler;
typedef Outcome<Error, Model::ListFeatureViewOnlineFeaturesResult> ListFeatureViewOnlineFeaturesOutcome;
typedef std::future<ListFeatureViewOnlineFeaturesOutcome> ListFeatureViewOnlineFeaturesOutcomeCallable;
typedef std::function<void(const PaiFeatureStoreClient*, const Model::ListFeatureViewOnlineFeaturesRequest&, const ListFeatureViewOnlineFeaturesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListFeatureViewOnlineFeaturesAsyncHandler;
typedef Outcome<Error, Model::ListFeatureViewRelationshipsResult> ListFeatureViewRelationshipsOutcome;
typedef std::future<ListFeatureViewRelationshipsOutcome> ListFeatureViewRelationshipsOutcomeCallable;
typedef std::function<void(const PaiFeatureStoreClient*, const Model::ListFeatureViewRelationshipsRequest&, const ListFeatureViewRelationshipsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListFeatureViewRelationshipsAsyncHandler;
@@ -453,6 +458,9 @@ namespace AlibabaCloud
ListFeatureViewFieldRelationshipsOutcome listFeatureViewFieldRelationships(const Model::ListFeatureViewFieldRelationshipsRequest &request)const;
void listFeatureViewFieldRelationshipsAsync(const Model::ListFeatureViewFieldRelationshipsRequest& request, const ListFeatureViewFieldRelationshipsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
ListFeatureViewFieldRelationshipsOutcomeCallable listFeatureViewFieldRelationshipsCallable(const Model::ListFeatureViewFieldRelationshipsRequest& request) const;
ListFeatureViewOnlineFeaturesOutcome listFeatureViewOnlineFeatures(const Model::ListFeatureViewOnlineFeaturesRequest &request)const;
void listFeatureViewOnlineFeaturesAsync(const Model::ListFeatureViewOnlineFeaturesRequest& request, const ListFeatureViewOnlineFeaturesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
ListFeatureViewOnlineFeaturesOutcomeCallable listFeatureViewOnlineFeaturesCallable(const Model::ListFeatureViewOnlineFeaturesRequest& request) const;
ListFeatureViewRelationshipsOutcome listFeatureViewRelationships(const Model::ListFeatureViewRelationshipsRequest &request)const;
void listFeatureViewRelationshipsAsync(const Model::ListFeatureViewRelationshipsRequest& request, const ListFeatureViewRelationshipsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
ListFeatureViewRelationshipsOutcomeCallable listFeatureViewRelationshipsCallable(const Model::ListFeatureViewRelationshipsRequest& request) const;

View File

@@ -45,6 +45,7 @@ namespace AlibabaCloud
~GetFeatureViewResult();
std::string getFeatureEntityName()const;
std::string getOwner()const;
bool getWriteToFeatureDB()const;
std::string getProjectName()const;
std::string getPublishTableScript()const;
std::string getConfig()const;
@@ -71,6 +72,7 @@ namespace AlibabaCloud
private:
std::string featureEntityName_;
std::string owner_;
bool writeToFeatureDB_;
std::string projectName_;
std::string publishTableScript_;
std::string config_;

View File

@@ -0,0 +1,48 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef ALIBABACLOUD_PAIFEATURESTORE_MODEL_LISTFEATUREVIEWONLINEFEATURESREQUEST_H_
#define ALIBABACLOUD_PAIFEATURESTORE_MODEL_LISTFEATUREVIEWONLINEFEATURESREQUEST_H_
#include <alibabacloud/paifeaturestore/PaiFeatureStoreExport.h>
#include <alibabacloud/core/RoaServiceRequest.h>
#include <string>
#include <vector>
#include <map>
namespace AlibabaCloud {
namespace PaiFeatureStore {
namespace Model {
class ALIBABACLOUD_PAIFEATURESTORE_EXPORT ListFeatureViewOnlineFeaturesRequest : public RoaServiceRequest {
public:
ListFeatureViewOnlineFeaturesRequest();
~ListFeatureViewOnlineFeaturesRequest();
std::string getInstanceId() const;
void setInstanceId(const std::string &instanceId);
std::string getJoinIds() const;
void setJoinIds(const std::string &joinIds);
std::string getFeatureViewId() const;
void setFeatureViewId(const std::string &featureViewId);
private:
std::string instanceId_;
std::string joinIds_;
std::string featureViewId_;
};
} // namespace Model
} // namespace PaiFeatureStore
} // namespace AlibabaCloud
#endif // !ALIBABACLOUD_PAIFEATURESTORE_MODEL_LISTFEATUREVIEWONLINEFEATURESREQUEST_H_

View File

@@ -0,0 +1,51 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef ALIBABACLOUD_PAIFEATURESTORE_MODEL_LISTFEATUREVIEWONLINEFEATURESRESULT_H_
#define ALIBABACLOUD_PAIFEATURESTORE_MODEL_LISTFEATUREVIEWONLINEFEATURESRESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/paifeaturestore/PaiFeatureStoreExport.h>
namespace AlibabaCloud
{
namespace PaiFeatureStore
{
namespace Model
{
class ALIBABACLOUD_PAIFEATURESTORE_EXPORT ListFeatureViewOnlineFeaturesResult : public ServiceResult
{
public:
ListFeatureViewOnlineFeaturesResult();
explicit ListFeatureViewOnlineFeaturesResult(const std::string &payload);
~ListFeatureViewOnlineFeaturesResult();
std::vector<std::string> getOnlineFeatures()const;
protected:
void parse(const std::string &payload);
private:
std::vector<std::string> onlineFeatures_;
};
}
}
}
#endif // !ALIBABACLOUD_PAIFEATURESTORE_MODEL_LISTFEATUREVIEWONLINEFEATURESRESULT_H_

View File

@@ -36,6 +36,7 @@ namespace AlibabaCloud
{
std::string featureEntityName;
std::string owner;
bool writeToFeatureDB;
std::string featureViewId;
std::string projectName;
std::string projectId;

View File

@@ -1455,6 +1455,42 @@ PaiFeatureStoreClient::ListFeatureViewFieldRelationshipsOutcomeCallable PaiFeatu
return task->get_future();
}
PaiFeatureStoreClient::ListFeatureViewOnlineFeaturesOutcome PaiFeatureStoreClient::listFeatureViewOnlineFeatures(const ListFeatureViewOnlineFeaturesRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return ListFeatureViewOnlineFeaturesOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return ListFeatureViewOnlineFeaturesOutcome(ListFeatureViewOnlineFeaturesResult(outcome.result()));
else
return ListFeatureViewOnlineFeaturesOutcome(outcome.error());
}
void PaiFeatureStoreClient::listFeatureViewOnlineFeaturesAsync(const ListFeatureViewOnlineFeaturesRequest& request, const ListFeatureViewOnlineFeaturesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, listFeatureViewOnlineFeatures(request), context);
};
asyncExecute(new Runnable(fn));
}
PaiFeatureStoreClient::ListFeatureViewOnlineFeaturesOutcomeCallable PaiFeatureStoreClient::listFeatureViewOnlineFeaturesCallable(const ListFeatureViewOnlineFeaturesRequest &request) const
{
auto task = std::make_shared<std::packaged_task<ListFeatureViewOnlineFeaturesOutcome()>>(
[this, request]()
{
return this->listFeatureViewOnlineFeatures(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}
PaiFeatureStoreClient::ListFeatureViewRelationshipsOutcome PaiFeatureStoreClient::listFeatureViewRelationships(const ListFeatureViewRelationshipsRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();

View File

@@ -83,6 +83,8 @@ void GetFeatureViewResult::parse(const std::string &payload)
registerDatasourceId_ = value["RegisterDatasourceId"].asString();
if(!value["RegisterDatasourceName"].isNull())
registerDatasourceName_ = value["RegisterDatasourceName"].asString();
if(!value["WriteToFeatureDB"].isNull())
writeToFeatureDB_ = value["WriteToFeatureDB"].asString() == "true";
if(!value["SyncOnlineTable"].isNull())
syncOnlineTable_ = value["SyncOnlineTable"].asString() == "true";
if(!value["TTL"].isNull())
@@ -108,6 +110,11 @@ std::string GetFeatureViewResult::getOwner()const
return owner_;
}
bool GetFeatureViewResult::getWriteToFeatureDB()const
{
return writeToFeatureDB_;
}
std::string GetFeatureViewResult::getProjectName()const
{
return projectName_;

View File

@@ -0,0 +1,55 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <alibabacloud/paifeaturestore/model/ListFeatureViewOnlineFeaturesRequest.h>
using AlibabaCloud::PaiFeatureStore::Model::ListFeatureViewOnlineFeaturesRequest;
ListFeatureViewOnlineFeaturesRequest::ListFeatureViewOnlineFeaturesRequest()
: RoaServiceRequest("paifeaturestore", "2023-06-21") {
setResourcePath("/api/v1/instances/[InstanceId]/featureviews/[FeatureViewId]/onlinefeatures"};
setMethod(HttpRequest::Method::Get);
}
ListFeatureViewOnlineFeaturesRequest::~ListFeatureViewOnlineFeaturesRequest() {}
std::string ListFeatureViewOnlineFeaturesRequest::getInstanceId() const {
return instanceId_;
}
void ListFeatureViewOnlineFeaturesRequest::setInstanceId(const std::string &instanceId) {
instanceId_ = instanceId;
setParameter(std::string("InstanceId"), instanceId);
}
std::string ListFeatureViewOnlineFeaturesRequest::getJoinIds() const {
return joinIds_;
}
void ListFeatureViewOnlineFeaturesRequest::setJoinIds(const std::string &joinIds) {
joinIds_ = joinIds;
setParameter(std::string("JoinIds"), joinIds);
}
std::string ListFeatureViewOnlineFeaturesRequest::getFeatureViewId() const {
return featureViewId_;
}
void ListFeatureViewOnlineFeaturesRequest::setFeatureViewId(const std::string &featureViewId) {
featureViewId_ = featureViewId;
setParameter(std::string("FeatureViewId"), featureViewId);
}

View File

@@ -0,0 +1,52 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <alibabacloud/paifeaturestore/model/ListFeatureViewOnlineFeaturesResult.h>
#include <json/json.h>
using namespace AlibabaCloud::PaiFeatureStore;
using namespace AlibabaCloud::PaiFeatureStore::Model;
ListFeatureViewOnlineFeaturesResult::ListFeatureViewOnlineFeaturesResult() :
ServiceResult()
{}
ListFeatureViewOnlineFeaturesResult::ListFeatureViewOnlineFeaturesResult(const std::string &payload) :
ServiceResult()
{
parse(payload);
}
ListFeatureViewOnlineFeaturesResult::~ListFeatureViewOnlineFeaturesResult()
{}
void ListFeatureViewOnlineFeaturesResult::parse(const std::string &payload)
{
Json::Reader reader;
Json::Value value;
reader.parse(payload, value);
setRequestId(value["RequestId"].asString());
auto allOnlineFeatures = value["OnlineFeatures"]["OnlineFeatures"];
for (const auto &item : allOnlineFeatures)
onlineFeatures_.push_back(item.asString());
}
std::vector<std::string> ListFeatureViewOnlineFeaturesResult::getOnlineFeatures()const
{
return onlineFeatures_;
}

View File

@@ -57,6 +57,8 @@ void ListFeatureViewsResult::parse(const std::string &payload)
featureViewsObject.owner = valueFeatureViewsFeatureViewsItem["Owner"].asString();
if(!valueFeatureViewsFeatureViewsItem["Type"].isNull())
featureViewsObject.type = valueFeatureViewsFeatureViewsItem["Type"].asString();
if(!valueFeatureViewsFeatureViewsItem["WriteToFeatureDB"].isNull())
featureViewsObject.writeToFeatureDB = valueFeatureViewsFeatureViewsItem["WriteToFeatureDB"].asString() == "true";
if(!valueFeatureViewsFeatureViewsItem["GmtCreateTime"].isNull())
featureViewsObject.gmtCreateTime = valueFeatureViewsFeatureViewsItem["GmtCreateTime"].asString();
if(!valueFeatureViewsFeatureViewsItem["GmtModifiedTime"].isNull())