Puncte:0

AWS CDK adaugă ruta 53, înregistrează alias în cel mai simplu mod

drapel us

Am creat un gateway API pentru websocket-uri cu CDK. Pentru a reține mai ușor adresa URL, vreau să dau lui sadjl342r.execute-api.amazonaws un ALIAS în Route53

Ceva de genul „my-ws-api.mydomain.tld”

Acesta este modul în care am creat gateway-ul API

const websocketEventsLambda: IFunction = this.createWebsocketsLambda(props.stage);

this.apiGatewayWebSockets = new CfnApi(this, apiGatewayId, {
    nume: apiGatewayId,
    protocolType: „WEBSOCKET”,
    routeSelectionExpression: „$request.body.topic”,
    apiKeySelectionExpression: „$request.header.x-api-key”
});

const connectIntegration = CfnIntegration nou (
    acest,
    "websockets-connect-lambda-integration-" + props.stage,
    {
        apiId: this.apiGatewayWebSockets.ref,
        ConnectType: „INTERNET”,
        integrationType: „AWS_PROXY”,
        integrationMethod: „POST”,
        integrationUri:
            „arn:aws:apigateway:eu-central-1:lambda:path/2015-03-31/functions/arn:aws:lambda” +
            ":<REGION>:<ACCOUNT_ID>:function:" + websocketEventsLambda.functionName +
            „/invocații”,
        passthroughBehavior: „WHEN_NO_MATCH”,
        payloadFormatVersion: „1.0”,
    }
);

const connectRoute = nou CfnRoute(
    acest,
    „apigateway-websockets-connect-route-” + props.stage,
    {
        apiId: this.apiGatewayWebSockets.ref,
        routeKey: „$connect”,
        autorizațieType: „NONE”,
        target: "integrations/" + connectIntegration.ref
    }
);

implementare const = CfnDeployment nou (
    acest,
    `apigatewayv2-websockets-deployment-` + props.stage,
    {
        apiId: this.apiGatewayWebSockets.ref
    }
);

nou CfnStage(acest, `apigateway-stage-${props.stage}`, {
    apiId: this.apiGatewayWebSockets.ref,
    AutoDeploy: adevărat,
    deploymentId: deployment.ref,
    stageName: props.stage
});

deployment.addDependsOn(connectRoute);
deployment.addDependsOn(disconnectRoute);
deployment.addDependsOn(subscribeRoute);
deployment.addDependsOn(defaultRoute);

this.webSocketsApiURL =
    implementare.apiId +
    „.execute-api”. +
    aceasta.regiune +
    „.amazonaws.com/” + props.stage;

Acum încerc să creez un ARRecord în același domeniu (am folosit acest răspuns ca punct de plecare: https://stackoverflow.com/a/56599567/15013406)

const domainName: șir = "ws-api-" + props.stage + "." + DOMENIU;

rută nouă53.ARecord(aceasta, „AliasRecord”, {
    recordName: domainName,
    țintă: route53.RecordTarget.fromAlias({
        bind() {
            întoarcere {
                dnsName: webSocketsApiURL,
                hostedZoneId: nu știu ce să intru aici
            };
        }
    }),
    zona: hostedZone
});

Nu știu ce să introduc pentru hostedZoneId în ultimul fragment de cod. Rețineți că acest răspuns spune că aceasta trebuie să fie o altă zonă decât zona propriului meu domeniu care ar trebui să indice către API Gateway

Vedea https://stackoverflow.com/a/56599567/15013406:

Notă: hostedZoneId pentru înregistrarea aliasului dvs. nu este același cu ID-ul zonei găzduite al propriei zone.

)

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.