{"id":17990,"date":"2023-04-17T18:59:56","date_gmt":"2023-04-17T15:29:56","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/getting-mwaa-local-runner-up-on-aws-cloud9-1nhd\/"},"modified":"2023-04-17T18:59:56","modified_gmt":"2023-04-17T15:29:56","slug":"getting-mwaa-local-runner-up-on-aws-cloud9-1nhd","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/getting-mwaa-local-runner-up-on-aws-cloud9-1nhd\/","title":{"rendered":"\u06af\u0631\u0641\u062a\u0646 mwaa-local-runner \u062f\u0631 AWS Cloud9"},"content":{"rendered":"<div data-article-id=\"1438549\" id=\"article-body\">\n<p>\u0627\u06af\u0631 \u0628\u0647 \u062f\u0646\u0628\u0627\u0644 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc mwaa-local-runner \u0648 \u0627\u062c\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633 Cloud9 \u062e\u0648\u062f \u0647\u0633\u062a\u06cc\u062f\u060c \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u06cc\u06a9 \u062f\u0633\u062a\u0648\u0631 \u0627\u0644\u0639\u0645\u0644 \u0633\u0631\u06cc\u0639 \u0622\u0648\u0631\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a.  \u0627\u06cc\u0646 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0628\u0647\u06cc\u0646\u0647 \u062a\u0631\u06cc\u0646 \u0631\u0627\u0647 \u0646\u0628\u0627\u0634\u062f\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0645\u0646 \u0628\u0633\u06cc\u0627\u0631 \u062e\u0648\u0634\u062d\u0627\u0644\u0645 \u06a9\u0647 \u067e\u06cc\u0634\u0646\u0647\u0627\u062f\u0627\u062a\u06cc \u062f\u0631 \u0645\u0648\u0631\u062f \u0686\u06af\u0648\u0646\u06af\u06cc \u0628\u0647\u0628\u0648\u062f \u0622\u0646 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0631\u062f\u0645.  \u0622\u0646\u0686\u0647 \u0645\u0646 \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u067e\u0648\u0634\u0634 \u062e\u0648\u0627\u0647\u0645 \u062f\u0627\u062f \u0646\u062d\u0648\u0647 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 mwaa-local-runner \u0628\u0631 \u0631\u0648\u06cc \u06cc\u06a9 Cloud9 IDE \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f \u0627\u0633\u062a \u06a9\u0647 \u062f\u0631 \u06cc\u06a9 VPC \u067e\u06cc\u0634 \u0641\u0631\u0636 \u0645\u0633\u062a\u0642\u0631 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<p><em>\u062f\u0631 \u062d\u0627\u0644 \u0628\u0647 \u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc \u0645\u062d\u06cc\u0637 AWS Cloud9 \u0645\u0646<\/em><\/p>\n<p>\u0627\u0648\u0644\u06cc\u0646 \u06a9\u0627\u0631\u06cc \u06a9\u0647 \u0628\u0627\u06cc\u062f \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0627\u062f\u0645 \u0627\u06cc\u0646 \u0628\u0648\u062f \u06a9\u0647 \u0627\u0646\u062f\u0627\u0632\u0647 \u062f\u06cc\u0633\u06a9 \u0645\u062d\u0644\u06cc \u062e\u0648\u062f \u0631\u0627 \u0627\u0641\u0632\u0627\u06cc\u0634 \u062f\u0647\u0645 \u0632\u06cc\u0631\u0627 Cloud9 \u062a\u0646\u0647\u0627 10 \u06af\u06cc\u06af\u0627\u0628\u0627\u06cc\u062a \u0641\u0636\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0633\u0627\u0632\u06cc \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f.  \u0627\u06cc\u0646 \u0628\u0631\u0627\u06cc \u0645\u0648\u0627\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u0639\u0645\u0648\u0644\u06cc \u062e\u0648\u0628 \u0627\u0633\u062a\u060c \u0627\u0645\u0627 \u0645\u0627 \u0642\u0635\u062f \u062f\u0627\u0631\u06cc\u0645 \u062a\u0635\u0627\u0648\u06cc\u0631 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0628\u0633\u0627\u0632\u06cc\u0645\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0628\u0627\u06cc\u062f \u0627\u06cc\u0646 \u0631\u0627 \u0628\u0627\u0644\u0627\u062a\u0631 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u0645.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>pip3 install --user --upgrade boto3\nexport instance_id=$(curl -s http:\/\/169.254.169.254\/latest\/meta-data\/instance-id)\npython -c \"import boto3\nimport os\nfrom botocore.exceptions import ClientError \nec2 = boto3.client('ec2')\nvolume_info = ec2.describe_volumes(\n    Filters=[\n        {\n            'Name': 'attachment.instance-id',\n            'Values': [\n                os.getenv('instance_id')\n            ]\n        }\n    ]\n)\nvolume_id = volume_info['Volumes'][0]['VolumeId']\ntry:\n    resize = ec2.modify_volume(    \n            VolumeId=volume_id,    \n            Size=30\n    )\n    print(resize)\nexcept ClientError as e:\n    if e.response['Error']['Code'] == 'InvalidParameterValue':\n        print('ERROR MESSAGE: {}'.format(e))\"\nif [ $? -eq 0 ]; then\n    sudo reboot\nfi\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><em>\u0646\u0635\u0628 \u0686\u0646\u062f \u0627\u0628\u0632\u0627\u0631 \u06af\u0645 \u0634\u062f\u0647<\/em><\/p>\n<p>\u06a9\u0627\u0631 \u0628\u0639\u062f\u06cc \u06a9\u0647 \u0628\u0627\u06cc\u062f \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u0645 \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 &#8220;docker-compose&#8221; \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u0645\u060c \u0632\u06cc\u0631\u0627 \u062f\u0631 \u062d\u0627\u0644\u06cc \u06a9\u0647 Docker \u0646\u0635\u0628 \u0627\u0633\u062a\u060c docker-compose \u0646\u0635\u0628 \u0646\u06cc\u0633\u062a.  \u0627\u06cc\u0646 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0645\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u0645<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>wget https:\/\/github.com\/docker\/compose\/releases\/latest\/download\/docker-compose-$(uname -s)-$(uname -m)\nsudo mv docker-compose-$(uname -s)-$(uname -m) \/usr\/bin\/docker-compose\nchmod +x \/usr\/bin\/docker-compose\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0648 \u0627\u06af\u0631 \u0627\u06cc\u0646 \u0645\u0648\u0641\u0642\u06cc\u062a \u0622\u0645\u06cc\u0632 \u0628\u0648\u062f\u060c \u0627\u06a9\u0646\u0648\u0646 \u0628\u0627\u06cc\u062f \u0622\u0646 \u0631\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u062e\u0637 \u0641\u0631\u0645\u0627\u0646 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>ops:~\/environment $ docker-compose version\nDocker Compose version v2.17.2\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><em>\u06af\u0631\u0641\u062a\u0646 \u0622\u062f\u0631\u0633 IP \u0639\u0645\u0648\u0645\u06cc AWS Cloud9 \u0645\u0646<\/em><\/p>\n<p>\u0627\u06cc\u0646 \u0628\u0627\u06cc\u062f \u062a\u0645\u0627\u0645 \u0686\u06cc\u0632\u06cc \u0628\u0627\u0634\u062f \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639 \u0628\u0647 \u0622\u0646 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f.  \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c \u0642\u0628\u0644 \u0627\u0632 \u0627\u062f\u0627\u0645\u0647 \u0628\u0647 \u06cc\u06a9 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u0645\u060c \u0648 \u0622\u0646 \u0622\u062f\u0631\u0633 IP \u0639\u0645\u0648\u0645\u06cc \u0628\u0631\u0627\u06cc \u0646\u0645\u0648\u0646\u0647 Cloud9 \u0634\u0645\u0627 \u0627\u0633\u062a.  \u0645\u0627 \u0628\u0647 \u0627\u06cc\u0646 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u0645 \u0632\u06cc\u0631\u0627 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u0645 \u067e\u0627\u0631\u0627\u0645\u062a\u0631 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc URL \u0631\u0627 \u062f\u0631 mwaa-local-runner \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u0645.  (\u0627\u06af\u0631 \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u0646\u062f\u0647\u06cc\u062f\u060c \u0647\u0646\u06af\u0627\u0645 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 Airflow \u0627\u0632 \u0637\u0631\u06cc\u0642 UI\u060c 400 \u062e\u0637\u0627\u06cc Gateway \u062f\u0631\u06cc\u0627\u0641\u062a \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f).  \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0634\u0645\u0627 \u0631\u0627 \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>curl http:\/\/169.254.169.254\/latest\/meta-data\/public-ipv4\n3.253.9.131\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><em>\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0648 \u0633\u0627\u062e\u062a mwaa-local-runner<\/em><\/p>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u067e\u0631\u0648\u0698\u0647 mwaa-local-runner \u0631\u0627 \u062f\u0631 \u0645\u062d\u06cc\u0637 Cloud9 \u062e\u0648\u062f \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>git clone https:\/\/github.com\/aws\/aws-mwaa-local-runner.git\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0628\u0627\u06cc\u062f \u0686\u0646\u062f \u0686\u06cc\u0632 \u0631\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u0645.<\/p>\n<p>\u0627\u0648\u0644\u06cc\u0646 \u0645\u0648\u0631\u062f \u0628\u0647 \u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc airflow.cfg (docker\/config\/airflow.cfg) \u0627\u0633\u062a \u062a\u0627 \u0628\u062a\u0648\u0627\u0646\u06cc\u0645 \u067e\u0627\u0631\u0627\u0645\u062a\u0631 base_url (\u062e\u0637 406) \u0631\u0627 \u0628\u0627 IP \u0639\u0645\u0648\u0645\u06cc \u0646\u0645\u0648\u0646\u0647 Cloud9 \u0634\u0645\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u0645.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>#base_url = http:\/\/localhost:8080\nbase_url = https:\/\/3.253.9.131:8080\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062a\u063a\u06cc\u06cc\u0631 \u0628\u0639\u062f\u06cc \u06a9\u0647 \u0647\u0646\u0648\u0632 \u062f\u0631 airflow.cfg \u0627\u0633\u062a\u060c \u0628\u0631\u0627\u06cc \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u0633\u0631\u06cc\u0639 DAG\u0647\u0627 \u062f\u0631 \u067e\u0648\u0634\u0647 DAGs.  \u062e\u0637 757 \u062a\u063a\u06cc\u06cc\u0631 \u06a9\u0631\u062f\u0647 \u0627\u0633\u062a<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>#dag_dir_list_interval = 300\ndag_dir_list_interval = 5\n\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u0622\u0645\u0627\u062f\u0647 \u0633\u0627\u062e\u062a \u062a\u0635\u0648\u06cc\u0631 mwaa-local-runner \u062e\u0648\u062f \u0647\u0633\u062a\u06cc\u062f.  \u0634\u0645\u0627 \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u06cc\u062f (\u0648 \u0627\u06cc\u0646 \u062f\u0631 \u0628\u0631\u0627\u0628\u0631 \u0647\u0631 \u0646\u0633\u062e\u0647 \u0627\u06cc \u0627\u0632 Apache Airflow \u06a9\u0647 mwaa \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f)<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>mwaa-local-env build-image\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u062d\u062f\u0648\u062f 10 \u062f\u0642\u06cc\u0642\u0647 \u0637\u0648\u0644 \u0645\u06cc \u06a9\u0634\u062f \u062a\u0627 \u0641\u0631\u0622\u06cc\u0646\u062f \u0633\u0627\u062e\u062a \u06a9\u0627\u0645\u0644 \u0634\u0648\u062f.  \u0628\u0631\u0648 \u0646\u0648\u0634\u06cc\u062f\u0646\u06cc \u0645\u0648\u0631\u062f \u0639\u0644\u0627\u0642\u0647 \u062e\u0648\u062f \u0631\u0627 \u0628\u062e\u0648\u0631 \u0648 \u0633\u067e\u0633 \u0628\u0631\u06af\u0631\u062f.  \u0627\u0645\u06cc\u062f\u0648\u0627\u0631\u0645 \u0686\u06cc\u0632\u06cc \u0634\u0628\u06cc\u0647 \u0627\u06cc\u0646 \u0631\u0627 \u0628\u0628\u06cc\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>[+] Building 543.8s (27\/27) FINISHED                                                                                                                                                                           \n =&gt; [internal] load build definition from Dockerfile                                                                                                                                                      0.0s\n =&gt; =&gt; transferring dockerfile: 43B                                                                                                                                                                       0.0s\n =&gt; [internal] load .dockerignore                                                                                                                                                                         0.0s\n =&gt; =&gt; transferring context: 2B                                                                                                                                                                           0.0s\n =&gt; [internal] load metadata for docker.io\/library\/amazonlinux:2                                                                                                                                          1.6s\n =&gt; [auth] library\/amazonlinux:pull token for registry-1.docker.io                                                                                                                                        0.0s\n =&gt; CACHED [ 1\/21] FROM docker.io\/library\/amazonlinux:2@sha256:ad9b9135cd4eaa9f5a7b903b1cd72fef23027260c9aa84a743d090b64ce3609e                                                                           0.0s\n =&gt; [internal] load build context                                                                                                                                                                         0.0s\n =&gt; =&gt; transferring context: 5.46kB                                                                                                                                                                       0.0s\n =&gt; [ 2\/21] COPY script\/bootstrap.sh \/bootstrap.sh                                                                                                                                                        0.1s\n =&gt; [ 3\/21] COPY script\/systemlibs.sh \/systemlibs.sh                                                                                                                                                      0.0s\n =&gt; [ 4\/21] COPY script\/generate_key.sh \/generate_key.sh                                                                                                                                                  0.0s\n =&gt; [ 5\/21] COPY script\/run-startup.sh \/run-startup.sh                                                                                                                                                    0.0s\n =&gt; [ 6\/21] COPY script\/shell-launch-script.sh \/shell-launch-script.sh                                                                                                                                    0.0s\n =&gt; [ 7\/21] COPY script\/verification.sh \/verification.sh                                                                                                                                                  0.0s\n =&gt; [ 8\/21] COPY config\/constraints.txt \/constraints.txt                                                                                                                                                  0.0s\n =&gt; [ 9\/21] COPY config\/mwaa-base-providers-requirements.txt \/mwaa-base-providers-requirements.txt                                                                                                        0.0s\n =&gt; [10\/21] RUN chmod u+x \/systemlibs.sh &amp;&amp; \/systemlibs.sh                                                                                                                                              133.1s\n =&gt; [11\/21] RUN chmod u+x \/bootstrap.sh &amp;&amp; \/bootstrap.sh                                                                                                                                                343.3s \n =&gt; [12\/21] RUN chmod u+x \/generate_key.sh &amp;&amp; \/generate_key.sh                                                                                                                                            0.6s \n =&gt; [13\/21] RUN chmod u+x \/run-startup.sh                                                                                                                                                                 0.3s \n =&gt; [14\/21] RUN chmod u+x \/shell-launch-script.sh                                                                                                                                                         0.3s \n =&gt; [15\/21] RUN chmod u+x \/verification.sh                                                                                                                                                                0.5s \n =&gt; [16\/21] COPY script\/entrypoint.sh \/entrypoint.sh                                                                                                                                                      0.0s \n =&gt; [17\/21] COPY config\/airflow.cfg \/usr\/local\/airflow\/airflow.cfg                                                                                                                                        0.0s \n =&gt; [18\/21] COPY config\/webserver_config.py \/usr\/local\/airflow\/webserver_config.py                                                                                                                        0.0s\n =&gt; [19\/21] RUN chown -R airflow: \/usr\/local\/airflow                                                                                                                                                     31.4s\n =&gt; [20\/21] RUN chmod +x \/entrypoint.sh                                                                                                                                                                   0.4s\n =&gt; [21\/21] WORKDIR \/usr\/local\/airflow                                                                                                                                                                    0.1s\n =&gt; exporting to image                                                                                                                                                                                   31.7s\n =&gt; =&gt; exporting layers                                                                                                                                                                                  31.7s\n =&gt; =&gt; writing image sha256:54d466e5db131a71b694018f94ab69653794548551c37b05d172f5070f4deda8                                                                                                              0.0s\n =&gt; =&gt; naming to docker.io\/amazon\/mwaa-local:2_4                                                                                                                                                          0.0s\n\nUse 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062a\u0628\u0631\u06cc\u06a9 \u0645\u06cc \u06af\u0648\u06cc\u0645\u060c \u0642\u0633\u0645\u062a \u0633\u062e\u062a \u0627\u0646\u062c\u0627\u0645 \u0634\u062f.<\/p>\n<blockquote>\n<p><strong>\u062a\u0648\u062c\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f<\/strong> \u0627\u06af\u0631 \u062e\u0637\u0627\u06cc \u0632\u06cc\u0631 \u0631\u0627 \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0631\u062f\u06cc\u062f: <\/p>\n<pre class=\"highlight plaintext\"><code>16 188.4 + sudo -u airflow pip3 install --no-use-pep517 --constraint \/constraints.txt poetry\n16 188.8 \n16 188.8 Usage:   \n16 188.8   pip3 install [options] &lt;requirement specifier&gt; [package-index-options] ...\n16 188.8   pip3 install [options] -r &lt;requirements file&gt; [package-index-options] ...\n16 188.8   pip3 install [options] [-e] &lt;vcs project url&gt; ...\n16 188.8   pip3 install [options] [-e] &lt;local project path&gt; ...\n16 188.8   pip3 install [options] &lt;archive url\/path&gt; ...\n16 188.8 \n16 188.8 --no-use-pep517 error: It is not possible to use --no-use-pep517\n16 188.8 without setuptools and wheel installed.\n\nexecutor failed running [\/bin\/sh -c chmod u+x \/bootstrap.sh &amp;&amp; \/bootstrap.sh]: exit code: 2\n<\/code><\/pre>\n<p>\u0634\u0645\u0627 \u0628\u0627\u06cc\u062f \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a &#8220;bootstrap.sh&#8221; \u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f \u0648 \u062e\u0637 43 \u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0628\u0647 \u0646\u0638\u0631 \u0628\u0631\u0633\u062f:<\/p>\n<pre class=\"highlight plaintext\"><code>pip3 install $PIP_OPTION --upgrade 'pip&lt;23'\n<\/code><\/pre>\n<p>\u0627\u06cc\u0646 \u0628\u0631\u0627\u06cc \u062d\u0644 \u0645\u0634\u06a9\u0644 \u067e\u06cc\u067e \u0646\u0633\u062e\u0647 23.1 \u0627\u0633\u062a<\/p>\n<\/blockquote>\n<p>\u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639 mwaa-local-runner\u060c \u062a\u0646\u0647\u0627 \u06a9\u0627\u0631\u06cc \u06a9\u0647 \u0627\u06a9\u0646\u0648\u0646 \u0628\u0627\u06cc\u062f \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f \u0627\u06cc\u0646 \u0627\u0633\u062a:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>mwaa-local-env start\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0648 Apache Airflow \u0634\u0631\u0648\u0639 \u0628\u0647 \u0628\u0648\u062a \u0634\u062f\u0646 \u062e\u0648\u0627\u0647\u062f \u06a9\u0631\u062f.  2-3 \u062f\u0642\u06cc\u0642\u0647 \u0637\u0648\u0644 \u0645\u06cc \u06a9\u0634\u062f\u060c \u0627\u0645\u0627 \u067e\u0633 \u0627\u0632 \u0622\u0645\u0627\u062f\u0647 \u0634\u062f\u0646 \u0686\u06cc\u0632\u06cc \u0634\u0628\u06cc\u0647 \u0628\u0647 \u0622\u0646 \u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u06cc\u062f<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>aws-mwaa-local-runner-2_4-local-runner-1  | [2023-04-17 10:09:29 +0000] [202] [INFO] Starting gunicorn 20.1.0\naws-mwaa-local-runner-2_4-local-runner-1  | [2023-04-17 10:09:29 +0000] [202] [INFO] Listening at: http:\/\/0.0.0.0:8080 (202)\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0648 \u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u06cc\u06a9 \u0645\u0631\u0648\u0631\u06af\u0631 \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f \u0648 \u0628\u0647 \u0622\u062f\u0631\u0633 IP \u0639\u0645\u0648\u0645\u06cc \u062e\u0648\u062f \u0627\u0634\u0627\u0631\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u0628\u0647 Apache Airflow \u062f\u0631 \u067e\u0648\u0631\u062a 8080 \u062f\u0633\u062a\u0631\u0633\u06cc \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f.<\/p>\n<p><strong>\u0646\u062a\u06cc\u062c\u0647<\/strong><\/p>\n<p>\u0627\u06cc\u0646 \u067e\u0633\u062a \u06a9\u0648\u062a\u0627\u0647 \u0628\u0647 \u0634\u0645\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f mwaa-local-runner \u0631\u0627 \u062f\u0631 \u0646\u0645\u0648\u0646\u0647\u200c\u0647\u0627\u06cc AWS Cloud9 \u062e\u0648\u062f \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f.  \u0645\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u06cc\u0646 \u0631\u0627 \u0622\u0632\u0645\u0627\u06cc\u0634 \u06a9\u0631\u062f\u0647\u200c\u0627\u0645\u060c \u0648 \u0648\u0627\u0642\u0639\u0627\u064b \u062f\u0648\u0633\u062a \u062f\u0627\u0631\u0645 \u06a9\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0645 \u0622\u0646 \u0631\u0627 \u0627\u0632 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0645\u062d\u0644\u06cc \u062e\u0648\u062f \u062c\u062f\u0627 \u06a9\u0646\u0645.  \u0645\u0646 \u0647\u0645\u0686\u0646\u0627\u0646 \u0631\u0648\u06cc \u062a\u0646\u0638\u06cc\u0645 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u0645 \u062a\u0627 \u0628\u062a\u0648\u0627\u0646\u0645 \u062f\u0633\u062a\u0631\u0633\u06cc \u0639\u0645\u0648\u0645\u06cc \u0628\u0647 \u0646\u0645\u0648\u0646\u0647 Cloud9 \u0631\u0627 \u0641\u0642\u0637 \u0628\u0647 \u0622\u062f\u0631\u0633 IP \u062e\u0648\u062f\u0645 \u0645\u062d\u062f\u0648\u062f \u06a9\u0646\u0645\u060c \u06a9\u0627\u0631\u06cc \u06a9\u0647 \u062a\u0648\u0635\u06cc\u0647 \u0645\u06cc \u06a9\u0646\u0645 \u0634\u0645\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f. <\/p>\n<p>\u0627\u06af\u0631 \u0627\u06cc\u0646 \u067e\u0633\u062a \u0648\u0628\u0644\u0627\u06af \u0631\u0627 \u0645\u0641\u06cc\u062f \u06cc\u0627\u0641\u062a\u06cc\u062f\u060c \u0644\u0637\u0641\u0627\u064b \u0628\u0627 \u062a\u06a9\u0645\u06cc\u0644 \u0627\u06cc\u0646 \u0646\u0638\u0631\u0633\u0646\u062c\u06cc \u0628\u0633\u06cc\u0627\u0631 \u06a9\u0648\u062a\u0627\u0647 \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627\u060c \u0628\u0627\u0632\u062e\u0648\u0631\u062f\u06cc \u0628\u0647 \u0645\u0646 \u0628\u062f\u0647\u06cc\u062f<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0627\u06af\u0631 \u0628\u0647 \u062f\u0646\u0628\u0627\u0644 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc mwaa-local-runner \u0648 \u0627\u062c\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633 Cloud9 \u062e\u0648\u062f \u0647\u0633\u062a\u06cc\u062f\u060c \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u06cc\u06a9 \u062f\u0633\u062a\u0648\u0631 \u0627\u0644\u0639\u0645\u0644 \u0633\u0631\u06cc\u0639 \u0622\u0648\u0631\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a. \u0627\u06cc\u0646 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0628\u0647\u06cc\u0646\u0647 \u062a\u0631\u06cc\u0646 \u0631\u0627\u0647 \u0646\u0628\u0627\u0634\u062f\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0645\u0646 \u0628\u0633\u06cc\u0627\u0631 \u062e\u0648\u0634\u062d\u0627\u0644\u0645 \u06a9\u0647 \u067e\u06cc\u0634\u0646\u0647\u0627\u062f\u0627\u062a\u06cc \u062f\u0631 \u0645\u0648\u0631\u062f \u0686\u06af\u0648\u0646\u06af\u06cc \u0628\u0647\u0628\u0648\u062f \u0622\u0646 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0631\u062f\u0645. \u0622\u0646\u0686\u0647 \u0645\u0646 \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u067e\u0648\u0634\u0634 \u062e\u0648\u0627\u0647\u0645 \u062f\u0627\u062f \u0646\u062d\u0648\u0647 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 mwaa-local-runner \u0628\u0631 \u0631\u0648\u06cc \u06cc\u06a9 Cloud9 IDE &hellip;<\/p>\n","protected":false},"author":2,"featured_media":17991,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-17990","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/17990","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=17990"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/17990\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/17991"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=17990"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=17990"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=17990"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}