■ はじめに
小ネタ。(日曜だし)
https://dk521123.hatenablog.com/entry/2023/03/25/021432
で、WSL上にAWS用の開発環境を構築したが これをローカル環境のVS Codeから簡単にアクセスする方法として VS Codeプラグイン「WSL (Remote-WSL)」ってゆーのがあり めっちゃ簡単だったので、メモ。
目次
【1】前提条件 1)Linux環境が構築されていること 2)ローカル上にVS Codeがインストールされていること 【2】VS Codeプラグイン「WSL」 【3】Hello world 例1:Scala with AWS SDK for java 【4】おまけ:WSL内にVS Codeをインストール
【1】前提条件
1)Linux環境が構築されていること
* 今回の場合は、Windows環境でWSLがインストールされている * 以下の関連記事を参照のこと。
WSL ~ Docker-CE + Genie / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2021/11/03/003836
2)ローカル上にVS Codeがインストールされていること
https://dk521123.hatenablog.com/entry/2019/10/24/000000
より抜粋 Visual Studio Codeダウンロードしインストールする
https://code.visualstudio.com/
【2】VS Codeプラグイン「WSL」
* VS Code上からWSL2環境へ接続するためのプラグイン
https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl
設定
* VS Codeプラグイン「WSL」を検索して、 インストールするだけ => いつの間にかインストールされていた、、、
コメント
* めちゃめちゃ便利。 => 以下の関連記事で扱ったプラグイン「Metals」も、 VS Code上で、WSL上にインストールすることが簡単にできた
https://dk521123.hatenablog.com/entry/2023/03/10/193805
【3】Hello world
例1:Scala with AWS SDK for java
import scala.collection.JavaConversions._ import scala.reflect._ import java.net.URI import software.amazon.awssdk.regions.Region import software.amazon.awssdk.services.s3.S3Client import software.amazon.awssdk.services.s3.paginators.ListObjectsV2Iterable import software.amazon.awssdk.services.s3.model.ListObjectsV2Request import software.amazon.awssdk.services.s3.model.ListObjectsV2Response import software.amazon.awssdk.auth.credentials.AwsBasicCredentials import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider import software.amazon.awssdk.auth.credentials.AwsBasicCredentials object Main extends App { val region = Region.US_WEST_1 val bucketName = "local-demo-bucket" val s3Key = "sample/" val accessKey = "dummy" val secretAccessKey = "dummy" val endpoint = "http://localhost:4566" val credentials = AwsBasicCredentials.create(accessKey, secretAccessKey) val s3Client = S3Client.builder() .region(region) .credentialsProvider(StaticCredentialsProvider.create(credentials)) .endpointOverride(new URI(endpoint)) .forcePathStyle(true) .build() var listObjectsReqManual = ListObjectsV2Request.builder() .bucket(bucketName) .prefix(s3Key) .build() val listObjResponse = s3Client.listObjectsV2(listObjectsReqManual) // See https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/model/S3Object.html for (content <- listObjResponse.contents()) { println(s"content.key = ${content.key}") println(s"content.size = ${content.size}") } }
build.sbt
scalaVersion := "2.12.17" name := "hello-world" organization := "ch.epfl.scala" version := "1.0" libraryDependencies ++= Seq( "org.scala-lang.modules" %% "scala-parser-combinators" % "2.1.1", "software.amazon.awssdk" % "s3" % "2.20.30", "software.amazon.awssdk" % "secretsmanager" % "2.20.30", "software.amazon.awssdk" % "ses" % "2.20.30" )
実行結果
$ sbt run ... content.key = sample/hello.txt content.size = 13 content.key = sample/hi.txt content.size = 11
【4】おまけ:WSL内にVS Codeをインストール
今回のWSLプラグインを調べる前に WSL内にVS Codeをインストールをやったので、せっかくなのでメモ
https://learn.microsoft.com/ja-jp/windows/wsl/tutorials/wsl-vscode
を参考に入れていく
1)前準備
sudo apt-get update # Add wget/ca-certificates # wget : Web サーバーからコンテンツを取得 # ca-certificates: SSL 接続の信頼性を許可 sudo apt-get install wget ca-certificates
2)VS Codeをインストール
code .
参考文献
https://zenn.dev/s_ryuuki/articles/4b9631674adea4
関連記事
Docker compose ~ LocalStack/Glue4.0 ~
https://dk521123.hatenablog.com/entry/2023/03/25/021432
WSL ~ Docker-CE + Genie / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2021/11/03/003836
Scala ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2023/03/10/193805
Linux で JDK を設定する
https://dk521123.hatenablog.com/entry/2017/08/01/234900
Visual Studio Code ~ Pythonを設定する ~
https://dk521123.hatenablog.com/entry/2019/10/24/000000
WSL2 ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2023/01/29/000000