diff --git a/VERSION b/VERSION index fd65416b1..5bc798a5b 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.36.1928 \ No newline at end of file +1.36.1929 \ No newline at end of file diff --git a/paifeaturestore/CMakeLists.txt b/paifeaturestore/CMakeLists.txt index 1441652e5..d5be82580 100644 --- a/paifeaturestore/CMakeLists.txt +++ b/paifeaturestore/CMakeLists.txt @@ -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 diff --git a/paifeaturestore/include/alibabacloud/paifeaturestore/PaiFeatureStoreClient.h b/paifeaturestore/include/alibabacloud/paifeaturestore/PaiFeatureStoreClient.h index b1e30d7b3..7751ff0e0 100644 --- a/paifeaturestore/include/alibabacloud/paifeaturestore/PaiFeatureStoreClient.h +++ b/paifeaturestore/include/alibabacloud/paifeaturestore/PaiFeatureStoreClient.h @@ -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 ListFeatureViewFieldRelationshipsOutcome; typedef std::future ListFeatureViewFieldRelationshipsOutcomeCallable; typedef std::function&)> ListFeatureViewFieldRelationshipsAsyncHandler; + typedef Outcome ListFeatureViewOnlineFeaturesOutcome; + typedef std::future ListFeatureViewOnlineFeaturesOutcomeCallable; + typedef std::function&)> ListFeatureViewOnlineFeaturesAsyncHandler; typedef Outcome ListFeatureViewRelationshipsOutcome; typedef std::future ListFeatureViewRelationshipsOutcomeCallable; typedef std::function&)> 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& 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& 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& context = nullptr) const; ListFeatureViewRelationshipsOutcomeCallable listFeatureViewRelationshipsCallable(const Model::ListFeatureViewRelationshipsRequest& request) const; diff --git a/paifeaturestore/include/alibabacloud/paifeaturestore/model/GetFeatureViewResult.h b/paifeaturestore/include/alibabacloud/paifeaturestore/model/GetFeatureViewResult.h index 70b2346ca..640eb557e 100644 --- a/paifeaturestore/include/alibabacloud/paifeaturestore/model/GetFeatureViewResult.h +++ b/paifeaturestore/include/alibabacloud/paifeaturestore/model/GetFeatureViewResult.h @@ -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_; diff --git a/paifeaturestore/include/alibabacloud/paifeaturestore/model/ListFeatureViewOnlineFeaturesRequest.h b/paifeaturestore/include/alibabacloud/paifeaturestore/model/ListFeatureViewOnlineFeaturesRequest.h new file mode 100644 index 000000000..fcf117bc2 --- /dev/null +++ b/paifeaturestore/include/alibabacloud/paifeaturestore/model/ListFeatureViewOnlineFeaturesRequest.h @@ -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 +#include +#include +#include +#include + +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_ diff --git a/paifeaturestore/include/alibabacloud/paifeaturestore/model/ListFeatureViewOnlineFeaturesResult.h b/paifeaturestore/include/alibabacloud/paifeaturestore/model/ListFeatureViewOnlineFeaturesResult.h new file mode 100644 index 000000000..7fcbcf081 --- /dev/null +++ b/paifeaturestore/include/alibabacloud/paifeaturestore/model/ListFeatureViewOnlineFeaturesResult.h @@ -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 +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace PaiFeatureStore + { + namespace Model + { + class ALIBABACLOUD_PAIFEATURESTORE_EXPORT ListFeatureViewOnlineFeaturesResult : public ServiceResult + { + public: + + + ListFeatureViewOnlineFeaturesResult(); + explicit ListFeatureViewOnlineFeaturesResult(const std::string &payload); + ~ListFeatureViewOnlineFeaturesResult(); + std::vector getOnlineFeatures()const; + + protected: + void parse(const std::string &payload); + private: + std::vector onlineFeatures_; + + }; + } + } +} +#endif // !ALIBABACLOUD_PAIFEATURESTORE_MODEL_LISTFEATUREVIEWONLINEFEATURESRESULT_H_ \ No newline at end of file diff --git a/paifeaturestore/include/alibabacloud/paifeaturestore/model/ListFeatureViewsResult.h b/paifeaturestore/include/alibabacloud/paifeaturestore/model/ListFeatureViewsResult.h index e7f5e9ab9..8ffa2c085 100644 --- a/paifeaturestore/include/alibabacloud/paifeaturestore/model/ListFeatureViewsResult.h +++ b/paifeaturestore/include/alibabacloud/paifeaturestore/model/ListFeatureViewsResult.h @@ -36,6 +36,7 @@ namespace AlibabaCloud { std::string featureEntityName; std::string owner; + bool writeToFeatureDB; std::string featureViewId; std::string projectName; std::string projectId; diff --git a/paifeaturestore/src/PaiFeatureStoreClient.cc b/paifeaturestore/src/PaiFeatureStoreClient.cc index daabf8346..76d9c265f 100644 --- a/paifeaturestore/src/PaiFeatureStoreClient.cc +++ b/paifeaturestore/src/PaiFeatureStoreClient.cc @@ -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& 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>( + [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(); diff --git a/paifeaturestore/src/model/GetFeatureViewResult.cc b/paifeaturestore/src/model/GetFeatureViewResult.cc index f21a1d1b8..94472d8e0 100644 --- a/paifeaturestore/src/model/GetFeatureViewResult.cc +++ b/paifeaturestore/src/model/GetFeatureViewResult.cc @@ -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_; diff --git a/paifeaturestore/src/model/ListFeatureViewOnlineFeaturesRequest.cc b/paifeaturestore/src/model/ListFeatureViewOnlineFeaturesRequest.cc new file mode 100644 index 000000000..d7d50c96d --- /dev/null +++ b/paifeaturestore/src/model/ListFeatureViewOnlineFeaturesRequest.cc @@ -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 + +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); +} + diff --git a/paifeaturestore/src/model/ListFeatureViewOnlineFeaturesResult.cc b/paifeaturestore/src/model/ListFeatureViewOnlineFeaturesResult.cc new file mode 100644 index 000000000..f949b744b --- /dev/null +++ b/paifeaturestore/src/model/ListFeatureViewOnlineFeaturesResult.cc @@ -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 +#include + +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 ListFeatureViewOnlineFeaturesResult::getOnlineFeatures()const +{ + return onlineFeatures_; +} + diff --git a/paifeaturestore/src/model/ListFeatureViewsResult.cc b/paifeaturestore/src/model/ListFeatureViewsResult.cc index 439741c4a..90ace4f6e 100644 --- a/paifeaturestore/src/model/ListFeatureViewsResult.cc +++ b/paifeaturestore/src/model/ListFeatureViewsResult.cc @@ -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())