Getting error No module named 'azure.storage' in HTTP triggered azure python function

Ziya Karakas (MINDTREE LIMITED) 10 Reputation points
2023-06-12T13:58:00.8533333+00:00

I have this following code to generate random data of 1 billion rows for my task, but it fails, with stack message below:

Result: Failure Exception: ModuleNotFoundError: No module named 'azure.storage'. Please check the requirements.txt file for the missing module. For more info, please refer the troubleshooting guide: https://aka.ms/functions-modulenotfound Stack: File "/azure-functions-host/workers/python/3.10/LINUX/X64/azure_functions_worker/dispatcher.py", line 380, in _handle__function_load_request func = loader.load_function( File "/azure-functions-host/workers/python/3.10/LINUX/X64/azure_functions_worker/utils/wrappers.py", line 48, in call raise extend_exception_message(e, message) File "/azure-functions-host/workers/python/3.10/LINUX/X64/azure_functions_worker/utils/wrappers.py", line 44, in call return func(*args, **kwargs) File "/azure-functions-host/workers/python/3.10/LINUX/X64/azure_functions_worker/loader.py", line 132, in load_function mod = importlib.import_module(fullmodname) File "/usr/local/lib/python3.10/importlib/init.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "/home/site/wwwroot/HttpTrigger1/init.py", line 29, in <module> from azure.storage.blob import BlobService

import logging
import azure.functions as func


def main(req: func.HttpRequest) -> func.HttpResponse:
    logging.info('Python HTTP trigger function processed a request.')

    name = req.params.get('name')
    if not name:
        try:
            req_body = req.get_json()
        except ValueError:
            pass
        else:
            name = req_body.get('name')

    if name:
        return func.HttpResponse(f"Hello, {name}. This HTTP triggered function executed successfully.")
    else:
        return func.HttpResponse(
             "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.",
             status_code=200
        )


import csv
import random
import string
from azure.storage.blob import BlobService

def generate_random_string(length):
    letters = string.ascii_letters
    return ''.join(random.choice(letters) for _ in range(length))

def generate_mock_data(num_rows):
    # Generate mock sales data
    rows = []
    for i in range(num_rows):
        sale_id = i + 1
        sale_amount = random.uniform(10, 1000)
        customer_name = generate_random_string(10)
        customer_email = generate_random_string(5) + '@example.com'
        customer_address = generate_random_string(20)
        vendor_name = generate_random_string(10)
        vendor_email = generate_random_string(5) + '@example.com'
        vendor_address = generate_random_string(20)
        rows.append([sale_id, sale_amount, customer_name, customer_email, customer_address, vendor_name, vendor_email, vendor_address])

    # Save mock sales data as CSV file
    csv_file_path = 'mock_sales_data.csv'
    with open(csv_file_path, 'w', newline='') as csvfile:
        writer = csv.writer(csvfile)
        writer.writerow(['Sale ID', 'Sale Amount', 'Customer Name', 'Customer Email', 'Customer Address', 'Vendor Name', 'Vendor Email', 'Vendor Address'])
        writer.writerows(rows)

    # Upload the CSV file to Azure Blob Storage
    connection_string = "<my connection string for my blob>"
    container_name = "dfgfdgfdd"

    blob_service_client = BlobServiceClient.from_connection_string(connection_string)
    container_client = blob_service_client.get_container_client(container_name)
    blob_client = container_client.get_blob_client(csv_file_path)
    
    with open(csv_file_path, "rb") as data:
        blob_client.upload_blob(data)

# Specify the number of rows you want (1 billion in this case)
num_rows = 1000000000

# Generate the mock data and upload to Azure Blob Storage
generate_mock_data(num_rows)
Azure Functions
Azure Functions
An Azure service that provides an event-driven serverless compute platform.
5,911 questions
Azure Blob Storage
Azure Blob Storage
An Azure service that stores unstructured data in the cloud as blobs.
3,192 questions
{count} vote

1 answer

Sort by: Most helpful
  1. Sedat SALMAN 14,180 Reputation points MVP
    2023-06-12T19:20:36.13+00:00

    Azure Function can't find the azure.storage module, which is a Python package that you're trying to use in your code. When you see this kind of error, it usually means that the package isn't installed in the environment where the code is running. In your case, it seems like azure.storage package is not included in your requirements.txt file.

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.