GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

localstack

localstack – 💻 完全に機能するローカルAWSクラウドスタック あなたのクラウドアプリケーションをオフラインで開発し、テストしてください!

投稿日:

💻 完全に機能するローカルAWSクラウドスタック あなたのクラウドアプリケーションをオフラインで開発し、テストしてください! https://localstack.cloud

LocalStack – 完全に機能するローカルAWSクラウドスタック

LocalStackは、クラウドアプリケーションを開発するための使いやすいテスト/モックフレームワークを提供します。

現在、主にAWSクラウドスタックのサポートに重点を置いています。

お知らせ

  • 2018-01-10ヘルプが必要 でした Chalmers University of Technologyで行われているServerless機能とService-as-a-Service(FaaS)サービスの使用に関する調査研究をサポートするために、 このアンケートにご記入ください。 調査には5〜10分かかります。 ご参加いただきありがとうございます!
  • 2017-08-27あなたのご支援が必要です! LocalStackは急速に成長しています。現在、このプラットフォームを定期的に使用している何千人もの開発者がいます。 先月、私たちは0kコスト(詳細はまもなく公開予定)のために、ローカルで作成された25k + DynamoDBテーブル、20k + SQSキュー、15k + Kinesisストリーム、13k + S3バケット、および10k +ラムダ関数を使って100kテストを驚異的に記録しました。 バグや機能のリクエストが流入しているので、オープンソースのバージョンを積極的に維持するためのサポートが必要です オープンコレクティブをチェックして、今日のプロジェクトの後援者になろう! 貢献してくれてありがとう。
  • 2017-07-20 :注意:バージョン0.7.0 、Dockerイメージはプッシュされ、 新しい名前 localstack/localstack最新の状態に保たれます。 (これは、CI設定を更新する必要がある可能性があることを意味します) 。新しいバージョンについては、更新されたエンドユーザライセンス契約(EULA)を参照してください。 古いDockerイメージ( atlassianlabs/localstack )は引き続き使用できますが、これ以上メンテナンスされません。

概要

LocalStackは、ローカルマシン上で次のコアクラウドAPIをスピンアップします。

さらに、 LocalStackは、Pythonバインディングを備えたフル機能のKCL Kinesisクライアント、nosetestsの簡単なセットアップ/ティアダウン統合、ローカルとリモートの簡単な切り替えを可能にするEnvironment抽象化など、クラウドサービスと対話するための強力なツール群を提供します雲の実行。

なぜLocalStackですか?

LocalStackは、既存の最善のモック/テストツール、特にキネサイト / ダイナライトモトに 基づいています。 これらのツールはすばらしいですが (!)、特定のユースケースの機能性が欠けています。 LocalStackはツールを組み合わせ、それらを相互運用可能にし、それらの上に欠けている重要な機能を追加します:

  • エラーインジェクション: LocalStackは、実際のクラウド環境で頻繁に発生するエラー、例えば読み込み/書き込みスループットの量が超過した場合にKinesisまたはDynamoDBによってスローされるProvisionedThroughputExceededExceptionを注入することができます。
  • 実際のHTTP RESTサービスLocalStackのすべてのサービスは、TCPポート上の実際のHTTP接続を許可します。 対照的に、モトは@mock_sqs注釈が付けられたすべてのメソッドに注入されるbotoクライアントプロキシを使用します。 これらのクライアントプロキシは、実際のREST呼び出しを実行するのではなく、テストコードと同じプロセスに存在するローカルモックサービスメソッドを呼び出します。
  • 言語に依存しないLocalStackはPythonで書かれていますが、HTTP経由で実際のREST APIを使用しているため、任意のプログラミング言語や環境でうまく動作します。
  • 独立プロセスLocalStackのすべてのサービスは別々のプロセスで実行されます。 追加のプロセスのオーバーヘッドはごくわずかですが、スタック全体はどの開発者マシンやCIサーバーでも簡単に実行できます。 モトでは、コンポーネントはしばしばRAMでハードワイヤード接続されています(たとえば、SNSトピックのメッセージをSQSキューに転送する場合、キューエンドポイントはローカルハッシュマップで参照されます)。 対照的に、 LocalStackサービスは孤立しています(HTTP経由で利用できる別々のプロセス)。真のデカップリングを促進し、実際のクラウド環境に非常に似ています。
  • プラグ可能なサービスLocalStackのすべてのサービスは、サービスごとに独立したプロセスを使用しているため、簡単にプラガブル(および交換可能)です。 これにより、フレームワークを最新の状態に保ち、個々のサービスごとにベストモックを選択することができます。

要件

  • make
  • python (Python 2.xと3.xをサポート)
  • pip (pythonパッケージマネージャ)
  • npm (node.jsパッケージマネージャ)
  • java / javac (Java 8ランタイム環境とコンパイラ)
  • mvn (Maven、Javaのビルドシステム)

インストール

LocalStackをインストールする最も簡単な方法はpip経由です:

pip install localstack

インストールが完了したら、次のコマンドを使用してインフラストラクチャを実行します。

localstack start

注意sudoまたはrootユーザーを使用しないでください.LocalStackは、ローカルでroot以外のユーザーのもとでインストールして起動する必要があります。 MacOS X Sierraでアクセス権に問題がある場合は、 pip install --user localstackでインストールしてください

ドッカーで走る

DockerでLocalStackを起動することもできます:

localstack start --docker

$TMPDIRにDockerでマウントできないシンボリックリンクが含まれている場合、MacOSでは、 TMPDIR=/private$TMPDIR localstack start --dockerを実行する必要があるかもしれません)。

または、ドッカーの作成(リポジトリを最初に複製する必要があります)を使用します。

docker-compose up

(MacOSでは、 TMPDIR=/private$TMPDIR docker-compose upを実行する必要があるかもしれないことに注意してください。 $TMPDIRにDockerがマウントできないシンボリックリンクが含まれTMPDIR=/private$TMPDIR docker-compose upいればTMPDIR=/private$TMPDIR docker-compose upください)。

構成

次の環境変数をLocalStackに渡すことができます:

  • SERVICES :実行すべきサービス名と(オプションの)ポートのカンマ区切りのリスト。 ポートが指定されていない場合は、デフォルトのポートが使用されます。 LocalStackはそれらのサブセットのみをサポートしていますがサービス名は基本的にAWS CLIkinesislambdasqsなど)のサービス名に対応しています。 値の例: kinesis,lambda:4569,sqs:4570 、デフォルトポートでKinesis、ポート4569でLambda、ポート4570でSQSを開始します。

  • DEFAULT_REGION :APIとDEFAULT_REGIONするときに使用するAWS領域です(デフォルトはus-east-1 )。

  • HOSTNAME :サービスを内部的に公開するホストの名前です(デフォルトはlocalhost )。 例えば、docker-composeを使用して異なるコンテナでサービスが開始されている場合など、フレームワーク内部の通信をカスタマイズするには、これを使用します。

  • HOSTNAME_EXTERNAL :サービスを外部に公開するホストの名前(デフォルトはlocalhost )。 このホストは、たとえば、SQSサービスからクライアントにキューURLを返すときに使用されます。

  • USE_SSL :SSL暗号化を使用するhttps://... URLを使用するかどうか(デフォルトはfalse )。

  • KINESIS_ERROR_PROBABILITYProvisionedThroughputExceededExceptionエラーをキネシスAPIの応答にランダムに挿入するための、0.0(デフォルト)と1.0の間の10進値。

  • DYNAMODB_ERROR_PROBABILITYProvisionedThroughputExceededExceptionエラーをDynamoDB APIレスポンスにランダムに挿入するための、0.0(デフォルト)と1.0の間の10進数値。

  • LAMBDA_EXECUTOR :ラムダ関数の実行に使用するメソッド。 可能な値は次のとおりです。

    • local :ローカルマシン上の一時ディレクトリでラムダ関数を実行する
    • docker :各関数呼び出しを別々のDockerコンテナで実行する
    • docker-reuse :関数ごとに1つのDockerコンテナを作成し、呼び出し全体で再利用する

    dockerdocker-reuseために、 LocalStack自体がDocker内で起動されている場合、 dockerコマンドをコンテナ内で使用できるようにする必要があります(通常は特権モードでコンテナを実行する必要があります)。 デフォルトはdockerです。ドッカーが使用できない場合は、 localにフォールバックします。

  • LAMBDA_REMOTE_DOCKERは、ラムダコードがコンテナにコピーまたはマウントされるかどうかを決定します。 可能な値は次のとおりです。

    • true (デフォルト):ラムダ関数定義はzipファイルをコピーすることによってコンテナに渡されます(潜在的に遅い)。 これにより、ホストとクライアントが同じマシン上にないリモート実行が可能になります。
    • false :ラムダ関数の定義は、ボリュームをマウントすることによってコンテナに渡されます(潜在的に速い)。 これには、DockerクライアントとDockerホストを同じマシンに置く必要があります。
  • DATA_DIR :永続データを保存するローカルディレクトリ(現在のところ、Kinesis、DynamoDB、Elasticsearch、S3のこれらのサービスでのみサポートされています)。 持続性を有効にするには/tmp/localstack/dataに設定し/tmp/localstack/data/tmp/localstackはDockerコンテナにマウントされます)。

  • PORT_WEB_UI :Webユーザーインターフェイス(ダッシュボード)のポート。 デフォルトは8080です。

  • <SERVICE>_BACKEND<SERVICE>は大文字のサービス名です(現在APIGATEWAYCLOUDFORMATIONDYNAMODBELASTICSEARCHKINESISS3SNSSQS )。 これにより、サードパーティのサービスをLocalStackに簡単に統合することができます。

  • FORCE_NONINTERACTIVE :Dockerで動作しているときに、– --tty--ttyフラグを無効にします。 ヘッドレスで走るときに便利です。

さらに、次の読み取り専用環境変数も使用できます。

  • LOCALSTACK_HOSTNAME :LocalStackサービスが利用可能なホストの名前。 これは、Lambda関数内からサービスにアクセスするために必要です(例えば、LambdaのDynamoDBまたはS3に項目を格納するなど)。 変数LOCALSTACK_HOSTNAMEは、ローカルのラムダ実行( LAMBDA_EXECUTOR=local )と別のDockerコンテナ( LAMBDA_EXECUTOR=docker )内の実行の両方で使用できます。

CLIまたはコードを使用したインフラストラクチャへのアクセス

aws CLIがローカルインフラストラクチャを使用するようにawsできます。たとえば、次のようにします。

aws --endpoint-url=http://localhost:4568 kinesis list-streams
{
    "StreamNames": []
}

機能: LocalStackに対して直接コマンドを実行するthin CLIラッパーであるawslocalをチェックしてください--endpoint-urlもう指定する必要はありません。 pip install awscli-local経由でpip install awscli-localし、次のように使用してください:

awslocal kinesis list-streams
{
    "StreamNames": []
}

更新 :環境変数$LOCALSTACK_HOSTNAMEを使用して、ラムダ関数内のターゲットホストを判別します。 詳細は設定セクションを参照してください。

クライアントライブラリ

nosetestsとの統合

あなたの統合テスト(例えば、nosetests)でLocalStackを使いたいのであれば、テスト設定メソッドでインフラストラクチャを立ち上げ、あなたのティアダウンメソッドのすべてをクリーンアップするだけです:

from localstack.services import infra

def setup():
    infra.start_infra(async=True)

def teardown():
    infra.stop_infra()

def my_app_test():
    # here goes your test logic

詳細はサンプルのテストファイルtests/test_integration.pyを参照してください。

Java / JUnitとの統合

JavaでLocalStackを使用するために、プロジェクトには単純なJUnitランナーが付属しています。 ext/java JUnitテストの例を見てください。 テストを実行すると、すべての依存関係が自動的にダウンロードされ、システムの一時ディレクトリにインストールされます。

...
import cloud.localstack.LocalstackTestRunner;
import cloud.localstack.TestUtils;

@RunWith(LocalstackTestRunner.class)
public class MyCloudAppTest {

  @Test
  public void testLocalS3API() {
    AmazonS3 s3 = TestUtils.getClientS3()
    List<Bucket> buckets = s3.listBuckets();
    ...
  }

}

さらに、現在のマシンにLocalStackをインストールするのではなく、ドッカーコンテナで動作するLocalStack Test Runnerのバージョンがあります。 唯一の依存関係は、ドッカーをローカルにインストールすることです。 テストランナーは、テストの間、イメージを自動的に引っ張り、コンテナを開始します。 コンテナは@LocalstackDockerPropertiesアノテーションを使用して設定できます。

@RunWith(LocalstackDockerTestRunner.class)
@LocalstackDockerProperties(randomizePorts = true, services = { "sqs", "kinesis:77077" })
public class MyDockerCloudAppTest {

  @Test
  public void testKinesis() {
    AmazonKinesis kinesis = DockerTestUtils.getClientKinesis();

    ListStreamsResult streams = kinesis.listStreams();
    ...

LocalStack JUnitテストランナーは、Maven Centralにアーティファクトとして公開されています。 pom.xmlファイルに次の依存関係を追加するだけです。

<dependency>
    <groupId>cloud.localstack</groupId>
    <artifactId>localstack-utils</artifactId>
    <version>0.1.12</version>
</dependency>

トラブルシューティング

  • KinesisでAWS Javaライブラリを使用している場合、kiosaliteでサポートされていないCBORプロトコルを無効にする方法については、Java SDKガイドのCBORプロトコルの問題を参照してください。

  • JavaからローカルS3へのアクセス:ドメイン名解決の問題を回避するには、クライアントでパス形式のアクセスを有効にする必要があります。

s3.setS3ClientOptions(S3ClientOptions.builder().setPathStyleAccess(true).build());
// There is also an option to do this if you're using any of the client builder classes:
AmazonS3ClientBuilder builder = AmazonS3ClientBuilder.standard();
builder.withPathStyleAccessEnabled(true);
...
  • 一時的な取り付け。 ディレクトリ:Dockerでマウントできないシンボリックリンクが$TMPDIR含まれTMPDIR=/private$TMPDIR docker-compose upいれば、MacOSでTMPDIR=/private$TMPDIR docker-compose upなければならないことに注意してください。 (詳細はこちら: https : //bitbucket.org/atlassian/localstack/issues/40/getting-mounts-failed-on-docker-compose-up

  • Mac OS(例えば、 Permission denied: '/Library/Python/2.7/site-packages/six.py' )の下でpip installでファイルのアクセス許可の問題が発生した場合は、Homebrew経由でpipを再インストールする必要がありますこのディスカッションスレッド )。 代わりに、– --userフラグを付けてインストールしてみてください: pip install --user localstack

  • OpenShift内に展開する場合、Elasticsearchをroot以外のローカルスタックユーザーとして実行できるように、ポッドはrootとして実行する必要があり、実行中のポッドに機能が追加されている必要があります。

  • 環境変数no_proxyLocalStackによって書き換えられます (内部リクエストは、プロキシ設定をバイパスして、ローカルホスト経由で直接送られます)。

現像

LocalStackを拡張/修正するためにrepoをプルする場合は、このコマンドを実行してすべての依存関係をインストールします。

make install

これはローカルのPython virtualenvディレクトリ.venv (あなたのグローバルなpythonパッケージはそのままになります)と./localstack/node_modules/いくつかのノードモジュールに必要なpip依存関係をインストールします。 お使いのシステムによっては、pip / npmモジュールによっては追加のネイティブlibsがインストールされている必要があります。

Makefileには、開発用のローカルインフラストラクチャを便利に実行するためのターゲットが含まれています。

make infra

LocalStackの機能の開発(およびデバッグ)を始める方法について、いくつかの説明が含まれている開発者ガイドを参照してください。

テスト

プロジェクトには、makeターゲットを使用して開始できるユニットテストと統合テストのセットが含まれています。

make test

Webダッシュボード

プロジェクトには、配備されたAWSコンポーネントとそれらの間の関係を表示できるシンプルなWebダッシュボードも付属しています。

localstack web

ログの変更

  • v0.8.5:DDBストリームイベントタイプを修正しました。 CF Fn :: GetAZsを実装します。 DDBイベントの非同期ラムダ。 S3コンテンツタイプを修正する。 SQS用にCFデプロイヤを修正する。 S3 ExposePortsを修正する。 SNSのメッセージ件名を修正する。 Firehoseのサポート – > ES; 外部環境変数をJavaのコンテナに渡します。 list-queue-tagのモックを追加する; ドッカーテストランナーを強化する。 Windowsインストールの問題を修正します。 新しいバージョンのJavaライブラリ
  • v0.8.4: pipenv依存関係の問題を修正しpipenv ドッカーJUnitテストランナー; Java Lambda RequestHandlerのPOJO型。 Java Lambda DynamoDBイベント。 ラムダ呼び出しのためのDockerコンテナの再利用。 APIゲートウェイのワイルドカードパスセグメント。 SNS RawMessageDeliveryを修正
  • v0.8.3:UPDATE操作のDDBストリームイベントを修正しました。 DDBストリームシーケンス番号を修正する。 DDBの転送コードを修正する。 欠落したコンテンツ長ヘッダーを持つ要求を修正する。 DynamoDB項目の非ASCIIコンテンツをサポートします。 SQSキューURLの外部ポートをマップします。 Dockerで実行されている場合はLAMBDA_REMOTE_DOCKER = trueになります。 S3ライフサイクルのサポート。 ドッカーの画像サイズを小さくする
  • v0.8.2:S3バケット通知設定を修正しました。 API GatewayのCORSヘッダー。 修正> 128k S3マルチパートのアップロード。 DynamoDBストリームで有効なShardIDを返します。 ハードコーディングされた “ddblocal” DynamoDB TableARNを修正します。 localstack-clientからデフォルトのサービスポートをインポートします。 S3バケットポリシーの応答を修正する。 ソースがトピックの場合、lambdasを非同期で実行します。
  • v0.8.1:ラムダAPIの改良:publish-version、list-version、function alias; ラムダ関数の詳細を含む単一マップを使用する。 SQS。fifoキューの回避策。 S3アップロードのテストを追加する。 SSMの初期サポート。 正規表現を修正してSQSキューのURLホスト名を置き換えます。 linter(シングルクォート)を更新します。 docker.for.mac.localhostを使ってMacのDockerからdocker.for.mac.localhostに接続してください。 Java Lambdasのb64エンコーディングを修正しました。 moto_serverコマンドの修正パス
  • v0.8.0:GenericProxyHandlerで要求データを修正しGenericProxyHandler $PORT_WEB_UI$HOSTNAME_EXTERNAL設定を追加して$PORT_WEB_UI APIゲートウェイパスパラメータ。 flake8 lintingを有効にします。 サービスバックエンドURLの設定を追加する。 SQSのモトの代わりにElasticMQを使用してください。 $LOCALSTACK_HOSTNAMEます。 ラムダのカスタム環境変数サポート。 Java / JUnitのエラー・ロギングとインストールを改善します。 S3 RESTオブジェクトPOSTのサポートを追加
  • v0.7.5:不完全な並列ダウンロードの問題を修正しました。 内部リクエストの場合はhttp_proxyをバイパスします。 ネイティブPythonコードを使用してアーカイブを解凍します。 テストのためだけに、pipインストールではなくKCLクライアントlibsをダウンロードしてください
  • v0.7.4:CLIとプラグインを有効にする。 S3のユニコード名をサポートします。 ドット文字を含むSQS名を修正する。 DockerコンテナでJavaラムダ関数を実行する。 DynamoDBのエラー処理を修正します。 ドキュメントを更新する
  • v0.7.3:プロキシリスナを(サブ)クラスに抽出する。 javaのlibsを単一の “fat” jarファイルに入れてください。 デーモン化されていないスレッドでの問題を修正する。 フラスコサービスを開始するリファクタリングコード
  • v0.7.2:Dockerで実行中のDATA_DIR設定を修正しました。 Maven依存関係を修正する。 DynamoDB get-itemから ‘ConsumedCapacity’を返します。 S3バケット通知のURLの代わりにキューARNを使用する
  • v0.7.1:S3 APIをGETバケット通知に修正しました。 JavaアーチファクトをMaven Centralにリリースする。 SparkからS3ファイルへのアクセスを修正する。 UpdateTableでDDBストリームを作成する。 AUI依存関係を削除し、Dockerイメージのサイズを最適化する
  • v0.7.0:CloudFormationにおけるKinesisのサポート。 CIでのJavaテストの拡張と統合。 Dockerイメージを新しい名前で公開する。 READMEおよびライセンス契約の更新
  • v0.6.2:インストールプロセスの主要なリファクタリング、依存関係の遅延ロード
  • v0.6.1:CORSヘッダーを追加する。 プラットフォーム互換性の修正(シェルコマンドとshモジュールの削除)。 CloudFormationのvalidate-templateを追加します。 Dockerでラムダの実行を修正する。 ES APIにおける基本的なドメイン処理。 APIゲートウェイ承認者
  • v0.6.0:サービスをプラグインとしてロードする。 サービスのデフォルトポートを修正する。 メッセージ属性のSQS-> SNSとMD5を修正する。 S3のホストヘッダーを修正
  • v0.5.5:すべてのサービスエンドポイント( USE_SSL設定)でSSL暗号化を有効にする。 Dockerベースイメージを作成します。 DATA_DIRの問題を修正
  • v0.5.4:Windows-compatのためにハードコードされた/ tmp /を削除します。 CLIとドキュメントを更新する。 S3 / SNS通知を修正する。 Elasticsearch圧縮を無効にする
  • v0.5.3:サーバーレス/ APIゲートウェイの展開にCloudFormationサポートを追加する。 pypi経由でインストールを修正する。 Javaのマイナーフィックス(環境変数の受け渡し)
  • v0.5.0:DynamoDB Streams APIを拡張する。 S3のキープアライブ接続を修正する。 入れ子にされたラムダの実行でデッドロックを修正する。 統合SNS->ラムダを追加します。 CloudFormationサーバーレスの例。 dynaliteをDynamoDBLocalに置き換えます。 リモートDockerコンテナでのラムダ実行をサポートします。 ラムダ呼び出しエラーのCloudWatchメトリックを修正
  • v0.4.3:CloudWatchメトリックの初期サポート(ラムダ関数用)。 APIゲートウェイのHTTP転送。 S3メッセージ本文の署名を修正する。 S3バケットからLambdaアーカイブをダウンロードする。 ESテストの修正/拡張
  • v0.4.2:Javaラムダ関数の初期サポート。 CloudFormationの導入 APIゲートウェイテスト
  • v0.4.1:Python 3との互換性。 データの持続性。 seqを追加します。 キネシスイベントの数字。 限界弾性検索メモリ
  • v0.4.0:Dockerコンテナでラムダ関数を実行します。 S3向けのCORSヘッダー
  • v0.3.11:Route53、SES、CloudFormationを追加します。 DynamoDBの障害インジェクション。 UIの微調整。 リファクタリングの設定
  • v0.3.10:S3バケット通知の初期サポートを追加する。 サブプロセス32のインストールを修正する
  • v0.3.9:サービス/ポートを$ SERVICES経由で設定可能にする。 Firehose + S3のテストを追加する
  • v0.3.8:ローカルバインドとプロキシ経由でElasticsearchを修正しました。 リファクタリング。 エラーログを改善する
  • v0.3.5:ラムダハンドラ名を修正しました。 S3 APIのホスト名を修正する。 pipインストール時にWebライブラリをインストールする
  • v0.3.4:ビルドでのファイルのアクセス許可を修正しました。 Dockerイメージを修正してUIを追加する。 ES APIのスタブを追加する
  • v0.3.3:バージョンタグをDockerイメージに追加する
  • v0.3.2:Redshift APIのサポートを追加。 コードリファクタリング
  • v0.3.1:Dockerファイルを追加してDocker Hubに画像をプッシュする
  • v0.3.0:JUnitのシンプルな統合を追加。 プロセス信号処理を改善する
  • v0.2.11:AWS仮定役割関数をリファクタリング
  • v0.2.10:AWSが役割の機能を担うことを追加しました。
  • v0.2.9:Kinesisエラーレスポンスの書式設定
  • v0.2.7:キネシスのエラーをランダムに投げる
  • v0.2.6:SNS / SQSのデカップリング:SNSコールを傍受し、サブスクライブされたSQSキューに転送する
  • v0.2.5:フラグが設定されている場合、Kinesisからのエラー応答を返す
  • v0.2.4:Lambdaにファイルの使用を許可する(execの代わりにファイルからインポートする)
  • v0.2.3:Kinesis / KCLの自動チェックポイント機能の改善(DDBでのリース)
  • v0.2.0:遅延読み込みライブラリによるインストール時間の短縮
  • v0.1.19:KCLプロセスから送られたレコードにshard_idを渡す
  • v0.1.16:マイナーリストラクチャリングとリファクタリング(個別のkinesis_util.pyを作成)
  • v0.1.14:Elasticsearchクライアントの作成時にAWSトークンを修正する
  • v0.1.11:KCLプロセスの起動/初期化通知を追加する
  • v0.1.10:amazon_kclpyのバンプバージョンを1.4.1に変更
  • v0.1.9:SQS / SNSの初期サポートを追加する
  • v0.1.8:localstackが一時的にインストールされている場合、amazon_kclpyにJARのインストールを修正しました。
  • v0.1.7:amazon_kclpyのバージョンを1.4.0にバンプする
  • v0.1.6:travis-ciとcoveralls構成を追加する
  • v0.1.5:リファクタリング・エラスティック・サーチ・ユーティリティ すべてのESインデックスを削除するメソッドのバグを修正
  • v0.1.4:ロギングを強化する。 java KCL資格プロバイダを拡張する(STSの想定される役割をサポートする)
  • v0.1.2:設定可能なKCLログ出力を追加する
  • v0.1.0:初回リリース

貢献する

フィードバック、バグレポート、プルリクエストを歓迎します!

プルリクエストについては、次のガイドラインに従ってください。

  • 新しい機能やバグ修正のためのテストを追加します。 理想的には、各PRはテストカバレッジを増加させるべきです。
  • 既存のコードスタイル(インデントなど)に従います。 PEP8コードのlintingターゲットがMakefileに含まれています。
  • 合理的な量のコメントをコードに入れます。
  • 無関係な変更を複数のプル要求に分けます。
  • 1 PRあたり1コミット:複数のコミットを1回のコミットにスカッシュ/リベースしてください(履歴をきれいに保つため)。

このリポジトリにコードまたはドキュメントを寄稿することにより(プルリクエストを行うなどして)、 コントリビュータライセンス契約に明示的に同意することに注意してください。

貢献者

このプロジェクトは、貢献するすべての人々のおかげで行われます。

バッカー

私たちの後援者に感謝します! 🙏 [ 後ろになる ]

スポンサー

スポンサーになることでこのプロジェクトをサポートしてください。 ロゴがあなたのウェブサイトへのリンクとともにここに表示されます。 [ スポンサーになる ]

ライセンス

Copyright(c)2017 LocalStackのメンテナーと寄稿者。

Copyright(c)2016 Atlassian and others。

このバージョンのLocalStackは、Apache License、Version 2.0(LICENSE.txtを参照)の下でリリースされています。 このソフトウェアをダウンロードして使用することにより、 エンドユーザー使用許諾契約書(EULA)に同意するものとします

私たちは、以下のライセンスを持ついくつかのサードパーティソフトウェアツールを構築しています。

サードパーティのソフトウェア ライセンス
Python / pipモジュール:
対気速度 BSDライセンス
amazon_kclpy Amazonソフトウェアライセンス
boto3 Apache License 2.0
カバレッジ Apache License 2.0
docopt MITライセンス
弾性サーチ Apache License 2.0
フラスコ BSDライセンス
フラスコ_swagger MITライセンス
jsonpath-rw Apache License 2.0
モト Apache License 2.0
GNU LGPL
pep8 Expatライセンス
リクエスト Apache License 2.0
サブプロセス32 PSFライセンス
Node.js / npmモジュール:
キネサライト MITライセンス
その他のツール:
弾性検索 Apache License 2.0







-localstack
-

執筆者: