| CPC G06F 16/148 (2019.01) [G06F 16/172 (2019.01); G06F 16/1873 (2019.01)] | 20 Claims |

|
1. A system comprising:
a data storage service comprising a first set of computing devices, wherein the data storage service stores a plurality of data objects;
a cache service comprising a second set of computing devices, wherein the cache service is configured to store cached versions of data objects; and
an on-demand code execution service comprising a third set of computing devices for on-demand execution of function code, wherein the on-demand code execution service is configured to:
receive a first request to execute a first function, wherein the first function is defined by first function code;
in response to the first request:
provision a first computing device of the third set of computing devices with the first function code;
determine, based at least partly on configuration data associated with the first function code, a data object stored in the data storage service to be made available to the first function;
load the data object from the data storage service to the cache service;
generate, based on loading the data object from the data storage service to the cache service, first data access metadata to be used to provide the first function access to the data object;
execute the first function;
determine, during execution of the first function, that the first function is requesting access to the data object;
in response to determining that the first function is requesting access to the data object, load the data object, based on the first data access metadata, from the cache service to a local data store from where the first function is provided access the data object; and
update the first data access metadata to generate second data access metadata reflecting loading of the data object from the cache service to the local data store;
receive a second request to execute a second function, wherein the second function is defined by second function code; and
in response to the second request:
provision a second computing device of the third set of computing devices with the second function code;
determine, based at least partly on the configuration data, that the data object is to be made available to the second function;
use the second data access metadata, reflecting loading of the data object from the cache service, to make the data object available to a second function; and
execute the second function.
|