-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AWS CDK Tips: 2種類のaddDependency #75
Conversation
概要AWS CDKのaddDependencyメソッドの使い方とNode.addDependencyとCfnResource.addDependencyの違いについての概要を説明した。 変更点
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Files selected (1)
- blog/2023-11-16-cdk-add-dependency/index.md (1)
Files ignored due to filter (2)
- blog/2023-11-16-cdk-add-dependency/cfnadd.png
- blog/2023-11-16-cdk-add-dependency/nodeadd.png
Review comments generated (5)
- Review: 5
- LGTM: 0
Tips
Chat with AI reviewer (/reviewbot
)
- Reply on review comments left by this bot to ask follow-up questions. A review comment is a comment on a diff or a file.
- Invite the bot into a review comment chain by tagging
/reviewbot
in a reply.
Code suggestions
- The bot may make code suggestions, but please review them carefully before committing since the line number ranges may be misaligned.
- You can edit the comment made by the bot and manually tweak the suggestion if it is slightly off.
Pausing incremental reviews
- Add
/reviewbot: ignore
anywhere in the PR description to pause further reviews from the bot.
|
||
## addDependency とは | ||
`addDependency` メソッドは、コンストラクト間の依存関係を明示的に指定するための機能です。AWS CDKにおいては、最終的にCloudFormationリソースの依存関係として扱われます。 | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
「これにより、CFnリソースの作成・更新・削除の順番を制御することが可能になります」は「これにより、CFnリソースの作成・更新・削除の順序を制御できるようになります」の方が自然な日本語だと思います。
|
||
これにより、CFnリソースの作成・更新・削除の順番を制御することが可能になります。詳細はこちらのドキュメントもご覧ください: [DependsOn 属性](https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) | ||
|
||
ちなみに若干非自明なのですが、 `A.addDependency(B)` で、AがBに依存していることを意味します。つまり、Bが作成されたあとにAが作成され、またAが削除されたあとにBが削除されるなどの順番になります。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
「ちなみに若干非自明なのですが、」は「ちなみに少し非自明なのですが、」の方が自然な日本語だと思います。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
「若干」はダメ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tmokmss はい、「若干」も問題ないと思います。コメントありがとうございます。「若干非自明」でも自然な表現だと改めて確認しました。ご指摘いただいたように、「若干」と「少し」はどちらもこの文脈では適切なので、お好みで使い分けていただければと思います。ご意見いただきありがとうございました。
2つの違いを一言で表すなら、 **N対Nの依存関係か、1対1の依存関係か** と言えます。詳しく見ていきましょう。 | ||
|
||
`Node.addDependency(deps)` の場合は、そのノード (コンストラクト) の子(孫、ひ孫…)ノードに対して、再帰的に依存関係が追加されます。また、追加先のdepsについても、再帰的に処理されます。つまり、一回の操作でN対Nの依存関係を設定できます。 | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
「つまり、一回の操作でN対Nの依存関係を設定できます。」は「つまり、一度の操作でN対Nの依存関係を設定できます。」の方が自然な日本語だと思います。
|
||
![Node.addDependencyの場合のコンストラクトツリー図解](nodeadd.png) | ||
|
||
一方 `CfnResource.addDependency` の場合は、呼び出し元と引数の2つのL1コンストラクトのみに作用します。つまり、一回の操作で1対1の依存関係を設定できます。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
「つまり、一回の操作で1対1の依存関係を設定できます。」は「つまり、一度の操作で1対1の依存関係を設定できます。」の方が自然な日本語だと思います。
これで違いが分かりましたね! | ||
|
||
## 落とし穴に注意! | ||
N対NはN=1なら1対1と等しいんだから、 `CfnResource` の方は使いドコロある?と思う人もいるかもしれません。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
「落とし穴に注意!」の前に空行を入れると見出しと本文の区切りが明確になり読みやすくなると思います。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Files selected (1)
- blog/2023-11-16-cdk-add-dependency/index.md (1)
Review comments generated (7)
- Review: 7
- LGTM: 0
Tips
Chat with AI reviewer (/reviewbot
)
- Reply on review comments left by this bot to ask follow-up questions. A review comment is a comment on a diff or a file.
- Invite the bot into a review comment chain by tagging
/reviewbot
in a reply.
Code suggestions
- The bot may make code suggestions, but please review them carefully before committing since the line number ranges may be misaligned.
- You can edit the comment made by the bot and manually tweak the suggestion if it is slightly off.
Pausing incremental reviews
- Add
/reviewbot: ignore
anywhere in the PR description to pause further reviews from the bot.
@@ -0,0 +1,230 @@ | |||
--- | |||
title: 'AWS CDK Tips: 2種類のaddDependency' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
タイトルが分かりやすく良いです。
@@ -0,0 +1,230 @@ | |||
--- | |||
title: 'AWS CDK Tips: 2種類のaddDependency' | |||
slug: cdk-add-dependency |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
slugがタイトルと一致していてSEO的に良いです。
--- | ||
title: 'AWS CDK Tips: 2種類のaddDependency' | ||
slug: cdk-add-dependency | ||
tags: [cdk] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cdkタグが適切です。
title: 'AWS CDK Tips: 2種類のaddDependency' | ||
slug: cdk-add-dependency | ||
tags: [cdk] | ||
authors: [tmokmss] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
著者情報が正しく記載されています。
authors: [tmokmss] | ||
--- | ||
|
||
[AWS CDK Tipsの記事](https://tmokmss.hatenablog.com/entry/aws_cdk_tips)です。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
リンクが貼られているので、コンテキストが分かりやすいです。
|
||
CDKに `addDependency` メソッドが2種類あることをご存知でしたか?今日は2つの違いをお伝えします。 | ||
|
||
<!-- truncate --> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<!-- truncate -->
が適切な位置に挿入されています。
やっぱりこのネタは個人ブログで出すことにします 🙏 (LLMネタを書いていきたい |
Pull Request
新規記事のチェックリスト
新規記事の Pull Request でない場合はスキップして問題ありません。
<!-- truncate -->
の挿入Summary (generated)
AWS CDKのaddDependencyメソッドに関する記事です。Node.addDependencyとCfnResource.addDependencyの使い分けについて解説しています。CDKでリソース間の依存関係を定義する方法を紹介しているようです。