التمرين - استخدام وحدات تخزين البيانات

مكتمل

بشكل افتراضي، تكون Azure Container Instances بدون حالة. فإذا تعطلت الحاوية أو توقفت، يتم فقدان الحالة بالكامل. للاحتفاظ بالحالة بما يتجاوز مدة بقاء الحاوية، يجب تحميل وحدة تخزين من مخزن خارجي.

قم بتحميل مشاركة ملف Azure إلى مثيل حاوية Azure بحيث يمكنك تخزين البيانات والوصول إليها لاحقا.

إنشاء مشاركة ملف Azure

إنشاء حساب تخزين ومشاركة ملف. لاحقا، يمكنك جعل مشاركة الملف قابلة للوصول إلى مثيل حاوية Azure.

  1. يتطلب حساب التخزين الخاص بك اسمًا فريدًا. لأغراض التعلم، قم بتشغيل الأمر التالي لتخزين اسم فريد في متغير Bash:

    STORAGE_ACCOUNT_NAME=mystorageaccount$RANDOM
    
  2. قم بتشغيل الأمر التالي az storage account create لإنشاء حساب التخزين الخاص بك:

    az storage account create \
      --resource-group learn-deploy-aci-rg \
      --name $STORAGE_ACCOUNT_NAME \
      --sku Standard_LRS \
      --location eastus
    
  3. قم بتشغيل الأمر التالي لوضع حساب التخزين سلسلة الاتصال في متغير بيئة يسمى AZURE_STORAGE_CONNECTION_STRING:

    export AZURE_STORAGE_CONNECTION_STRING=$(az storage account show-connection-string \
      --resource-group learn-deploy-aci-rg \
      --name $STORAGE_ACCOUNT_NAME \
      --output tsv)
    

    AZURE_STORAGE_CONNECTION_STRING هو متغير بيئة خاص يفهمه Azure CLI. export يجعل الجزء هذا المتغير قابلا للوصول إلى أوامر CLI الأخرى التي تقوم بتشغيلها لاحقا.

  4. قم بتشغيل هذا الأمر لإنشاء مشاركة ملف باسم aci-share-demo في حساب التخزين:

    az storage share create --name aci-share-demo
    

الحصول على بيانات اعتماد التخزين

لتحميل مشاركة ملف Azure كوحدة تخزين في Azure Container Instances، تحتاج إلى هذه القيم الثلاثة:

  • Storage account name
  • اسم المشاركة
  • مفتاح الوصول لحساب التخزين

وأنت لديك بالفعل أول قيمتين. يتم تخزين اسم حساب التخزين في STORAGE_ACCOUNT_NAME متغير Bash. لقد حددت aci-share-demo كاسم مشاركة في الخطوة السابقة. هنا، تحصل على القيمة المتبقية: مفتاح الوصول إلى حساب التخزين.

  1. قم بتشغيل الأمر التالي للحصول على مفتاح حساب التخزين:

    STORAGE_KEY=$(az storage account keys list \
      --resource-group learn-deploy-aci-rg \
      --account-name $STORAGE_ACCOUNT_NAME \
      --query "[0].value" \
      --output tsv)
    

    يتم تخزين النتيجة في متغير Bash يسمى STORAGE_KEY.

  2. كخطوة اختيارية، اطبع مفتاح التخزين إلى وحدة التحكم.

    echo $STORAGE_KEY
    

شغل حاوية وحمل مشاركة الملف

لتحميل ملف مشاركة Azure كوحدة تخزين في حاوية، عليك تحديد نقطة تحميل وحدة التخزين والمشاركة عند إنشاء الحاوية.

  1. قم بتشغيل هذا az container create الأمر لإنشاء حاوية يتم تحميلها /aci/logs/ إلى مشاركة الملف:

    az container create \
      --resource-group learn-deploy-aci-rg \
      --name aci-demo-files \
      --image mcr.microsoft.com/azuredocs/aci-hellofiles \
      --location eastus \
      --ports 80 \
      --ip-address Public \
      --azure-file-volume-account-name $STORAGE_ACCOUNT_NAME \
      --azure-file-volume-account-key $STORAGE_KEY \
      --azure-file-volume-share-name aci-share-demo \
      --azure-file-volume-mount-path /aci/logs/
    
  2. قم بتشغيل az container show للحصول على عنوان IP العام للحاوية:

    az container show \
      --resource-group learn-deploy-aci-rg \
      --name aci-demo-files \
      --query ipAddress.ip \
      --output tsv
    
  3. من المتصفح، انتقل إلى عنوان بروتوكول الإنترنت الخاص بالحاوية. تحصل على هذه الصفحة:

    Screenshot of the Azure Container Instances file share demo running in a browser.

  4. أدخل أي نص في النموذج، وحدد ⁧⁩Submit⁧⁩. ينشئ هذا الإجراء ملفًا يحتوي على النص الذي أدخلته في مشاركة ملف Azure.

  5. قم بتشغيل هذا az storage file list الأمر لعرض الملفات المضمنة في مشاركة الملف:

    az storage file list -s aci-share-demo -o table
    
  6. قم بتشغيل az storage file download لتنزيل ملف إلى جلسة عمل Cloud Shell. استبدل <filename> بأحد الملفات التي ظهرت في الخطوة السابقة:

    az storage file download -s aci-share-demo -p <filename>
    
  7. cat قم بتشغيل الأمر لطباعة محتويات الملف.

    cat <filename>
    

تذكر أن البيانات الخاصة بك تستمر عند إنهاء الحاوية. يمكنك تحميل مشاركة الملف إلى مثيلات حاوية أخرى لجعل تلك البيانات متوفرة لهم.