Как запустить команду aws cli в облачной функции Google - PullRequest
0 голосов
/ 05 февраля 2020

У меня есть доступ с помощью aws.

. Можно ли выполнить следующие действия:

  1. Облачная функция Google может запускать команды aws -cli.
  2. Google App Engine может выполнять действия команд aws -cli.

Например:

#!/usr/bin/env python
import subprocess
import sys
import awscli.clidriver

def aws_demo(request):

    cmd = 'aws s3 ls'
    result = subprocess.run(
        cmd.split(" "),
        stdout=subprocess.PIPE,
        stderr=subprocess.STDOUT
    )

    print(result.stdout.decode())
    return str(result.stdout.decode())

Ошибка:

Traceback (most recent call last):
  File "/env/bin/aws", line 19, in <module>
    import awscli.clidriver
ModuleNotFoundError: No module named 'awscli'

1 Ответ

0 голосов
/ 05 февраля 2020

Функция Google Cloud может запускать команды aws -cli?

Инструменты командной строки AWS недоступны или не устанавливаются в облачных функциях Google. Лучше всего использовать пакет boto3 Python вместо , как предложил Джон.

Что касается управления учетными данными в boto3 обеспокоен, существует несколько способов настройки учетных данных, как описано здесь .

Google App Engine может запускать действия команд aws -cli?

Я думаю, что, как и в случае с Google Cloud Function, невозможно запустить команду AWS с помощью инструмента командной строки awscli.

Я бы настоятельно рекомендовал также использовать boto3, поскольку это будет поддерживать вашу инфраструктуру равной среди различных продуктов GCP.

Надеюсь, это поможет.

...