Как установить конкретную точку входа в облачную функцию Google с помощью Pulumi

В настоящее время я начинаю использовать Pulumi как инструмент IaC, а также работаю с TypeScript. Для облачной функции Google с HTTP-триггером, кто-нибудь знает, как я могу установить урну с определенным именем? Я создаю новую функцию в виде кода ниже.

Я использую в качестве ссылки код: https://www.pulumi.com/docs/reference/pkg/nodejs/pulumi/gcp/cloudfunctions

Это мой код:

const functionArchives = new gcp.storage.BucketObject("functionName", {
    bucket: bucket.name,
    source: new pulumi.asset.AssetArchive({
        ".": new pulumi.asset.FileArchive("./path"),
    }),
});
const myFunction = new gcp.cloudfunctions.Function("functionName", {
    availableMemoryMb: 128,
    description: "Description",
    entryPoint: "functionName",
    environmentVariables: envVariables,
    labels: {
        "key": "val"
    },
    runtime: "nodejs8",
    sourceArchiveBucket: bucket.name,
    sourceArchiveObject: functionArchives.name,
    timeout: 60,
    triggerHttp: true,
});

Этот код всегда создает урну с некоторыми символами, добавленными в конец строки, которую я изначально установил. то есть:

https://<region-projectname>.cloudfunctions.net/functionName-43db05f

Я бы хотел, чтобы урна была

https://<region-projectname>.cloudfunctions.net/functionName


person Jose Ordonez    schedule 05.08.2019    source источник


Ответы (1)


Вы можете сделать это, передав name аргумент конструктору Function:

const myFunction = new gcp.cloudfunctions.Function("functionName", {
    // ... other args
    name: "functionName",
    // ... other args
});

По умолчанию Pulumi добавляет уникальный код ко всем именам. Из https://www.pulumi.com/docs/reference/programming-model/#autonaming:

Этот случайный постфикс добавляется по умолчанию по двум причинам. Во-первых, это гарантирует, что два экземпляра программы могут быть развернуты в одной среде без риска конфликта имен. Во-вторых, он гарантирует, что при необходимости можно будет выполнять замену с нулевым временем простоя, создавая сначала новый ресурс, обновляя любые ссылки, указывающие на него, а затем удаляя старый ресурс.

Это поведение можно переопределить для каждого ресурса, явно задав для ресурса свойство name.

person Mikhail Shilkov    schedule 05.08.2019
comment
Это работает, я просто не заметил, что могу переопределить этот атрибут. Большое спасибо! - person Jose Ordonez; 05.08.2019