edgelessrt | Edgeless RT is an SDK and a runtime for Intel SGX | Function As A Service library
kandi X-RAY | edgelessrt Summary
Support
Quality
Security
License
Reuse
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample Here
edgelessrt Key Features
edgelessrt Examples and Code Snippets
Trending Discussions on Function As A Service
Trending Discussions on Function As A Service
QUESTION
Hi I'm pretty new at angular JS and i'm trying to refactor my controller and want to move repeating multisort function as a service and call it back in the controller.
Can someone help me in converting this below function as a service as it has all $scope and I know it can't be used in the service or factory:
$scope.multiSort = function(columnName){
if($scope.orderByField.includes(columnName)){
if(reverseSortObj[columnName].count == 2){
var index = $scope.orderByField.indexOf(columnName)
$scope.orderByField.splice(index, 1);
delete reverseSortObj.columnName;
return;
}
var indexToReplace = $scope.orderByField.indexOf(columnName);
$scope.orderByField[indexToReplace] = '-'+ columnName;
reverseSortObj[columnName].reverse = !reverseSortObj[columnName].reverse;
reverseSortObj[columnName].count ++;
}
else if($scope.orderByField.includes('-'+ columnName)){
if(reverseSortObj[columnName].count == 2){
var index = $scope.orderByField.indexOf('-' + columnName)
$scope.orderByField.splice(index, 1);
delete reverseSortObj.columnName;
return;
}
var indexToReplace = $scope.orderByField.indexOf('-' + columnName);
$scope.orderByField[indexToReplace] = columnName;
reverseSortObj[columnName].reverse = !reverseSortObj[columnName].reverse;
reverseSortObj[columnName].count ++;
}
else{
reverseSortObj[columnName] = {};
reverseSortObj[columnName].reverse = false;
reverseSortObj[columnName].count = 1;
$scope.orderByField.push(columnName);
}
}
ANSWER
Answered 2021-Jul-28 at 07:19If you dont want to change the code, you can directly pass $scope to the service and get as scope.
Below is an working example, simplified on your requirement.
(function(){
var app = angular.module('App', []);
app.controller('AppController', ['$scope', 'AppService', function($scope, AppService){
$scope.text = 'Hello World';
$scope.columns = ['a', 'c', 'b'];
$scope.sorted = AppService.sort($scope);
console.log($scope.sorted);
}]);
app.service('AppService', [function(){
var service = {};
service.sort = function(scope){
return scope.columns.sort();
}
return service;
}]);
})();
{{text}}
QUESTION
Let's say we have a (containerized) backend which is only sparely used. Maybe once every couple of days or so, a (static) web front-end calls an API endpoint of that backend.
The backend conveniently happens to be stateless. No data store or anything.
We want to minimize the hosting cost for it, and ideally would like per-second billing. It's only gonna be running for a few minutes every month, and we only want to be charged for that usage. Basically, we want Function as a Service (FaaS), but for a whole backend and not just a single function.
Azure Container Instances appears to be great fit for this scenario. It can spin up the backend in a container when needed. The backend then can shut itself down again after a certain period of non-usage.
So, let's create a container instance...
az container create \
--resource-group myResourceGroup \
--name mycontainer \
--image mycontainerimage \
--restart-policy Never
--dns-name-label mybackend123
--ports 80
Great, our backend is live at its FQDN http://mybackend123.eastus.azurecontainer.io
!
As stated above, it'll shut itself down after a period of non-usage. Thanks to --restart-policy Never
, ACI won't restart the container but keep it around in status Stopped
.
My question is: is there any way to automatically start the container again if a web request to the FQDN arrives?
Sure, we can wake it up ourselves by running...
az container start --resource-group myResourceGroup --name mycontainer
... or with an equivalent API call. But then the service that does that needs to be running all the time! Ideally, I'd like the container to start itself whenever a request comes in.
ANSWER
Answered 2020-Dec-17 at 20:36Azure Container Instances don't have a wehbook or HTTP trigger that will start them. However, you could use an Azure Function or Logic App that would effectively run az container start
for you and then call THAT with HTTP. With either of those approaches, you'd have to setup some IAM permissions to give the Function or Logic App permissions to the ACI resource to start it.
One approach would be to:
- Create an Azure Function with an HTTP trigger and a managed identity
- Give the Managed identity contributor access to ACI container group
- Run
az container start
or the equivalent REST call inside the function to start the ACI container - Call the Azure function (using the function token) to start the container.
QUESTION
I am using below function to loadbenefittypes.
my get data function
$scope.loadCashBenefitTypes = function (){
$http({
method: "GET",
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + localStorage.getItem('JWT_TOKEN')
},
url: appConfig.apiUrl + "/benefit-types/income?income_type=Cash Benefit",
}).then(function (response) {
$scope.func1 = response.data
}, function (response) {
});
}
i am using above function to load benefit types in multiple locations in my application. therefore i need to reuse this function as a service. how i convert above function and how i assign it to different drop down models
ANSWER
Answered 2020-Mar-19 at 10:04To re-factor the code to a service, return the $http promise:
app.service("myService", function($http, appConfig) {
this.getCashBenefitTypes = function (){
return $http({
method: "GET",
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + localStorage.getItem('JWT_TOKEN')
},
params: { income_type: 'Cash Benefit' },
url: appConfig.apiUrl + "/benefit-types/income",
}).then(function (response) {
return response.data;
});
}
});
Then inject that service in the controllers:
app.controller("app", function($scope, myService) {
myService.getCashBenefitTypes()
.then(function(data) {
$scope.types = data;
}).catch(response) {
console.log("ERROR", response);
});
});
For more information, see
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install edgelessrt
On Ubuntu 20.04 build with:. To set a custom installation path (default: /opt/edgelessrt), add, e.g., -DCMAKE_INSTALL_PREFIX=~/edgelessrt-install.
From the build directory run:.
Support
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesExplore Kits - Develop, implement, customize Projects, Custom Functions and Applications with kandi kits
Save this library and start creating your kit
Share this Page