Как включать структуру каталогов в файл банки муравья?

Если вы не хотите просто использовать сценарий python для выполнения вызовов команды gcloud, поскольку это то же самое, что и сценарий bash, вы можете использовать клиентскую библиотеку API облачных функций для Python ].

Что делает эта библиотека, так это создает и выполняет HTTP-вызовы к API Cloud Functions . Вы можете проверить Ссылку на REST Cloud Functions , чтобы увидеть, как эти вызовы структурированы и как их построить.

Например, я сделал быстрый пример для тестирования этой библиотеки API, чтобы перечислить функции, выполняемые в моем проекте:

import httplib2
import pprint

from googleapiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials


credentials = ServiceAccountCredentials.from_json_keyfile_name(
                "key.json",
                scopes="https://www.googleapis.com/auth/cloud-platform")

http = httplib2.Http()
http = credentials.authorize(http)

service = build("cloudfunctions", "v1", http=http)

operation = service.projects().locations().functions().list(parent='projects/wave16-joan/locations/europe-west1')

pprint.pprint(operation)

Вам нужно будет установить модули oauth2client, [ 113] и httplib2. Как видите, вам нужно будет создать учетную запись службы для выполнения вызовов API REST, для чего нужны области « https://www.googleapis.com/auth/cloud-platform » для создания CF. Я сам создал служебную учетную запись с project/editor разрешениями, которые, я считаю, являются необходимыми ролями для создания CF.

Наконец, чтобы выполнить этот скрипт, вы можете просто сделать python .py

Теперь, так как вы хотите создать несколько функций (посмотрите, как этот вызов API должен быть структурирован здесь ) вместо этого должна быть указана служба вызова:

operation = service.projects().locations().functions().create(
        location='projects/wave16-joan/locations/europe-west1',
        body={
                "name":"...",
                "entryPoint":"..."
                "httpsTrigger": {
                        "url":"..."
                    }
            }
    )

Вам нужно будет заполнить body запроса некоторыми из параметров, перечисленных здесь . Например, клавиша "name" должна выглядеть следующим образом:

"name":"projects/YOUR_PROJECT/locations/YOUR_PROJECT_LOCATION/functions/FUNCTION_NAME"

В качестве примечания, большинство параметров тела, перечисленных в предыдущей документации, являются необязательными, но вам потребуется имя , entryPoint, источник, триггер и т. д.

Конечно, это требует больше работы, чем создание bash-скрипта, но результат является более переносимым и надежным, и это позволит вам создавать несколько операций для одновременного развертывания нескольких функций.

11
задан Markus 13 December 2008 в 00:09
поделиться

1 ответ

Необходимо сказать Муравью создавать банку из базового каталога, затем сказать этому включать только желаемый файл. Как так:

<jar destfile="myjar.jar" >
  <fileset dir="${build}" includes="com/test/StringUtil.class"/>
</jar>

Вот документ для <fileset> теги.

17
ответ дан 3 December 2019 в 07:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: