aws CDK 在 c# 中为 API 网关 websockets 构建
aws CDK construct in c# for API gateway websockets
我正在使用 AWS CDK 为 API 网关 websockets 构建堆栈。
I can see this documentation here
但它没有提供任何明确的解释,说明哪些构造用于网络套接字。有人可以帮助我正确构造以用于 websockets。
直到今天,CDK 团队还没有像其他更常见的 AWS 组件一样发布 easy-to-use API,因此缺少这方面的任何文档。
目前,您可以使用 lower-level 构造来实现结果,或者通过 CLI、脚本或 Web 控制台在 CDK 环境之外处理 WS 管理。
如果想在等待 CDK 达到与 Websockets 相关的更好阶段时继续使用一些 lower-level 结构 APIs 这里有一个用 TypeScript 编写的小例子:
// Handle your other resources like roles, lambdas, and dependencies
// ...
// Example API definition
const api = new CfnApi(this, name, {
name: "ChatAppApi",
protocolType: "WEBSOCKET",
routeSelectionExpression: "$request.body.action",
});
// Example lambda integration
const connectIntegration = new CfnIntegration(this, "connect-lambda-integration", {
apiId: api.ref,
integrationType: "AWS_PROXY",
integrationUri: "arn:aws:apigateway:" + config["region"] + ":lambda:path/2015-03-31/functions/" + connectFunc.functionArn + "/invocations",
credentialsArn: role.roleArn,
});
// Example route definition
const connectRoute = new CfnRoute(this, "connect-route", {
apiId: api.ref,
routeKey: "$connect",
authorizationType: "NONE",
target: "integrations/" + connectIntegration.ref,
});
// Finishing touches on the API definition
const deployment = new CfnDeployment(this, `${name}-deployment`, {
apiId: api.ref
});
new CfnStage(this, `${name}-stage`, {
apiId: api.ref,
autoDeploy: true,
deploymentId: deployment.ref,
stageName: "dev"
});
const dependencies = new ConcreteDependable();
dependencies.add(connectRoute)
我从某人对示例文档所做的 PR 中获得了此信息:
https://github.com/aws-samples/aws-cdk-examples/pull/325/files
我还在试验这个,但至少在最新版本的 CDK 中,你可以找到使用过的函数和 类。
我正在使用 AWS CDK 为 API 网关 websockets 构建堆栈。 I can see this documentation here
但它没有提供任何明确的解释,说明哪些构造用于网络套接字。有人可以帮助我正确构造以用于 websockets。
直到今天,CDK 团队还没有像其他更常见的 AWS 组件一样发布 easy-to-use API,因此缺少这方面的任何文档。
目前,您可以使用 lower-level 构造来实现结果,或者通过 CLI、脚本或 Web 控制台在 CDK 环境之外处理 WS 管理。
如果想在等待 CDK 达到与 Websockets 相关的更好阶段时继续使用一些 lower-level 结构 APIs 这里有一个用 TypeScript 编写的小例子:
// Handle your other resources like roles, lambdas, and dependencies
// ...
// Example API definition
const api = new CfnApi(this, name, {
name: "ChatAppApi",
protocolType: "WEBSOCKET",
routeSelectionExpression: "$request.body.action",
});
// Example lambda integration
const connectIntegration = new CfnIntegration(this, "connect-lambda-integration", {
apiId: api.ref,
integrationType: "AWS_PROXY",
integrationUri: "arn:aws:apigateway:" + config["region"] + ":lambda:path/2015-03-31/functions/" + connectFunc.functionArn + "/invocations",
credentialsArn: role.roleArn,
});
// Example route definition
const connectRoute = new CfnRoute(this, "connect-route", {
apiId: api.ref,
routeKey: "$connect",
authorizationType: "NONE",
target: "integrations/" + connectIntegration.ref,
});
// Finishing touches on the API definition
const deployment = new CfnDeployment(this, `${name}-deployment`, {
apiId: api.ref
});
new CfnStage(this, `${name}-stage`, {
apiId: api.ref,
autoDeploy: true,
deploymentId: deployment.ref,
stageName: "dev"
});
const dependencies = new ConcreteDependable();
dependencies.add(connectRoute)
我从某人对示例文档所做的 PR 中获得了此信息: https://github.com/aws-samples/aws-cdk-examples/pull/325/files
我还在试验这个,但至少在最新版本的 CDK 中,你可以找到使用过的函数和 类。