फ़ंक्शन कंप्यूट और OSS एकीकरण
यह कोड दर्शाता है कि अलीबाबा क्लाउड फ़ंक्शन कंप्यूट को OSS (ऑब्जेक्ट स्टोरेज सर्विस) के साथ कैसे एकीकृत किया जाए। यह एक निर्दिष्ट URL से एक फ़ाइल डाउनलोड करता है और उसे एक OSS बकेट में अपलोड करता है।
कोड
# -*- coding: utf-8 -*-
import oss2
import requests
import logging
import os
def handler(event, context):
# कॉन्फ़िगरेशन
# model_url = "https://huggingface.co/TheBloke/Mistral-7B-Instruct-v0.2-GGUF/resolve/main/mistral-7b-instruct-v0.2.Q4_K_M.gguf"
model_url = "https://storage.googleapis.com/lzwjava1/ss_urls.txt"
oss_bucket_name = "lzw-download" # आपका बकेट नाम
oss_endpoint = "oss-cn-hangzhou.aliyuncs.com" # सार्वजनिक एंडपॉइंट
try:
# प्रदान की गई भूमिका ARN का उपयोग करके प्रमाणीकरण ऑब्जेक्ट बनाएँ
role_arn = "acs:ram::1768386076294612:role/fc"
auth = oss2.Auth(
os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
)
sts_auth = oss2.StsAuth(
os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET'],
os.environ['ALIBABA_CLOUD_SECURITY_TOKEN']
)
# 2. उचित एंडपॉइंट के साथ OSS क्लाइंट को इनिशियलाइज़ करें
bucket = oss2.Bucket(
sts_auth,
oss_endpoint,
oss_bucket_name
)
# 3. स्ट्रीम डाउनलोड और अपलोड
logging.info("डाउनलोड शुरू हो रहा है...")
with requests.get(model_url, stream=True) as response:
response.raise_for_status()
# OSS में अपलोड करें
result = bucket.put_object(
'models/mistral-7b-instruct-v0.2.Q4_K_M.gguf',
response.iter_content(chunk_size=1024*1024)
)
if result.status == 200:
logging.info("अपलोड सफल हुआ!")
return "सफल"
else:
raise Exception(f"OSS अपलोड विफल: {result.status}")
except Exception as e:
logging.error(f"त्रुटि: {str(e)}")
raise e
त्रुटि
हमें पहले जैसी ही त्रुटि का सामना करना पड़ा। ऐसा प्रतीत होता है कि इस कार्य को पूरा करने के लिए VPN की आवश्यकता है।
2025-01-24 17:43:342025-01-24 17:43:34 1-679360a6-154b432a-15cadcce0c27 [त्रुटि] { “errorMessage”: “HTTPSConnectionPool(host=’huggingface.co’, port=443): Max retries exceeded with url: /TheBloke/Mistral-7B-Instruct-v0.2-GGUF/resolve/main/mistral-7b-instruct-v0.2.Q4_K_M.gguf (Caused by NewConnectionError(‘<urllib3.connection.HTTPSConnection object at 0x7f7d3c289f60>: Failed to establish a new connection: [Errno 101] Network is unreachable’))”