AWSクラウド開発キット
6509 ワード
少し前にAWSは開発者のプレビューをリリースCloud Development Kit ( CDK ).AWSインフラストラクチャの管理ツールです.JavaScriptで!JavaScriptは本当に世界を食べる推測:D
何
CDKはCloudFormation ( CF )への命令的な変更です.
CFはあなたのサービスを定義するためにJSONまたはYAMLを使用している間、CDKは現在、JavaScript、TypeScriptとJavaでこれを行うことができます.
NPM上で利用可能なバージョンは、typescriptで実装されています.
コンセプト
CDKは、インフラストラクチャを定義するために、Constructionという概念を使用します.コンストラクタには子コンストラクタがあります.
コンストラクタは低レベルのCFリソースか、AWS構築ライブラリのいずれかです.
The CloudFormation Resources AWS Constructionライブラリがまだ提供していない高度な構成のためのフォールバックとして使用されます.
The AWS Construct Libraries NPMパッケージはタイプスクリプトで書かれています.基本的にはあらかじめ設定されたCFリソースです.
なぜ
このアイデアは、システムの実装に既に使われているツールとの統合を強化しているようです.JavaScriptを既に知っている場合は、CFのカスタムYAML/JSON方言を学ぶ必要はありません.
また、CDKで使用されるリソースプロビジョニングの方法は、CF . AWSより少し高いレベルです.
それは、CFがどのように働くかを学ぶことから私たちを救うことはありません.
ハウ
この単純なダイナモの例を見てみましょう.
基本的な構造を定義するコアパッケージがあります. The The Resourcesもパッケージであるので、私たちは単にそれらを含めることができます.
エー
リソース定義は、リソースクラスからオブジェクトを作成することによって行われます.
The
The
アフター
最後に
結論
AWSクラウド開発キットはJavaScriptとTypesScriptを使用してインフラストラクチャを作成する新しい方法をもたらします.
私は、それがAWSツールの景色に良い追加だと思います.
それは私があまりにも多くのことを尋ねるべきではないので、開発中ですが、私にとっては、C .全体が
とにかく、それを試してみて、コメントで何を考えて私に教えてください!
何
CDKはCloudFormation ( CF )への命令的な変更です.
CFはあなたのサービスを定義するためにJSONまたはYAMLを使用している間、CDKは現在、JavaScript、TypeScriptとJavaでこれを行うことができます.
NPM上で利用可能なバージョンは、typescriptで実装されています.
コンセプト
CDKは、インフラストラクチャを定義するために、Constructionという概念を使用します.コンストラクタには子コンストラクタがあります.
コンストラクタは低レベルのCFリソースか、AWS構築ライブラリのいずれかです.
The CloudFormation Resources AWS Constructionライブラリがまだ提供していない高度な構成のためのフォールバックとして使用されます.
The AWS Construct Libraries NPMパッケージはタイプスクリプトで書かれています.基本的にはあらかじめ設定されたCFリソースです.
なぜ
このアイデアは、システムの実装に既に使われているツールとの統合を強化しているようです.JavaScriptを既に知っている場合は、CFのカスタムYAML/JSON方言を学ぶ必要はありません.
また、CDKで使用されるリソースプロビジョニングの方法は、CF . AWSより少し高いレベルです.
それは、CFがどのように働くかを学ぶことから私たちを救うことはありません.
ハウ
この単純なダイナモの例を見てみましょう.
const { Stack, App } = require("@aws-cdk/cdk");
const dynamodb = require("@aws-cdk/aws-dynamodb");
class MyStack extends Stack {
constructor(parent, name, props) {
super(parent, name, props);
const table = new dynamodb.Table(this, "Table", {
tableName: "MyAppTable",
readCapacity: 5,
writeCapacity: 5
});
table.addPartitionKey("Alias", dynamodb.KeyAttributeType.String);
table.addSortKey("Timestamp", dynamodb.KeyAttributeType.String);
}
}
const app = new App(process.argv);
new MyStack(app, "MyStack");
process.stdout.write(app.run());
見ることができるように、CDKライブラリは他のすべてのノードパッケージのように含めることができます.基本的な構造を定義するコアパッケージがあります.
App
Constructionは、アプリケーションのルートですStack
sは直接の子供として、そして、他のあらゆる構成は子孫です.Stack
コンストラクタは直接の子ですApp
そして、子供としてすべての資源を持ちます.エー
Stack
はコンストラクタにリソースを定義しなければなりません.リソース定義は、リソースクラスからオブジェクトを作成することによって行われます.
The
dynamodb
パッケージはTable
クラスを参照するMyStack
, エーname
そして、DynamoDBユーザに慣れているはずです.The
Table
オブジェクトのようです.Stack
and App
, オプションの設定を追加するメソッドもあります.アフター
Stack
が定義されている場合、App
コンストラクションStack
を作成します.…の目的App
また、parent
にStack
オブジェクト.最後に
App
Constructionは、定義されたインフラストラクチャを作成するために実行できます.結論
AWSクラウド開発キットはJavaScriptとTypesScriptを使用してインフラストラクチャを作成する新しい方法をもたらします.
私は、それがAWSツールの景色に良い追加だと思います.
それは私があまりにも多くのことを尋ねるべきではないので、開発中ですが、私にとっては、C .全体が
this
, クラスを拡張し、コンストラクタをオーバーライドするだけで不気味で非慣用的な感じです.入れ子になった関数は、状態のないコンポーネントのように、おそらくよりきれいなアイデアでした.とにかく、それを試してみて、コメントで何を考えて私に教えてください!
Reference
この問題について(AWSクラウド開発キット), 我々は、より多くの情報をここで見つけました https://dev.to/kayis/the-aws-cloud-development-kit-5c9nテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol