कैसे सर्वर जानकारी प्राप्त करने के लिए वल्चर गो लाइब्रेरी का उपयोग करें

परिचय

आधिकारिक Vultr Go लाइब्रेरी का उपयोग Vultr API के साथ सहभागिता करने के लिए किया जा सकता है । Vultr एपीआई आपको सर्वर, डीएनएस, फ़ायरवॉल, स्नैपशॉट, नेटवर्क, और अधिक सहित अपने खाते से जुड़े संसाधनों को नियंत्रित करने की अनुमति देता है। यह ट्यूटोरियल आपके सर्वर के बारे में जानकारी प्राप्त करने के लिए एक साधारण एप्लिकेशन बनाकर आधिकारिक गो एपीआई क्लाइंट का उपयोग करने के लिए एक परिचय देगा।

आवश्यक शर्तें

  • 1.12+ स्थापित गो के साथ विंडोज, लिनक्स या मैकओएस पर चलने वाला कंप्यूटर।
  • बुनियादी प्रोग्रामिंग ज्ञान।
  • वैकल्पिक: एक IDE समर्थन गो (उदाहरण के लिए Visual Studio Code, emacs, या Atom)।

लक्ष्य

  • आधिकारिक वुल्ट एपीआई पुस्तकालय का उपयोग करने का तरीका जानने के लिए।
  • सर्वर जानकारी देखने के लिए एक कार्यक्रम लिखने के लिए।

चरण 1: परियोजना का निर्माण

सबसे पहले, हम एक नया मॉड्यूल (प्रोजेक्ट) बनाकर शुरू करेंगे। आमतौर पर, आप अपने कोड के लिए URL को मॉड्यूल नाम के रूप में एक रिपॉजिटरी का उपयोग करेंगे, लेकिन यह इस ट्यूटोरियल के दायरे से परे है। अभी के लिए, हम serverinfo का उपयोग मॉड्यूल नाम के रूप में करेंगे।

प्रोजेक्ट बनाने के लिए, निम्न कमांड चलाएँ:

# Create the folder in the current directory.
mkdir serverinfo

# Enter the new folder.
cd serverinfo

# Initialize the module.
go mod init serverinfo

चरण 2: पुस्तकालय को डाउनलोड करना

अगला, हम GitHub (एक कोड होस्टिंग साइट) से एपीआई पुस्तकालय डाउनलोड करेंगे। पुस्तकालयों को डाउनलोड करने के लिए, आपको go getकमांड का उपयोग करने की आवश्यकता है । यह go.mod फ़ाइल में जोड़ते समय लाइब्रेरी और उसकी निर्भरता को स्वचालित रूप से डाउनलोड करेगा । आपके द्वारा पहले खोले गए उसी टर्मिनल में, निम्न कमांड दर्ज करें:

go get github.com/vultr/govultr

चरण 3: अपनी एपीआई कुंजी प्राप्त करना

एपीआई क्लाइंट का उपयोग करने के लिए, आपको अपनी एपीआई कुंजी की आवश्यकता होगी। आप अपने डैशबोर्ड के खाता अनुभाग के एपीआई टैब से अपनी एपीआई कुंजी प्राप्त कर सकते हैं । एपीआई कुंजी का उपयोग करने के लिए आपको अपने आईपी पते को अधिकृत करने की भी आवश्यकता होगी। आप ifconfig.me पर जाकर अपना आईपी एड्रेस पा सकते हैं । ध्यान दें कि आप अपने सार्वजनिक आईपी ​​की तलाश कर रहे हैं , अपने निजी की नहीं। आपका निजी आईपी वह है जो आप अपने कंप्यूटर में अपनी नेटवर्क सेटिंग्स में पाएंगे, और निम्नलिखित CIDR रेंज में से एक में है: 10.0.0.0/8 , 172.16.0.0/12 , या 192.168.0.0/16

एक बार जब आपका आईपी पता हो, तो इसे एक्सेस कंट्रोल सेक्शन के तहत जोड़ें । / के बाद बॉक्स में , टाइप करें 32/32एक नेटमास्क अर्थ है 255.255.255.255। इसका मतलब है कि केवल आपका आईपी सीमा में शामिल है।

चेतावनी: अपनी API कुंजी को सुरक्षित रखें जैसे आप अपने पासवर्ड की रक्षा करेंगे। API कुंजी की बिलिंग, सर्वर और संग्रहण सहित आपके पूरे खाते तक पहुंच है।

चरण 4: प्रोग्राम फ़ाइल बनाना

अब, हम कार्यक्रम पर काम शुरू करने जा रहे हैं। उस फ़ोल्डर को खोलें जिसे हमने आपकी पसंद के संपादक के रूप में बनाया है, और नाम की एक फ़ाइल बनाएँ main.go

फ़ाइल के अंदर, निम्न कोड टाइप या कॉपी-पेस्ट करें:

package main

import (
    "context"
    "fmt"
    "os"

    "github.com/vultr/govultr"
)

func main() {

}

package mainगो कहते हैं कि हम एक कमांड बना रहे हैं, लाइब्रेरी नहीं। आयात विवरण उन निर्भरताओं की घोषणा करता है जिनका हम उपयोग कर रहे हैं। func main()जब हम अपना प्रोग्राम चलाते हैं तो फंक्शन कहते हैं।

चरण 5: एपीआई क्लाइंट को प्रारंभ करना

अगला कदम एपीआई क्लाइंट को इनिशियलाइज़ करना है। ऐसा करने के लिए, हमें govultr.NewClient (http.Client, string) फ़ंक्शन का उपयोग करने की आवश्यकता है । मुख्य () फ़ंक्शन के अंदर निम्न कोड जोड़ें :

client := govultr.NewClient(nil, "YOURAPIKEY")

YOURAPIKEYपूर्व में प्राप्त एपीआई कुंजी से बदलें ।

आइए इस कोड को थोड़ा करीब से देखें। के बाईं ओर :=, हमारे पास है client। वह एक चर का नाम है । एक वैरिएबल मानों को संग्रहीत करता है। दाईं ओर, हमारे पास एक फ़ंक्शन कॉल है govultr.NewClient । पहला पैरामीटर शून्य है, क्योंकि हमें डिफ़ॉल्ट HTTP क्लाइंट को बदलने की आवश्यकता नहीं है। दूसरा पैरामीटर एपीआई कुंजी है जिसे हम खुद को प्रमाणित करने के लिए उपयोग कर रहे हैं। :=ऑपरेटर बाईं ओर से दाईं ओर, करने के लिए समारोह कॉल का परिणाम प्रदान करती है, इस मामले में client

चरण 6: एपीआई का उपयोग करना

हमारा कार्यक्रम अभी भी कुछ भी नहीं करता है। इसे उपयोगी बनाने के लिए, हम अपने सर्वरों के बारे में जानकारी वल्चर से प्राप्त करने जा रहे हैं। हम govultr.Client.Server.List (Reference.Context) ([] govultr.Server, error) फ़ंक्शन का उपयोग करेंगे। मुख्य () फ़ंक्शन के अंत में निम्नलिखित कोड जोड़ें :

servers, err := client.Server.List(context.Background())
if err != nil {
    fmt.Fprintf(os.Stderr, "Error: %v\n", err)
    os.Exit(1)
}

इस कोड में, हम सर्वर जानकारी को पुनः प्राप्त करने के लिए एपीआई फ़ंक्शन को कॉल कर रहे हैं। संदर्भ के अर्थ के बारे में चिंता न करें , क्योंकि यह एक अधिक उन्नत विषय है। अभी के लिए, हम सभी को यह जानना होगा कि यह संदर्भ नियंत्रित करता है कि एपीआई क्लाइंट कैसे चलता है। संदर्भ। बैकग्राउंड () एक खाली संदर्भ देता है । सर्वर की जानकारी को दो चर, सर्वर और इरेट में पुनः प्राप्त करने के बाद , हम जाँचते हैं कि क्या कोई त्रुटि थी। यदि हां, तो हम बताते हैं कि त्रुटि के उपयोगकर्ता को सूचित करें और कोड 1 (त्रुटि) के साथ बाहर निकलें।

चरण 7: जानकारी दिखाना

अब जब हमारे पास सर्वर चर ( [] govultr.Server ) में एक सरणी सर्वर है , तो हम वास्तव में इसे प्रदर्शित कर सकते हैं। मुख्य () फ़ंक्शन के अंत में निम्नलिखित कोड जोड़ें :

fmt.Println("Servers:")
for _, server := range servers {
    fmt.Printf("  %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n",
        server.Label,
        server.MainIP,
        server.Location,
        server.PendingCharges,
        server.CurrentBandwidth,
        server.AllowedBandwidth,
    )
}

सबसे पहले, हम, (प्रदर्शन) एक हैडर मुद्रित Servers:। फिर, हम सर्वर सरणी पर लूप करते हैं , इसे इंडेक्स को अनदेखा करते हैं _, और वर्तमान सर्वर को सर्वर वेरिएबल में असाइन करते हैं । लूप के अंदर, हम सर्वर का लेबल, आईपी पता, स्थान, लंबित शुल्क, वर्तमान बैंडविड्थ और अनुमत बैंडविड्थ प्रदर्शित करते हैं। इसे प्रभावी ढंग से करने के लिए, हम प्रारूप स्ट्रिंग्स का उपयोग करते हैं , स्ट्रिंग जो दिखता है " %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n"%s अगली स्ट्रिंग को बदलने का साधन है, जबकि %.2fअगले फ्लोट (दशमलव संख्या) को प्रिंट करने का साधन 2 दशमलव स्थानों पर गोल है। प्रारूप स्ट्रिंग के बाकी शाब्दिक (जैसा है) मुद्रित होता है।

चरण 8: चल रहा है

इस बिंदु पर, आपका कोड निम्नलिखित जैसा दिखना चाहिए:

package main

import (
    "context"
    "fmt"
    "os"

    "github.com/vultr/govultr"
)

func main() {
    client := govultr.NewClient(nil, "YOURAPIKEY")

    servers, err := client.Server.List(context.Background())
    if err != nil {
        fmt.Fprintf(os.Stderr, "Error: %v\n", err)
        os.Exit(1)
    }

    fmt.Println("Servers:")
    for _, server := range servers {
        fmt.Printf("  %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n",
            server.Label,
            server.MainIP,
            server.Location,
            server.PendingCharges,
            server.CurrentBandwidth,
            server.AllowedBandwidth,
        )
    }
}

अब हम कोड चला सकते हैं। उस टर्मिनल पर लौटें जिसे हमने पहले खोला था और कमांड दर्ज करें go run। आउटपुट निम्न के जैसा होगा:

Servers:
  server1 (198.51.100.4) - New Jersey - $3.70 pending charges - 17.64/1000 GB bandwidth
  server2 (198.51.100.9) - Toronto - $1.70 pending charges - 3.24/500 GB bandwidth

यदि आपको कोई त्रुटि मिलती है, तो सुनिश्चित करें कि आपकी API कुंजी और IP पता सही है।

निष्कर्ष

इस बिंदु पर, आपने सफलतापूर्वक आधिकारिक एपीआई क्लाइंट का उपयोग करने की मूल बातें सीखी होंगी और एक कार्यक्रम लिखा होगा जो आपके खाते में सर्वर के बारे में जानकारी प्रदर्शित करेगा।

अगले कदम

यहां से, आप बहुत कुछ कर सकते हैं। उदाहरण के लिए, आप स्मृति पर कम होने पर एक नए सर्वर को व्यवस्थित करने के लिए एक कार्यक्रम लिख सकते हैं। बैंडविड्थ या स्टोरेज कम होने पर आप अपने सर्वर को स्वचालित रूप से अपग्रेड करने के लिए एक ऐप लिख सकते हैं। आप अपने वर्तमान आईपी के आधार पर DNS रिकॉर्ड को स्वचालित रूप से अपडेट करने के लिए एक उपकरण भी लिख सकते हैं।

Govultr पुस्तकालय के बारे में अधिक जानकारी के लिए, आप पर govultr पुस्तकालय प्रलेखन पा सकते हैं godoc

govultr एक ओपन-सोर्स प्रोजेक्ट है । यदि आपको govultr में कोई बग मिलते हैं, तो आप उन्हें GitHub पर रिपोर्ट कर सकते हैं । आप पुल अनुरोध सबमिट करके भी सीधे कोड में योगदान कर सकते हैं



Leave a Comment

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

LiteCart PHP, jQuery और HTML में लिखा गया एक स्वतंत्र और ओपन सोर्स शॉपिंग कार्ट प्लेटफॉर्म है। यह ई-कॉमर्स सॉफ्टवेअर का उपयोग करने के लिए एक सरल, हल���का और आसान है

डेबियन पर सेटअप NFS शेयर

डेबियन पर सेटअप NFS शेयर

एनएफएस एक नेटवर्क-आधारित फाइल सिस्टम है जो कंप्यूटरों को कंप्यूटर नेटवर्क पर फाइलों तक पहुंचने की अनुमति देता है। यह मार्गदर्शिका बताती है कि आप एनएफ पर फ़ोल्डर्स को कैसे उजागर कर सकते हैं

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? माटोमो (पूर्व में पिविक) एक ओपन सोर्स एनालिटिक्स प्लेटफॉर्म है, जो गूगल एनालिटिक्स का एक खुला विकल्प है। Matomo स्रोत को होस्ट किया गया है

Linux पर एक TeamTalk Server सेटअप करें

Linux पर एक TeamTalk Server सेटअप करें

टीमटॉक एक कॉन्फ्रेंसिंग प्रणाली है जो उपयोगकर्ताओं को उच्च-गुणवत्ता वाले ऑडियो / वीडियो वार्तालाप, टेक्स्ट चैट, स्थानांतरण फ़ाइलें और स्क्रीन साझा करने की अनुमति देती है। यह मैं

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

परिचय यह आलेख बताएगा कि विंडोज सर्वर 2012 पर गारस मोड सर्वर को कैसे डाउनलोड और इंस्टॉल किया जाए। यह गाइड गहराई में होने के लिए बनाया गया है।

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed ​​का उपयोग करता है। क्या थी?

CentOS पर FFmpeg कैसे स्थापित करें

CentOS पर FFmpeg कैसे स्थापित करें

FFmpeg ऑडियो और वीडियो रिकॉर्ड करने, कन्वर्ट करने और स्ट्रीम करने के लिए एक लोकप्रिय ओपन सोर्स समाधान है, जो सभी प्रकार की ऑनलाइन स्ट्रीमिंग सेवाओं में व्यापक रूप से उपयोग किया जाता है। मैं

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

एलयूकेएस (लिनक्स यूनिफाइड की सेटअप) लिनक्स के लिए उपलब्ध विभिन्न डिस्क एन्क्रिप्शन प्रारूपों में से एक है जो प्लेटफॉर्म एग्नॉस्टिक है। यह ट्यूटोरियल आपको बुद्धि प्रदान करेगा

अपने Vultr VPS को कैसे एक्सेस करें

अपने Vultr VPS को कैसे एक्सेस करें

Vultr अपने VPS को कॉन्फ़िगर करने, स्थापित करने और उपयोग करने के लिए कई अलग-अलग तरीके प्रदान करता है। क्रेडेंशियल एक्सेस करें आपके VPS के लिए डिफ़ॉल्ट एक्सेस क्रेडेंशियल ar

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

अक्टूबर एक खुला स्रोत सामग्री प्रबंधन प्रणाली है जो लारवेल PHP फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ