DO - Functions

Support HackTricks

Basic Information

DigitalOcean Functions, जिसे "DO Functions" के नाम से भी जाना जाता है, एक सर्वरलेस कंप्यूटिंग प्लेटफॉर्म है जो आपको बुनियादी ढांचे की चिंता किए बिना कोड चलाने की अनुमति देता है। DO Functions के साथ, आप अपने कोड को "फंक्शंस" के रूप में लिख और तैनात कर सकते हैं जिन्हें API, HTTP अनुरोधों (यदि सक्षम हो) या क्रॉन के माध्यम से प्रेरित किया जा सकता है। ये फंक्शंस एक पूरी तरह से प्रबंधित वातावरण में निष्पादित होते हैं, इसलिए आपको स्केलिंग, सुरक्षा, या रखरखाव की चिंता करने की आवश्यकता नहीं है।

DO में, एक फंक्शन बनाने के लिए सबसे पहले आपको एक नामस्थान बनाना होगा जो फंक्शंस को समूहित करेगा। नामस्थान के अंदर आप फिर एक फंक्शन बना सकते हैं।

Triggers

REST API के माध्यम से एक फंक्शन को प्रेरित करने का तरीका (हमेशा सक्षम, यह वह विधि है जिसका उपयोग cli करता है) एक प्रमाणन टोकन के साथ अनुरोध को प्रेरित करना है जैसे:

curl -X POST "https://faas-lon1-129376a7.doserverless.co/api/v1/namespaces/fn-c100c012-65bf-4040-1230-2183764b7c23/actions/functionname?blocking=true&result=true" \
-H "Content-Type: application/json" \
-H "Authorization: Basic MGU0NTczZGQtNjNiYS00MjZlLWI2YjctODk0N2MyYTA2NGQ4OkhwVEllQ2t4djNZN2x6YjJiRmFGc1FERXBySVlWa1lEbUxtRE1aRTludXA1UUNlU2VpV0ZGNjNqWnVhYVdrTFg="

इससे देखने के लिए कि doctl cli टूल यह टोकन कैसे प्राप्त कर रहा है (ताकि आप इसे दोहरा सकें), निम्नलिखित कमांड पूरा नेटवर्क ट्रेस दिखाता है:

doctl serverless connect --trace

जब HTTP ट्रिगर सक्षम होता है, एक वेब फ़ंक्शन को इन HTTP विधियों GET, POST, PUT, PATCH, DELETE, HEAD और OPTIONS के माध्यम से बुलाया जा सकता है।

DO फ़ंक्शंस में, पर्यावरण चर को एन्क्रिप्ट नहीं किया जा सकता (इस लेखन के समय)। मैं CLI से उन्हें पढ़ने का कोई तरीका नहीं ढूंढ सका लेकिन कंसोल से यह सीधा है।

फ़ंक्शंस URLs इस तरह दिखते हैं: https://<random>.doserverless.co/api/v1/web/<namespace-id>/default/<function-name>

एन्यूमरेशन

# Namespace
doctl serverless namespaces list

# Functions (need to connect to a namespace)
doctl serverless connect
doctl serverless functions list
doctl serverless functions invoke <func-name>
doctl serverless functions get <func-name>

# Logs of executions
doctl serverless activations list
doctl serverless activations get <activation-id> # Get all the info about execution
doctl serverless activations logs <activation-id> # get only the logs of execution
doctl serverless activations result <activation-id> # get only the response result of execution

# I couldn't find any way to get the env variables form the CLI

Functions सैंडबॉक्स से कोई मेटाडेटा एंडपॉइंट नहीं है

HackTricks का समर्थन करें

Last updated