نظرة عامة على وظائف خطوات AWS

نظرية



ما هي وظائف الخطوة؟



من AWS Docs: Step Functions هي خدمة تنسيق بدون خادم تتيح لك الجمع بين وظائف AWS Lambda وخدمات AWS الأخرى لإنشاء تطبيقات مهمة للأعمال. باستخدام وحدة التحكم الرسومية لـ Step Functions ، ترى سير عمل التطبيق الخاص بك كسلسلة من الخطوات التي تحركها الأحداث. تعتمد وظائف الخطوة على آلات ومهام الدولة. آلة الحالة هي سير عمل. المهمة هي حالة في سير العمل وهي وحدة عمل يتم تنفيذها بواسطة خدمة AWS أخرى. كل خطوة من خطوات سير العمل هي حالة.



باستخدام عناصر تحكم Step Functions المضمنة ، يمكنك التحقق من حالة كل خطوة من خطوات سير العمل للتأكد من أن التطبيق الخاص بك يعمل بالترتيب الصحيح وكما هو متوقع. اعتمادًا على حالة الاستخدام الخاصة بك ، يمكن لـ Step Functions الاتصال بخدمات AWS مثل Lambda لأداء المهام. يمكنك إنشاء مهام سير عمل لمعالجة ونشر نماذج التعلم الآلي. يمكنك استخدام Step Functions لإدارة خدمات AWS مثل AWS Glue لإنشاء مهام سير عمل Extract و Transform و Load (ETL). يمكنك أيضًا إنشاء مهام سير عمل مؤتمتة طويلة للتطبيقات التي تتطلب تفاعلًا بشريًا.



أو بعبارة بسيطة ، خدمة لإدارة عملياتك.





ما هي حالات الاستخدام الممكنة لوظائف الخطوة؟



  1. وظائف التنظيم لامدا



    صورة

  2. المتفرعة



    صورة

  3. معالجة الاستثناء (إعادة المحاولة أو الصيد)



    صورة

  4. المشاركة البشرية في العملية



    صورة

  5. تماثل



    صورة



أنواع العمليات في وظائف الخطوة



  • قياسي - مطلوب للعمليات الجارية لفترة طويلة ، ولديه دعم واسع للخدمات وخيارات التفاعل
  • Express - مطلوب للعمليات سريعة التشغيل (5 دقائق) ، مما يوفر حوالي 20 مرة لكل مليون عملية منفذة. تكامل أقل مع خدمات AWS


أنواع التكامل مع خدمات AWS



طلب استجابة (افتراضي) - للاتصال بالخدمة والسماح لوظائف الخطوة بالانتقال إلى الحالة التالية بعد تلقي استجابة HTTP.



قم بتشغيل وظيفة (.sync) - استدعاء الخدمة وانتظار اكتمال المهمة.



انتظر رد اتصال برمز مهمة (.waitForTaskToken) - يتصل بالخدمة برمز المهمة وينتظر عودة رمز المهمة باستخدام رد الاتصال.



مقارنة التكامل مع خدمات AWS في الأنواع القياسية والصريحة



تكامل الخدمة المدعومة للمعيار

الخدمات استجابة للطلب تشغيل وظيفة (.sync) انتظر رد الاتصال (.waitForTaskToken)
لامدا
AWS Batch
دينامو دي بي
Amazon ECS / AWS Fargate
أمازون SNS
أمازون SQS
AWS Glue
SageMaker
أمازون EMR
CodeBuild
وظائف خطوة AWS


دعم تكامل الخدمة لـ Express

الخدمات استجابة للطلب تشغيل وظيفة (.sync) انتظر رد الاتصال (.waitForTaskToken)
لامدا
AWS Batch
دينامو دي بي
Amazon ECS / AWS Fargate
أمازون SNS
أمازون SQS
AWS Glue
SageMaker
أمازون EMR
CodeBuild
وظائف الخطوة


كفى نظرية ، دعنا نذهب على سبيل المثال.



مثال نظري



من أجل الحصول على فكرة عن شكل الخدمة على الأقل ، ضع في اعتبارك مثال Hello world.



الشروط المسبقة



  1. حساب AWS
  2. انتقل إلى خدمة Step Functions في حساب AWS


إذن ما يلي هو ما نقوم به:



  1. انتقل إلى "إنشاء وظائف الخطوة"
  2. تعريف آلة الحالة = المؤلف مع مقتطفات التعليمات البرمجية
  3. النوع = قياسي
  4. التعريف =



    {
      "Comment": "A Hello World example of the Amazon States Language using Pass states",
      "StartAt": "Hello",
      "States": {
        "Hello": {
          "Type": "Pass",
          "Result": "Hello",
          "Next": "World"
        },
        "World": {
          "Type": "Pass",
          "Result": "World",
          "End": true
        }
      }
    }




انقر فوق بدء التنفيذ. يمكن حذف الإدراج. يجب أن تشاهد مخططًا مثل هذا:



صورة

تهانينا ، لقد قمت بإنشاء أبسط وظائف الخطوة.



بدلا من الاستنتاج



إذا كان هذا الموضوع مثيرًا للاهتمام ، فسنقوم في الجزء التالي بإنشاء وظائف الخطوة مع تكامل AWS Lambda + SQS + SNS ، كما هو موضح في الرسم التخطيطي:



صورة



روابط للمصادر:



https://docs.aws.amazon.com/step-functions/



All Articles