JavaScript ਨਾਲ ਵਰਕਰਾਂ ਵਿੱਚ Cloudflare KV ਸੈਟ ਅਪ ਕਰਨਾ
ਨੈਟਵਰਕ ਕਿਨਾਰੇ 'ਤੇ ਸਰਵਰ ਰਹਿਤ, ਹਲਕੇ ਭਾਰ ਵਾਲੇ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਚਲਾਉਣ ਲਈ ਇੱਕ ਵਧਦੀ ਆਮ ਵਿਕਲਪ ਕਲਾਉਡਫਲੇਅਰ ਵਰਕਰ ਹੈ। ਕਲਾਉਡਫਲੇਅਰ ਕੇਵੀ (ਕੀ-ਵੈਲਿਊ) ਸਟੋਰ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਡੇਟਾ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਅਤੇ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਯੋਗਤਾ ਕਲਾਉਡਫਲੇਅਰ ਵਰਕਰਾਂ ਦਾ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਹਿੱਸਾ ਹੈ। ਹਾਲਾਂਕਿ, ਇੱਕ Cloudflare ਵਰਕਰ ਵਿੱਚ KV ਮੋਡੀਊਲ ਨੂੰ ਏਕੀਕ੍ਰਿਤ ਕਰਨਾ ਉਹਨਾਂ ਲਈ ਥੋੜਾ ਮੁਸ਼ਕਲ ਹੋ ਸਕਦਾ ਹੈ ਜੋ ਇਸ ਈਕੋਸਿਸਟਮ ਤੋਂ ਅਣਜਾਣ ਹਨ।
ਰੈਂਗਲਰ CLI ਨਾਲ ਆਪਣੇ ਕਲਾਉਡਫਲੇਅਰ ਵਰਕਰਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਦੇ ਸਮੇਂ, ਖਾਸ ਤੌਰ 'ਤੇ v3.78.12 ਵਰਗੇ ਸੰਸਕਰਣਾਂ ਦੇ ਨਾਲ, ਤੁਹਾਨੂੰ KV ਸਟੋਰ ਨੂੰ ਏਕੀਕ੍ਰਿਤ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਸਮੇਂ ਕੁਝ ਚੁਣੌਤੀਆਂ ਦਾ ਸਾਹਮਣਾ ਕਰਨਾ ਪੈ ਸਕਦਾ ਹੈ। ਤੁਸੀਂ ਇਕੱਲੇ ਡਿਵੈਲਪਰ ਨਹੀਂ ਹੋ ਜਿਸਨੇ ਕੇਵੀ ਲਈ ਮੋਡੀਊਲ ਜਾਂ ਆਯਾਤ ਸੰਟੈਕਸ ਦੀ ਸਹੀ ਵਰਤੋਂ ਨੂੰ ਸਮਝਣ ਲਈ ਸੰਘਰਸ਼ ਕੀਤਾ ਹੈ। ਵੱਖ-ਵੱਖ ਇੰਟਰਨੈਟ ਸਰੋਤਾਂ ਦੁਆਰਾ ਸੁਝਾਏ ਗਏ ਮੋਡੀਊਲ ਨੂੰ ਆਯਾਤ ਕਰਨ ਦੇ ਕਈ ਵੱਖ-ਵੱਖ ਤਰੀਕੇ ਹੋ ਸਕਦੇ ਹਨ, ਪਰ ਸਹੀ ਜਵਾਬ ਦਾ ਪਤਾ ਲਗਾਉਣਾ ਮੁਸ਼ਕਲ ਹੋ ਸਕਦਾ ਹੈ।
ਅਸੀਂ ਇਸ ਲੇਖ ਵਿੱਚ JavaScript ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਤੁਹਾਡੇ Cloudflare ਵਰਕਰ ਵਿੱਚ KV ਮੋਡੀਊਲ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਆਯਾਤ ਕਰਨ ਅਤੇ ਵਰਤਣ ਲਈ ਲੋੜੀਂਦੀਆਂ ਪ੍ਰਕਿਰਿਆਵਾਂ ਨੂੰ ਦੇਖਾਂਗੇ। ਅਸੀਂ ਇਸ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਕੌਂਫਿਗਰ ਕਰਨ ਦੇ ਤਰੀਕੇ ਬਾਰੇ ਦੱਸਾਂਗੇ ਤਾਂ ਜੋ ਤੁਸੀਂ ਬੇਨਤੀਆਂ ਨੂੰ ਪੁਟ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰ ਸਕੋ। ਜੇਕਰ ਤੁਸੀਂ ਆਪਣੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ Cloudflare KV ਦੀ ਵੱਧ ਤੋਂ ਵੱਧ ਸਮਰੱਥਾ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ ਇਸ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਸਮਝਣਾ ਬਹੁਤ ਜ਼ਰੂਰੀ ਹੈ।
ਬੈਕਐਂਡ ਪ੍ਰੋਗਰਾਮਿੰਗ ਜਾਂ ਕਲਾਉਡਫਲੇਅਰ ਵਰਕਰਾਂ ਨਾਲ ਤੁਹਾਡੇ ਤਜ਼ਰਬੇ ਦੇ ਪੱਧਰ ਦੀ ਪਰਵਾਹ ਕੀਤੇ ਬਿਨਾਂ, ਇਹ ਟਿਊਟੋਰਿਅਲ ਪ੍ਰਕਿਰਿਆ ਦੇ ਹਰੇਕ ਪੜਾਅ ਵਿੱਚ ਤੁਹਾਡੀ ਅਗਵਾਈ ਕਰੇਗਾ। ਸਿੱਟੇ 'ਤੇ, ਤੁਸੀਂ ਸਮਝ ਸਕੋਗੇ ਕਿ ਕੇਵੀ ਮੋਡੀਊਲ ਨਾਲ ਸੰਚਾਰ ਕਰਨ ਅਤੇ ਇਸਨੂੰ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਮੂਲ JavaScript ਕੋਡ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰਨੀ ਹੈ।
ਹੁਕਮ | ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਨ |
---|---|
env.MY_KV_NAMESPACE.put() | Cloudflare ਲਈ KV ਸਟੋਰ ਵਿੱਚ ਇੱਕ ਮੁੱਲ ਰੱਖਦਾ ਹੈ। await env.MY_KV_NAMESPACE.put('key1', 'value'), ਉਦਾਹਰਨ ਲਈ ਇਸ ਤਰ੍ਹਾਂ ਡੇਟਾ ਨੂੰ KV ਸਟੋਰ ਵਿੱਚ ਸੁਰੱਖਿਅਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਜੋ ਕਿ ਵਰਕਰਾਂ ਲਈ ਲਗਾਤਾਰ ਡੇਟਾ ਰੱਖਣ ਲਈ ਜ਼ਰੂਰੀ ਹੈ। |
env.MY_KV_NAMESPACE.get() | Cloudflare ਦੇ KV ਸਟੋਰੇਜ ਤੋਂ ਇੱਕ ਮੁੱਲ ਕੱਢਦਾ ਹੈ। ਕੰਸਟ ਮੁੱਲ = ਉਡੀਕ ਕਰੋ env.MY_KV_NAMESPACE.get('key1'); ਇੱਕ ਉਦਾਹਰਣ ਦੇ ਤੌਰ 'ਤੇ ਤੁਹਾਡੇ ਵਰਕਰ ਵਿੱਚ ਡੇਟਾ ਨੂੰ ਵਾਪਸ ਪੜ੍ਹਨ ਲਈ, ਇਹ ਕਮਾਂਡ KV ਵਿੱਚ ਸਟੋਰ ਕੀਤੇ ਡੇਟਾ ਨੂੰ ਇਸਦੀ ਕੁੰਜੀ ਦੁਆਰਾ ਪ੍ਰਾਪਤ ਕਰਦੀ ਹੈ। |
addEventListener('fetch') | Sets up an event listener for the fetch event, which is triggered when a request is made to the Worker. Example: addEventListener('fetch', event =>ਫੈਚ ਇਵੈਂਟ ਲਈ ਇੱਕ ਇਵੈਂਟ ਲਿਸਨਰ ਸੈਟ ਅਪ ਕਰਦਾ ਹੈ, ਜੋ ਕਿ ਉਦੋਂ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਵਰਕਰ ਨੂੰ ਬੇਨਤੀ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਉਦਾਹਰਨ: addEventListener('fetch', event => {...}); ਇਹ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਕਿ ਵਰਕਰ ਆਉਣ ਵਾਲੀਆਂ HTTP ਬੇਨਤੀਆਂ ਨੂੰ ਕਿਵੇਂ ਸੰਭਾਲਦਾ ਹੈ। |
event.respondWith() | ਗਾਹਕ ਨੂੰ ਜਵਾਬ ਦਿੰਦਾ ਹੈ। ਇਹ ਨਿਸ਼ਚਿਤ ਕਰਨ ਦਾ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਤਰੀਕਾ ਹੈ ਕਿ ਇੱਕ ਕਰਮਚਾਰੀ ਨੂੰ HTTP ਬੇਨਤੀਆਂ 'ਤੇ ਕਿਵੇਂ ਪ੍ਰਤੀਕਿਰਿਆ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ, ਇੱਕ ਉਦਾਹਰਣ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਹੈ ਜਿਵੇਂ event.respondWith(handleRequest(event.request)); ਇਹ ਆਮ ਤੌਰ 'ਤੇ KV ਸਟੋਰ ਤੋਂ ਜਾਣਕਾਰੀ ਵਾਪਸ ਕਰੇਗਾ। |
handleRequest() | ਸਵਾਲਾਂ ਅਤੇ ਜਵਾਬਾਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਬਣਾਇਆ ਗਿਆ ਫੰਕਸ਼ਨ। ਉਦਾਹਰਨ ਦੇ ਤੌਰ 'ਤੇ handleRequest(request) ਦੀ ਵਰਤੋਂ ਕਰਨਾ, async ਫੰਕਸ਼ਨ {...} ਇਸ ਵਿੱਚ KV ਨਾਲ ਨਜਿੱਠਣ ਅਤੇ ਵੱਖ-ਵੱਖ ਬੇਨਤੀ ਵਿਧੀਆਂ, ਜਿਵੇਂ ਕਿ GET ਅਤੇ PUT ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਲਈ ਤਰਕ ਸ਼ਾਮਲ ਹੈ। |
Response() | HTTP ਜਵਾਬ ਲਈ ਇੱਕ ਵਸਤੂ ਬਣਾਉਂਦਾ ਹੈ। ਉਦਾਹਰਨ: ਨਵਾਂ ਜਵਾਬ ਵਾਪਸ ਕਰੋ ('ਹੈਲੋ ਵਰਲਡ'); ਇਹ ਕਮਾਂਡ, ਜੋ ਕਿ KV ਤੋਂ ਪ੍ਰਾਪਤ ਕੀਤੇ ਜਵਾਬਾਂ ਲਈ ਅਕਸਰ ਵਰਤੀ ਜਾਂਦੀ ਹੈ, ਇੱਕ ਬੇਨਤੀ ਦੀ ਪ੍ਰਕਿਰਿਆ ਤੋਂ ਬਾਅਦ ਕਲਾਇੰਟ ਨੂੰ ਡੇਟਾ ਵਾਪਸ ਕਰਨ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ। |
putValue() | ਕੇਵੀ ਡਾਟਾ ਸਟੋਰੇਜ ਲਈ ਇੱਕ ਮਾਡਿਊਲਰ ਸਹਾਇਕ ਵਿਸ਼ੇਸ਼ਤਾ। PutValue(kv, key, value) ਇੱਕ async ਫੰਕਸ਼ਨ {...} ਦੀ ਇੱਕ ਉਦਾਹਰਨ ਹੈ। KV ਵਿੱਚ ਇੱਕ ਮੁੱਲ ਨੂੰ ਸਟੋਰ ਕਰਨ ਦੀ ਵਿਧੀ ਇਸ ਫੰਕਸ਼ਨ ਵਿੱਚ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਕੋਡ ਦੀ ਮੁੜ ਵਰਤੋਂਯੋਗਤਾ ਨੂੰ ਵਧਾਉਂਦੀ ਹੈ। |
getValue() | ਕੇਵੀ ਤੋਂ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਇੱਕ ਮਾਡਿਊਲਰ ਸਹਾਇਤਾ ਵਿਸ਼ੇਸ਼ਤਾ। async ਫੰਕਸ਼ਨ getValue(kv, key) ਇੱਕ ਉਦਾਹਰਨ ਵਜੋਂ {...} ਇਹ ਕਮਾਂਡ KV ਤੋਂ ਡਾਟਾ ਇਕੱਠਾ ਕਰਨ ਨੂੰ ਮੁੜ ਵਰਤੋਂ ਯੋਗ ਤਰਕ ਨਾਲ ਆਸਾਨ ਬਣਾਉਂਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ putValue()। |
wrangler.toml | ਕੌਂਫਿਗਰੇਸ਼ਨ ਫਾਈਲ ਜੋ ਤੁਹਾਡੇ ਵਰਕਰ ਦੇ ਕੇਵੀ ਨਾਮ-ਸਥਾਨਾਂ ਨੂੰ ਜੋੜਦੀ ਹੈ। kv_namespaces = [{ binding = "MY_KV_NAMESPACE", id = "kv-id" }] ਇਸਦੀ ਇੱਕ ਉਦਾਹਰਨ ਹੈ। ਵਰਕਰ ਸਕ੍ਰਿਪਟ ਤੋਂ KV ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ, ਤੁਹਾਡੇ ਕੋਲ ਇਹ ਫਾਈਲ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ, ਜੋ ਦੱਸਦੀ ਹੈ ਕਿ ਤੁਹਾਡਾ ਵਰਕਰ KV ਸਟੋਰ ਨਾਲ ਕਿਵੇਂ ਜੁੜਿਆ ਹੋਇਆ ਹੈ। |
ਕਲਾਉਡਫਲੇਅਰ ਵਰਕਰ ਕੇਵੀ ਏਕੀਕਰਣ ਨੂੰ ਸਮਝਣਾ
ਪਿਛਲੀਆਂ ਉਦਾਹਰਣਾਂ ਵਿੱਚ ਦਿੱਤੀਆਂ ਸਕ੍ਰਿਪਟਾਂ ਨੂੰ Cloudflare KV ਸਟੋਰ ਨਾਲ ਸੰਚਾਰ ਕਰਨ ਲਈ ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਵਰਕਰ ਸਕ੍ਰਿਪਟਾਂ ਦੀ ਆਗਿਆ ਦੇਣ ਲਈ ਬਣਾਇਆ ਗਿਆ ਹੈ। ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਮੁੱਖ ਭੂਮਿਕਾ ਹੈ Cloudflare KV ਡਾਟਾ ਸਟੋਰੇਜ਼ ਅਤੇ ਮੁੜ ਪ੍ਰਾਪਤੀ ਲਈ ਸਿਸਟਮ. ਕਲਾਉਡਫਲੇਅਰ ਵਰਕਰਾਂ ਦੇ ਨਾਲ, ਤੁਸੀਂ ਆਪਣੇ ਉਪਭੋਗਤਾਵਾਂ ਦੇ ਨੇੜੇ ਛੋਟੀਆਂ ਸਕ੍ਰਿਪਟਾਂ ਚਲਾ ਸਕਦੇ ਹੋ ਕਿਉਂਕਿ ਉਹ ਸਰਵਰ ਰਹਿਤ ਵਾਤਾਵਰਣ ਵਿੱਚ ਕੰਮ ਕਰਦੇ ਹਨ। ਇੱਕ ਮੁੱਖ-ਮੁੱਲ ਡੇਟਾਬੇਸ ਦੇ ਰੂਪ ਵਿੱਚ, KV ਸਟੋਰ ਨਿਰੰਤਰ ਡੇਟਾ ਦੇ ਪ੍ਰਬੰਧਨ ਲਈ ਉਪਯੋਗੀ ਹੈ। ਪਹਿਲੀ ਉਦਾਹਰਨ ਵਿੱਚ `ਪੁਟ` ਅਤੇ `ਗੇਟ} ਐਕਸ਼ਨਜ਼ ਨੂੰ ਮੁੱਢਲੀਆਂ ਕਾਰਵਾਈਆਂ ਵਜੋਂ ਕੌਂਫਿਗਰ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਵਧੇਰੇ ਸਟੀਕ ਹੋਣ ਲਈ, ਕਮਾਂਡਾਂ env.MY_KV_NAMESPACE.put() ਅਤੇ env.MY_KV_NAMESPACE.get() ਕ੍ਰਮਵਾਰ ਡੇਟਾ ਨੂੰ ਸਟੋਰ ਕਰਨ ਅਤੇ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਗਤੀਸ਼ੀਲ ਸਮੱਗਰੀ ਦੇ ਪ੍ਰਬੰਧਨ ਲਈ ਜ਼ਰੂਰੀ ਹਨ।
KV ਨੇਮਸਪੇਸ ਨੂੰ `wrangler.toml} ਕੌਂਫਿਗਰੇਸ਼ਨ ਫਾਈਲ ਰਾਹੀਂ ਆਪਣੇ ਕਲਾਉਡਫਲੇਅਰ ਵਰਕਰ ਨਾਲ ਬੰਨ੍ਹਣਾ ਬੁਨਿਆਦੀ ਵਿਚਾਰਾਂ ਵਿੱਚੋਂ ਇੱਕ ਹੈ। ਵਜੋਂ ਨਿਯੁਕਤ ਕਰਕੇ MY_KV_NAMESPACE, ਅਸੀਂ ਨੱਥੀ ਕਰਦੇ ਹਾਂ ਕੇਵੀ ਸਟੋਰ ਇਸ ਸੰਰਚਨਾ ਵਿੱਚ ਵਰਕਰ ਨੂੰ। {env} ਆਬਜੈਕਟ ਵਰਕਰ ਸਕ੍ਰਿਪਟ ਨੂੰ ਇਸ ਕੇਵੀ ਸਟੋਰ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ ਜਦੋਂ ਇਹ ਬੰਨ੍ਹਿਆ ਜਾਂਦਾ ਹੈ। ਆਉਣ ਵਾਲੀਆਂ HTTP ਬੇਨਤੀਆਂ ਲਈ ਇੱਕ ਇਵੈਂਟ ਲਿਸਨਰ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਕੇ, `addEventListener('fetch')` ਵਿਧੀ ਵਰਕਰ ਨੂੰ ਬੇਨਤੀ ਵਿਧੀ (GET ਜਾਂ PUT) ਦੇ ਅਨੁਸਾਰ ਪ੍ਰਤੀਕਿਰਿਆ ਕਰਨ ਦੇ ਯੋਗ ਬਣਾਉਂਦੀ ਹੈ। API ਬੇਨਤੀਆਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਦੇ ਸਮੇਂ ਜੋ ਡੇਟਾ ਨੂੰ ਰੀਅਲ-ਟਾਈਮ ਪੜ੍ਹਨ ਅਤੇ ਲਿਖਣ ਲਈ ਕਾਲ ਕਰਦੇ ਹਨ, ਇਹ ਤਕਨੀਕ ਕਾਫ਼ੀ ਮਦਦਗਾਰ ਹੈ।
ਦੂਜੀ ਉਦਾਹਰਨ ਬੁਨਿਆਦੀ ਬੇਨਤੀ ਹੈਂਡਲਿੰਗ ਤੋਂ ਇਲਾਵਾ ਕੇਵੀ ਗਤੀਵਿਧੀਆਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਵਧੇਰੇ ਮਾਡਯੂਲਰ ਪਹੁੰਚ ਦਰਸਾਉਂਦੀ ਹੈ। `putValue()` ਅਤੇ `getValue()` ਵਰਗੇ ਫੰਕਸ਼ਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ KV ਸਟੋਰ ਤੋਂ ਡੇਟਾ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰਨ ਦੇ ਲਾਗੂਕਰਨ ਦੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਦੂਰ ਕਰਨਾ ਸੰਭਵ ਹੈ। ਕਿਉਂਕਿ ਇਹ ਫੰਕਸ਼ਨ ਤੁਹਾਡੇ ਪ੍ਰੋਗਰਾਮ ਦੇ ਦੂਜੇ ਭਾਗਾਂ ਤੋਂ ਵਰਤੇ ਜਾ ਸਕਦੇ ਹਨ, ਸਕ੍ਰਿਪਟ ਵਧੇਰੇ ਮੁੜ ਵਰਤੋਂ ਯੋਗ ਅਤੇ ਬਣਾਈ ਰੱਖਣ ਲਈ ਆਸਾਨ ਬਣ ਜਾਂਦੀ ਹੈ। ਡਿਵੈਲਪਰ ਚਿੰਤਾਵਾਂ ਨੂੰ ਵੰਡ ਕੇ ਇਹ ਯਕੀਨੀ ਬਣਾ ਸਕਦੇ ਹਨ ਕਿ KV ਨਾਲ ਇੰਟਰੈਕਟ ਕਰਨ ਦਾ ਤਰਕ ਸ਼ਾਮਲ ਹੈ ਅਤੇ ਸਾਫਟਵੇਅਰ ਵਿੱਚ ਇਕਸਾਰ ਹੈ।
ਆਖਰੀ ਉਦਾਹਰਨ ਦਰਸਾਉਂਦੀ ਹੈ ਕਿ Cloudflare KV ਓਪਰੇਸ਼ਨਾਂ ਨਾਲ Fetch API ਕਾਰਜਕੁਸ਼ਲਤਾ ਨੂੰ ਕਿਵੇਂ ਜੋੜਿਆ ਜਾਵੇ। ਕਰਮਚਾਰੀ ਹੁਣ ਇੱਕ ਗਤੀਸ਼ੀਲ ਤਰੀਕੇ ਨਾਲ HTTP ਬੇਨਤੀਆਂ 'ਤੇ ਪ੍ਰਤੀਕਿਰਿਆ ਕਰ ਸਕਦੇ ਹਨ। ਡਿਵੈਲਪਰ Cloudflare ਵਰਕਰਾਂ ਦੇ ਨਾਲ ਅਨੁਕੂਲ API ਬਣਾ ਸਕਦੇ ਹਨ ਅਤੇ Fetch API ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਡਾਟਾ ਸਟੋਰੇਜ ਅਤੇ ਮੁੜ ਪ੍ਰਾਪਤੀ ਬੇਨਤੀਆਂ ਦੇ ਅਸਿੰਕ੍ਰੋਨਸ ਹੈਂਡਲਿੰਗ ਦੀ ਗਰੰਟੀ ਦੇ ਸਕਦੇ ਹਨ। `ਜਵਾਬ()` ਵਸਤੂ ਦਾ ਮਹੱਤਵ ਤੁਹਾਡੇ ਕੇਵੀ ਓਪਰੇਸ਼ਨਾਂ ਦੇ ਨਤੀਜਿਆਂ ਨੂੰ ਇੱਕ HTTP ਜਵਾਬ ਵਿੱਚ ਸੰਘਣਾ ਕਰਨ ਦੀ ਯੋਗਤਾ ਵਿੱਚ ਹੈ ਜੋ ਕਲਾਇੰਟ ਨੂੰ ਵਾਪਸ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਤੁਹਾਡਾ ਕਲਾਉਡਫਲੇਅਰ ਵਰਕਰ ਆਪਣੇ ਫਰੇਮਵਰਕ ਅਤੇ ਮਾਡਯੂਲਰ ਸਹਾਇਕ ਤਰੀਕਿਆਂ ਦੇ ਕਾਰਨ ਬਹੁਤ ਸਾਰੀਆਂ ਸਥਿਤੀਆਂ ਵਿੱਚ ਟੈਸਟ ਕਰਨ ਲਈ ਪ੍ਰਦਰਸ਼ਨਸ਼ੀਲ ਅਤੇ ਸਧਾਰਨ ਰਹੇਗਾ।
ਇੱਕ ਵਰਕਰ ਵਿੱਚ Cloudflare KV ਨੂੰ ਆਯਾਤ ਕਰਨ ਅਤੇ ਵਰਤਣ ਲਈ ਵੱਖ-ਵੱਖ ਢੰਗ
JavaScript: Cloudflare KV ਸਟੋਰ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ ਰੈਂਗਲਰ ਦੀ ਵਰਤੋਂ ਕਰਨਾ
// Cloudflare Worker script using Wrangler to access the KV store
export default {
async fetch(request, env) {
// Put request to store a value in KV
await env.MY_KV_NAMESPACE.put('key1', 'Hello, Cloudflare KV!');
// Get request to retrieve a value from KV
const value = await env.MY_KV_NAMESPACE.get('key1');
return new Response(`Stored value: ${value}`);
},
};
// Ensure that MY_KV_NAMESPACE is bound to the Worker in the wrangler.toml
ਵਿਕਲਪਕ ਪਹੁੰਚ: Cloudflare ਵਰਕਰ ਵਿੱਚ Fetch API ਦੀ ਵਰਤੋਂ ਕਰਨਾ
JavaScript: ਇੱਕ ਵਰਕਰ ਵਿੱਚ Cloudflare KV ਤੋਂ ਡੇਟਾ ਪ੍ਰਾਪਤ ਕਰੋ
// Cloudflare Worker script to fetch data from a KV namespace
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request));
});
async function handleRequest(request) {
// Fetch data from KV store using env bindings
const value = await MY_KV_NAMESPACE.get('key2');
return new Response(value || 'Value not found');
}
// Ensure 'MY_KV_NAMESPACE' is properly defined in wrangler.toml
ਮਾਡਯੂਲਰ ਪਹੁੰਚ: ਕੇਵੀ ਓਪਰੇਸ਼ਨਾਂ ਲਈ ਵੱਖਰੇ ਫੰਕਸ਼ਨ
JavaScript: Cloudflare KV ਓਪਰੇਸ਼ਨਾਂ ਲਈ ਮਾਡਿਊਲਰ ਫੰਕਸ਼ਨ
export default {
async fetch(request, env) {
if (request.method === 'PUT') {
const result = await putValue(env.MY_KV_NAMESPACE, 'key3', 'Modular KV Put!');
return new Response(result);
} else if (request.method === 'GET') {
const value = await getValue(env.MY_KV_NAMESPACE, 'key3');
return new Response(`Retrieved value: ${value}`);
}
},
};
async function putValue(kv, key, value) {
await kv.put(key, value);
return 'Value stored successfully!';
}
async function getValue(kv, key) {
return await kv.get(key);
}
ਵਰਕਰਾਂ ਵਿੱਚ ਕਲਾਉਡਫਲੇਅਰ ਕੇਵੀ ਦੇ ਪ੍ਰਬੰਧਨ ਲਈ ਵਧੀਆ ਅਭਿਆਸ
ਪ੍ਰਦਰਸ਼ਨ ਅਤੇ ਸੁਰੱਖਿਆ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਣ ਲਈ, Cloudflare KV ਨੂੰ ਵਰਕਰਾਂ ਵਿੱਚ ਏਕੀਕ੍ਰਿਤ ਕਰਦੇ ਸਮੇਂ ਕੁਝ ਸਿਫ਼ਾਰਸ਼ ਕੀਤੇ ਅਭਿਆਸਾਂ ਨੂੰ ਧਿਆਨ ਵਿੱਚ ਰੱਖਣਾ ਮਹੱਤਵਪੂਰਨ ਹੈ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਣਾ ਕਿ ਕੇਵੀ ਸਟੋਰ ਵਿੱਚ ਸਹੀ ਤਰ੍ਹਾਂ ਬੰਨ੍ਹਿਆ ਹੋਇਆ ਹੈ wrangler.toml ਕੌਂਫਿਗਰੇਸ਼ਨ ਫਾਈਲ ਇੱਕ ਅਜਿਹੀ ਚੀਜ਼ ਹੈ ਜੋ ਨਵੇਂ ਲੋਕ ਅਕਸਰ ਕਰਨਾ ਭੁੱਲ ਜਾਂਦੇ ਹਨ। ਰਨਟਾਈਮ ਸਮੱਸਿਆਵਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ ਜਦੋਂ ਤੁਹਾਡੀ ਵਰਕਰ ਸਕ੍ਰਿਪਟ ਗਲਤ ਬਾਈਡਿੰਗ ਦੇ ਕਾਰਨ KV ਸਟੋਰ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੀ ਹੈ। ਇਹ ਯਕੀਨੀ ਬਣਾਇਆ ਜਾਂਦਾ ਹੈ ਕਿ ਕੇਵੀ ਸਟੋਰ ਨੇਮਸਪੇਸ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਪਰਿਭਾਸ਼ਿਤ ਕਰਕੇ ਵਰਕਰ ਵਾਤਾਵਰਣ ਵਿੱਚ ਪਛਾਣਿਆ ਅਤੇ ਵਰਤੋਂ ਯੋਗ ਹੈ।
ਡਾਟਾ ਪ੍ਰਾਪਤੀ ਨੂੰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਪ੍ਰਬੰਧਿਤ ਕਰਨਾ ਇਕ ਹੋਰ ਮਹੱਤਵਪੂਰਨ ਕਾਰਕ ਹੈ। ਦੀ ਅੰਤਮ ਇਕਸਾਰਤਾ ਦਿੱਤੀ ਗਈ ਕੇਵੀ ਸਟੋਰ, ਇਹ ਸੰਭਵ ਹੈ ਕਿ ਪ੍ਰਾਪਤ ਕੀਤਾ ਡਾਟਾ ਵੱਖ-ਵੱਖ ਖੇਤਰਾਂ ਵਿੱਚ ਕੁਝ ਹੱਦ ਤੱਕ ਸਿੰਕ ਤੋਂ ਬਾਹਰ ਹੈ। ਇਸ ਇਕਸਾਰਤਾ ਮਾਡਲ ਨੂੰ ਧਿਆਨ ਵਿਚ ਰੱਖਦੇ ਹੋਏ ਆਪਣੀ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਡਿਜ਼ਾਈਨ ਕਰਨਾ ਮਹੱਤਵਪੂਰਨ ਹੈ, ਖਾਸ ਕਰਕੇ ਜੇਕਰ ਤੁਸੀਂ ਸਮੇਂ-ਸੰਵੇਦਨਸ਼ੀਲ ਡੇਟਾ ਨੂੰ ਸੰਭਾਲ ਰਹੇ ਹੋ। ਇਹ ਦੇਰੀ ਘੱਟ ਮਹੱਤਵਪੂਰਨ ਡੇਟਾ ਲਈ ਮਾਮੂਲੀ ਹੈ, ਪਰ ਇੱਕ ਗਲੋਬਲ ਸੈਟਿੰਗ ਵਿੱਚ KV ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਸਮੇਂ ਇਸ ਵਿਵਹਾਰ ਨੂੰ ਸਮਝਣਾ ਜ਼ਰੂਰੀ ਹੈ।
ਅੰਤ ਵਿੱਚ, ਤੁਹਾਨੂੰ ਸੁਰੱਖਿਆ ਅਤੇ ਗਲਤੀ ਨਾਲ ਨਜਿੱਠਣ 'ਤੇ ਵਿਚਾਰ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ। ਹੋਰ ਸਰਵਰ ਰਹਿਤ ਸੈਟਅਪਾਂ ਵਾਂਗ, ਕਲਾਉਡਫਲੇਅਰ ਵਰਕਰਾਂ ਨੂੰ ਵੀ ਮਜ਼ਬੂਤ ਗਲਤੀ ਪ੍ਰਬੰਧਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਖਾਸ ਕਰਕੇ ਜਦੋਂ ਬਾਹਰੀ ਸਟੋਰੇਜ ਸਿਸਟਮ ਜਿਵੇਂ ਕਿ KV ਨਾਲ ਕੰਮ ਕਰਦੇ ਹਨ। KV ਵਿੱਚ ਡੇਟਾ ਪਾਉਣ ਤੋਂ ਪਹਿਲਾਂ, ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਇਹ ਪ੍ਰਮਾਣਿਤ ਹੈ, ਅਤੇ ਕਿਸੇ ਵੀ ਸੰਭਾਵੀ ਮੁਸ਼ਕਲਾਂ ਨਾਲ ਨਜਿੱਠੋ ਜਿਵੇਂ ਕਿ ਸਮਾਂ ਸਮਾਪਤ ਜਾਂ ਕੁਨੈਕਸ਼ਨ ਮੁੱਦੇ ਨਿਮਰਤਾ ਨਾਲ. ਤੁਹਾਡੇ ਕੇਵੀ ਓਪਰੇਸ਼ਨਾਂ ਦੇ ਆਲੇ ਦੁਆਲੇ ਟ੍ਰਾਈ-ਕੈਚ ਬਲਾਕਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨਾ ਅਤੇ ਮਦਦਗਾਰ ਗਲਤੀ ਸੁਨੇਹੇ ਪ੍ਰਦਾਨ ਕਰਨਾ ਤੁਹਾਡੀ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਵਧੇਰੇ ਭਰੋਸੇਮੰਦ ਅਤੇ ਸਾਂਭਣਯੋਗ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰ ਸਕਦਾ ਹੈ।
ਕਾਮਿਆਂ ਵਿੱਚ Cloudflare KV ਦੀ ਵਰਤੋਂ ਕਰਨ ਬਾਰੇ ਆਮ ਸਵਾਲ
- ਮੈਂ ਆਪਣੇ ਵਰਕਰ ਨੂੰ ਇੱਕ ਕੇਵੀ ਨੇਮਸਪੇਸ ਕਿਵੇਂ ਬੰਨ੍ਹ ਸਕਦਾ ਹਾਂ?
- ਹੇਠ ਦਿੱਤੀ ਸੰਰਚਨਾ ਨੂੰ ਜੋੜ ਕੇ, ਤੁਸੀਂ ਵਿੱਚ ਇੱਕ ਕੇਵੀ ਨੇਮਸਪੇਸ ਬੰਨ੍ਹ ਸਕਦੇ ਹੋ wrangler.toml ਫਾਈਲ: kv_namespaces = [{ binding = "MY_KV_NAMESPACE", id = "your-kv-id" }].
- Cloudflare KV ਵਿੱਚ ਅੰਤਮ ਇਕਸਾਰਤਾ ਕੀ ਹੈ?
- ਅੰਤਮ ਇਕਸਾਰਤਾ ਦੇ ਕਾਰਨ, KV ਵਿੱਚ ਇੱਕ ਥਾਂ 'ਤੇ ਕੀਤੇ ਗਏ ਸੋਧਾਂ ਨੂੰ ਤੁਰੰਤ ਦੁਨੀਆ ਵਿੱਚ ਫੈਲਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ ਹੈ। ਹਾਲਾਂਕਿ ਇਹ ਤਤਕਾਲ ਨਹੀਂ ਹੈ, ਇਹ ਦੇਰੀ ਬਹੁਤ ਸਾਰੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਲਈ ਵਧੀਆ ਕੰਮ ਕਰਦੀ ਹੈ।
- KV ਨਾਲ ਇੰਟਰੈਕਟ ਕਰਦੇ ਸਮੇਂ ਮੈਂ ਗਲਤੀਆਂ ਨੂੰ ਕਿਵੇਂ ਸੰਭਾਲ ਸਕਦਾ ਹਾਂ?
- ਟਾਈਮਆਉਟ ਵਰਗੀਆਂ ਸੰਭਵ ਸਮੱਸਿਆਵਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਲਈ, ਵਰਤੋਂ try-catch ਤੁਹਾਡੇ ਕੇਵੀ ਓਪਰੇਸ਼ਨਾਂ ਦੇ ਆਲੇ ਦੁਆਲੇ ਬਲਾਕ. ਤੁਸੀਂ ਬਾਅਦ ਵਿੱਚ ਸਮੱਸਿਆ ਨਿਪਟਾਰਾ ਕਰਨ ਲਈ ਗਲਤੀਆਂ ਦੀ ਰਿਪੋਰਟ ਕਰ ਸਕਦੇ ਹੋ।
- ਕੀ ਮੈਂ KV ਵਿੱਚ JSON ਵਰਗੀਆਂ ਗੁੰਝਲਦਾਰ ਡਾਟਾ ਕਿਸਮਾਂ ਨੂੰ ਸਟੋਰ ਕਰ ਸਕਦਾ/ਦੀ ਹਾਂ?
- ਦਰਅਸਲ, JSON ਡੇਟਾ ਨੂੰ ਪਹਿਲਾਂ ਇਸਨੂੰ ਇੱਕ ਸਤਰ ਵਿੱਚ ਬਦਲ ਕੇ ਸਟੋਰ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ JSON.stringify(), ਅਤੇ ਫਿਰ ਵਰਤ ਕੇ JSON.parse() ਡਾਟਾ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ.
- ਮੈਂ ਡੇਟਾ ਨੂੰ KV ਵਿੱਚ ਸਟੋਰ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਕਿਵੇਂ ਪ੍ਰਮਾਣਿਤ ਕਰਾਂ?
- ਵਰਤਣ ਤੋਂ ਪਹਿਲਾਂ env.MY_KV_NAMESPACE.put() ਡੇਟਾ ਨੂੰ ਸਟੋਰ ਕਰਨ ਲਈ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਇੱਕ ਪ੍ਰਮਾਣਿਕਤਾ ਫੰਕਸ਼ਨ ਲਿਖੋ ਕਿ ਡੇਟਾ ਤੁਹਾਡੇ ਦੁਆਰਾ ਅਨੁਮਾਨਤ ਫਾਰਮੈਟ ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ।
ਵਰਕਰਾਂ ਵਿੱਚ ਕੇਵੀ ਨੂੰ ਏਕੀਕ੍ਰਿਤ ਕਰਨ ਬਾਰੇ ਅੰਤਿਮ ਵਿਚਾਰ
Cloudflare KV ਸਟੋਰ ਨੂੰ ਸਥਾਈ ਡੇਟਾ ਨੂੰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਪ੍ਰਬੰਧਿਤ ਕਰਨ ਲਈ ਵਰਕਰਾਂ ਵਿੱਚ ਏਕੀਕ੍ਰਿਤ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਤੁਸੀਂ ਬੇਸਿਕ ਪ੍ਰਾਪਤ ਅਤੇ ਪੁਟ ਬੇਨਤੀਆਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਤੇ ਕੇਵੀ ਨੇਮਸਪੇਸ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਬਾਈਡਿੰਗ ਕਰਕੇ ਆਸਾਨੀ ਨਾਲ ਡਾਟਾ ਸਟੋਰ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ। ਜਦੋਂ ਕੋਈ ਸਹਾਇਕ ਫੰਕਸ਼ਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਅਤੇ ਵਿਆਕਰਣ ਨੂੰ ਸਮਝਦਾ ਹੈ ਤਾਂ ਵਿਕਾਸ ਵਧੇਰੇ ਸੁਚਾਰੂ ਢੰਗ ਨਾਲ ਹੁੰਦਾ ਹੈ।
ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰੋ ਕਿ ਤੁਸੀਂ ਜਾਂਦੇ ਸਮੇਂ ਸਭ ਤੋਂ ਵਧੀਆ ਅਭਿਆਸਾਂ ਦੀ ਪਾਲਣਾ ਕਰਦੇ ਹੋ, ਜਿਸ ਵਿੱਚ ਗਲਤੀਆਂ ਅਤੇ ਕਿਸੇ ਇਕਸਾਰਤਾ ਦੀਆਂ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਕਿਵੇਂ ਸੰਭਾਲਣਾ ਹੈ। ਇਸ ਅਧਾਰ ਦੇ ਨਾਲ, ਤੁਸੀਂ ਕਲਾਉਡਫਲੇਅਰ ਵਰਕਰਾਂ 'ਤੇ ਸਕੇਲੇਬਲ, ਭਰੋਸੇਮੰਦ ਐਪਸ ਬਣਾ ਸਕਦੇ ਹੋ ਜੋ ਕਿ ਕਈ ਦ੍ਰਿਸ਼ਾਂ ਲਈ ਕੇਵੀ ਸਟੋਰ ਦੀ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਵਰਤੋਂ ਕਰਦੇ ਹਨ।
ਹਵਾਲੇ ਅਤੇ ਸਰੋਤ
- ਕਲਾਉਡਫਲੇਅਰ ਵਰਕਰਾਂ ਅਤੇ ਕੇਵੀ ਏਕੀਕਰਣ ਦੀ ਵਰਤੋਂ ਕਰਨ ਬਾਰੇ ਜਾਣਕਾਰੀ ਕਲਾਉਡਫਲੇਅਰ ਦੇ ਅਧਿਕਾਰਤ ਦਸਤਾਵੇਜ਼ਾਂ ਵਿੱਚ ਲੱਭੀ ਜਾ ਸਕਦੀ ਹੈ। ਹੋਰ ਵੇਰਵਿਆਂ ਲਈ, ਵੇਖੋ Cloudflare Workers KV API .
- ਰੈਂਗਲਰ CLI ਨਾਲ ਕਲਾਉਡਫਲੇਅਰ ਵਰਕਰਾਂ ਦੇ ਪ੍ਰਬੰਧਨ ਬਾਰੇ ਮਾਰਗਦਰਸ਼ਨ ਲਈ, ਵੇਖੋ ਕਲਾਉਡਫਲੇਅਰ ਰੈਂਗਲਰ ਦਸਤਾਵੇਜ਼ੀ .
- Cloudflare KV ਅਤੇ ਅੰਤਮ ਇਕਸਾਰਤਾ ਨੂੰ ਸੰਭਾਲਣ ਬਾਰੇ ਇੱਕ ਵਧੀਆ ਟਿਊਟੋਰਿਅਲ 'ਤੇ ਉਪਲਬਧ ਹੈ ਕਲਾਉਡਫਲੇਅਰ ਵਰਕਰ ਕੇਵੀ ਕਿਵੇਂ ਕੰਮ ਕਰਦੇ ਹਨ .