Explorar el Código

Add ListFeatureViewOnlineFeatures API.

sdk-team hace 2 años
padre
commit
fbc3817ea1

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1928
+1.36.1929

+ 4 - 0
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

+ 8 - 0
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<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;

+ 2 - 0
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_;

+ 48 - 0
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 <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_

+ 51 - 0
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 <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_

+ 1 - 0
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;

+ 36 - 0
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<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();

+ 7 - 0
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_;

+ 55 - 0
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 <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);
+}
+

+ 52 - 0
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 <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_;
+}
+

+ 2 - 0
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())