AWS Mobile Hub 開発者ガイド
開発者ガイド

AWS Mobile CLI リファレンス

重要

次のコンテンツは、既に AWS Mobile CLI を使用してバックエンドを設定している場合に適用されます。新しいモバイルアプリまたはウェブアプリを構築している場合や、既存のアプリにクラウド機能を追加する場合は、代わりに新しい AWS Amplify CLI を使用します。新しい Amplify CLI では、追加のワークフローを提供する AWS CloudFormation 機能など、「AWS Amplify の CLI ツールチェーンを発表」で説明されているすべての機能を使用できます。

AWS Mobile CLI は、フロントエンドの JavaScript 開発者が、AWS のサービスをシームレスに有効にしてアプリケーションに組み込むためのコマンドラインインタフェースを提供します。最小限の設定で、使い慣れたターミナルプログラムから、AWS Mobile Hub で提供されるすべての機能の使用を開始できます。

インストールと使用

本セクションは、JavaScript 用の awsmobile CLI の使用方法と、中核となるコマンドについて説明します。

AWS Mobile CLI をインストールする

  1. AWS 無料利用枠にサインアップします

  2. NPM で Node.js をインストールします。

  3. AWS Mobile CLI をインストールする

    npm install -g awsmobile-cli
  4. AWS 認証情報で CLI を設定します。

    AWS Mobile CLI のインストール

    awsmobile configure

    認証情報を求められたら、CLI が提供するステップに従います。詳細については、「AWS Mobile CLI に IAM 認証情報を提供する」を参照してください。

使用

AWS Mobile CLI の使用方法は、業界スタンダードの他のコマンドラインインターフェイスと似た設計になっています。

awsmobile <command> [options]

help および version オプションはすべてのコマンドに共通しています。その他の一部のコマンドの特別オプションの詳細については、関連するセクションを参照してください。

-V, --version output the version number -h, --help output usage information

(例:

awsmobile -help or awsmobile init --help

CLI コマンドの概要

awsmobile CLI でサポートされている現在のコマンドセットを以下に示します。

awsmobile init

新しい Mobile Hub プロジェクトを初期化し、IAM キーをチェックして aws-exports.js ファイルを引き出します

awsmobile configure

既存のキーを表示し、設定済みの場合は変更できるようにします。キーが設定されていない場合は、ユーザーを IAM コンソールにディープリンクさせてキーを作成し、アクセスキーおよびシークレットキーの入力を要求します。このコマンドは、AWS アカウントまたはプロジェクトの設定の編集に役立ちます。

awsmobile pull

Mobile Hub プロジェクトから最新の aws-exports.js、YAML やその他の関連するプロジェクトの詳細をダウンロードします

awsmobile push

ローカルメタデータ、Lambda コード、DynamoDB 定義やその他の関連するプロジェクトの詳細を Mobile Hub にアップロードします

awsmobile publish

awsmobile push を実行して、クライアント側のアプリケーションをビルドして、S3 および Cloud Front に公開します

awsmobile run

awsmobile push を実行してから、プロジェクトの開始コマンドを実行してクライアント側のアプリケーションのテストランを行います

awsmobile console

デフォルトのブラウザで awsmobile Mobile Hub プロジェクトのウェブコンソールを開きます

awsmobile features

利用可能および有効な機能を表示します。機能の選択または選択解除を切り替えます。

awsmobile <feature-name> enable [--prompt]

機能をデフォルト設定で有効にします (変更のプロンプトも表示します)

awsmobile <feature-name> disable

機能を無効にします

awsmobile <feature-name> configure

add-table、add-api などの機能固有のサブコマンドが含まれます。

awsmobile cloud-api invoke <apiname> <method> <path> [init]

ローカルテスト用の API を呼び出します。これは、署名されていない API をローカル環境で迅速にテストするのに役立ちます。

awsmobile delete

Mobile Hub プロジェクトを削除します。

awsmobile help [cmd]

[cmd] のヘルプを表示します。

init

awsmobile init コマンドは、新しい Mobile Hub プロジェクトを初期化し、IAM キーをチェックして aws-exports.js ファイルを引き出します。

awsmobile init コマンドの使用方法は 2 つあります。

  1. awsmobilejs 機能を使用した現在のプロジェクトの初期化

    awsmobile init

    プロンプトが表示されたら、これらのプロジェクトの設定を行います。

    Please tell us about your project: ? Where is your project's source directory: src ? Where is your project's distribution directory that stores build artifacts: build ? What is your project's build command: npm run-script build ? What is your project's start command for local test run: npm run-script start ? What awsmobile project name would you like to use: my-mobile-project

    ソースディレクトリは、最新の aws-exports.js をフロントエンドコードで簡単に使用できるよう AWS Mobile CLI がコピーする場所です。このファイルは、機能が追加または削除されるたびに自動的に更新されます。間違っている、または使用不可能なフォルダを指定すると、ファイルはコピーされません。

    ディストリビューションディレクトリは、基本的にプロジェクトの build ディレクトリです。これは、awsmobile publish プロセス中に使用されます。

    プロジェクトのビルド値と開始値は、それぞれ awsmobile publish および awsmobile run コマンド中で使用されます。

    awsmobile プロジェクト名は、Mobile Hub で作成されたバックエンドプロジェクトの名前です。

    awsmobile configure project コマンドを使用してプロジェクトに関する設定を変更できます。

  2. 既存の awsmobile プロジェクトをバックエンドとして初期化してリンクする

    awsmobile init <awsmobile-project-id>

    awsmobile-project-id は、Mobile Hub の既存バックエンドプロジェクトの ID です。このコマンドは、既存のバックエンドプロジェクトをアプリケーションにアタッチするのに役立ちます。

  3. アタッチされた awsmobile プロジェクトをバックエンドから削除します。

    awsmobile init --remove

    このコマンドは、アプリケーションに関連付けられているアタッチされたバックエンドプロジェクトを削除して、関連ファイルを整理します。バックエンドプロジェクト自体が削除される以外には、アプリケーションは変更されません。

多くのパッケージは、

awsmobile configure は、既存のキーを表示し、設定済みの場合は変更できるようにします。キーが設定されていない場合は、ユーザーを IAM コンソールにディープリンクさせてキーを作成し、アクセスキーおよびシークレットキーの入力を要求します。このコマンドには、2 つの利用可能な使用方法があります。選択された引数に基づいて、このコマンドを使用して AWS アカウント設定またはプロジェクト設定を指定、または変更できます。

awsmobile configure [aws|project]
  1. aws 引数を使用して AWS アカウント設定を行います。これがこのコマンドのデフォルト引数です

    awsmobile configure or awsmobile configure aws

    以下のように AWS アカウントの認証情報を設定する質問が表示されます

    configure aws ? accessKeyId: <ACCESS-KEY-ID> ? secretAccessKey: <SECRET-ACCESS-KEY> ? region: <SELECT-REGION-FROM-THE-LIST>
  2. project 引数を使用してプロジェクト設定を行います

    awsmobile configure project

    以下のように、プロジェクトを設定するための詳しい質問が表示されます

    ? Where is your project's source directory: src ? Where is your project's distribution directory to store build artifacts: dist ? What is your project's build command: npm run-script build ? What is your project's start command for local test run: npm run-script start
  3. --list オプションを使用して AWS 認証情報を取得して表示します

    awsmobile configure --list

pull

awsmobile pull コマンドは、aws-exports.js、YAML および関連するクラウド/バックエンドアーティファクトを Mobile Hub プロジェクトからローカルの開発環境にダウンロードします。Mobile Hub でプロジェクトを変更し、最新のものをローカル環境に取得する場合にこのコマンドを使用します。

awsmobile pull

push

awsmobile push は、ローカルメタデータ、Lambda コード、Dynamo 定義およびその他の関連するアーティファクトを Mobile Hub にアップロードします。ローカル環境で機能の有効化、無効化または設定を行い、関連する更新を使用して Mobile Hub のバックエンドプロジェクトを更新する場合に、このコマンドを使用します。

awsmobile push

awsmobile pushawsmobile featuresawsmobile <feature> enable または awsmobile <feature> disable を使用した後、awsmobile <feature> configure を使用してバックエンドプロジェクトを適切に更新します。これは、それぞれの変更が加えられる毎に、またはすべての変更がローカルで加えられた後に使用できます。

publish

awsmobile publish コマンドは、まず awsmobile push コマンドを実行してから、Amazon S3 ホスティングバケットにクライアント側コードをビルドして公開します。このコマンドは、ホスティングのためにクライアントアプリケーションを S3 バケットに公開してから、ブラウザを開いてインデックスページを表示します。タイムスタンプを確認して、デプロイの前に必要に応じて自動的にアプリケーションをビルドします。クライアントがバックエンドプロジェクト機能におけるホスティングを選択したかどうか確認し、そうでない場合は、ホスティング機能を使用してバックエンドを更新するようクライアントに要求します。

awsmobile publish

publish コマンドには、使用可能な多数のオプションがあります。

  1. Cloud Front ディストリビューションを更新する

    awsmobile publish -c or awsmobile publish --cloud-front
  2. AWS Device Farm でアプリケーションをテストする

    awsmobile publish -t or awsmobile publish --test
  3. AWS Device Farm でテストを非表示にする

    awsmobile publish -n
  4. バックエンドを更新せずにフロントエンドのみを公開する

    awsmobile publish -f or awsmobile publish --frontend-only

run

awsmobile run コマンドは最初に awsmobile push を実行してから、プロジェクト設定で設定した開始コマンド (npm run startnpm run ios など) を実行します。これは、クラウドにプッシュされた最新のバックエンド開発を使用して、ローカルでのアプリケーションの実行を簡単にテストするために使用できます。

awsmobile run

コンソール

awsmobile console コマンドはデフォルトのブラウザで awsmobile Mobile Hub プロジェクトのウェブコンソールを開きます

awsmobile console

features

awsmobile features コマンドはすべての利用可能な awsmobile 機能を表示し、それぞれローカルに有効または無効にすることができます。上下にスクロールするには矢印キーを使用します。各機能を有効または無効にするには、スペースキーを使用します。変更はローカルでのみ行われることに注意してください。awsmobile プロジェクトをクラウド上で更新するには、awsmobile push を実行します。

awsmobile features

AWS Mobile CLI でサポートされている機能は次のとおりです。

  • user-signin (Amazon Cognito)

  • user-files (Amazon S3)

  • cloud-api (Lambda/API Gateway)

  • database (DynamoDB)

  • analytics (Amazon Pinpoint)

  • hosting (Amazon S3 および CloudFront)

? select features: (Press <space> to select, <a> to toggle all, <i> to inverse selection) ❯◯ user-signin ◯ user-files ◯ cloud-api ◯ database ◉ analytics ◉ hosting

機能を無効にするときは注意が必要です。機能を無効にすると、すべての関連オブジェクト (API、Lambda 関数、テーブルなど) が削除されます。機能を再度有効にしても、これらのアーティファクトをローカルで復元することはできません。

awsmobile push の使用後に、awsmobile <feature> disable を使用して、AWS Mobile Hub プロジェクトのバックエンドプロジェクトの選択した機能を更新します。

有効化

awsmobile <feature> enable により、指定された機能をデフォルトの設定で使用できるようになります。変更はローカルでのみ行われることに注意してください。AWS Mobile プロジェクトをクラウド上で更新するには、awsmobile push を実行します。

awsmobile <feature> enable

AWS Mobile CLI でサポートされている機能は次のとおりです。

  • user-signin (Amazon Cognito)

  • user-files (Amazon S3)

  • cloud-api (Lambda/API Gateway)

  • database (DynamoDB)

  • analytics (Amazon Pinpoint)

  • hosting (Amazon S3 および CloudFront)

awsmobile <feature> enable --prompt サブコマンドを使用すると、ユーザーはデフォルト設定を使用する代わりに、有効にする Mobile Hub 機能の詳細を指定できるようになります。ユーザーは、質問のリストに答えて機能を詳細に指定するよう求められます。

awsmobile <feature> enable -- prompt

user-signin 機能を有効にすると、有効にする方法の変更、詳細設定の指定、またはプロジェクトへのサインイン機能を無効にするかどうかの確認が求められます。使用するオプションの選択によっては、さらに多くの質問のプロンプトが表示されます。

awsmobile user-signin enable --prompt ? Sign-in is currently disabled, what do you want to do next (Use arrow keys) ❯ Enable sign-in with default settings Go to advance settings

user-files オプションを使用して --prompt 機能を有効にすると、ユーザーファイルに S3 の使用を確認するプロンプトが表示されます。

awsmobile user-files enable --prompt ? This feature is for storing user files in the cloud, would you like to enable it? Yes

cloud-api を使用して --prompt 機能を有効にすると、プロジェクトに関連した API を作成、削除または編集するためのプロンプトが表示されます。使用するオプションの選択によっては、さらに多くの質問のプロンプトが表示されます。

awsmobile cloud-api enable --prompt ? Select from one of the choices below. (Use arrow keys) ❯ Create a new API

database を使用して --prompt 機能を有効にすると、プロジェクトに関連したデータベーステーブルの詳細を指定する最初の質問のプロンプトが表示されます。使用するオプションの選択によっては、さらに多くの質問のプロンプトが表示されます。

awsmobile database enable --prompt ? Should the data of this table be open or restricted by user? (Use arrow keys) ❯ Open Restricted

analytics を使用して --prompt 機能を有効にすると、Pinpoint 分析の使用を確認するプロンプトが表示されます。

awsmobile analytics enable --prompt ? Do you want to enable Amazon Pinpoint analytics? (y/N)

hosting を使用して --prompt を有効にすると、CloudFront ディストリビューションのホスティングとストリーミングを確認するプロンプトが表示されます。

awsmobile hosting enable --prompt ? Do you want to host your web app including a global CDN? (y/N)

awsmobile <feature> enable の使用後に awsmobile push を実行して、クラウド上の awsmobile プロジェクトを更新します。

無効化

awsmobile <feature> disable は、バックエンドプロジェクトの機能を無効にします。機能を無効にするときは注意が必要です。機能を無効にすると、すべての関連オブジェクト (API、Lambda 関数、テーブルなど) が削除されます。機能を再度有効にしても、これらのアーティファクトをローカルで復元することはできません。

awsmobile <feature> disable

AWS Mobile CLI でサポートされている機能は次のとおりです。

  • user-signin (Amazon Cognito)

  • user-files (Amazon S3)

  • cloud-api (Lambda/API Gateway)

  • database (DynamoDB)

  • analytics (Amazon Pinpoint)

  • hosting `

awsmobile push の使用後に、awsmobile <feature> disable を使用して、AWS Mobile Hub プロジェクトのバックエンドプロジェクトの無効化された機能を更新します。

多くのパッケージは、

awsmobile <feature> configure は、選択された機能のオブジェクトを設定します。設定には、特定のアーティファクトの追加、削除または更新が含まれます。このコマンドは、特定の機能が既に有効になっている場合にのみ使用できます。

awsmobile <feature> configure

AWS Mobile CLI でサポートされている機能は次のとおりです。

  • user-signin (Amazon Cognito)

  • user-files (Amazon S3)

  • cloud-api (Lambda/API Gateway)

  • database (DynamoDB)

  • analytics (Amazon Pinpoint)

  • hosting (Amazon S3 および CloudFront)

user-signin 機能を設定すると、有効にする方法の変更、詳細設定の指定、またはプロジェクトへのサインイン機能を無効にするかどうかの確認が求められます。使用するオプションの選択によっては、さらに多くの質問のプロンプトが表示されます。

awsmobile user-signin configure ? Sign-in is currently enabled, what do you want to do next (Use arrow keys) ❯ Configure Sign-in to be required (Currently set to optional) Go to advance settings Disable sign-in

user-files 機能を設定すると、ユーザーファイルに S3 の使用を確認するプロンプトが表示されます。

awsmobile user-files configure ? This feature is for storing user files in the cloud, would you like to enable it? (Y/n)

cloud-api 機能を設定すると、プロジェクトに関連した API を作成、削除または編集するためのプロンプトが表示されます。使用するオプションの選択によっては、さらに多くの質問のプロンプトが表示されます。

awsmobile cloud-api configure ? Select from one of the choices below. (Use arrow keys) ❯ Create a new API Remove an API from the project Edit an API from the project

database 機能を設定すると、プロジェクトに関連したテーブルを作成、削除または編集するためのプロンプトが表示されます。使用するオプションの選択によっては、さらに多くの質問のプロンプトが表示されます。

awsmobile database configure ? Select from one of the choices below. (Use arrow keys) ❯ Create a new table Remove table from the project Edit table from the project

analytics 機能を設定すると、Pinpoint 分析の使用を確認するプロンプトが表示されます。

awsmobile analytics configure ? Do you want to enable Amazon Pinpoint analytics? Yes

hosting 機能を設定すると、CloudFront ディストリビューションのホスティングとストリーミングを確認するプロンプトが表示されます。

awsmobile hosting configure ? Do you want to host your web app including a global CDN? Yes

awsmobile push の使用後に、awsmobile <feature> configure を使用して、AWS Mobile Hub プロジェクトのバックエンドプロジェクトの設定した機能を更新します。

invoke

awsmobile cloud-api invoke は、ローカルテスト用の API を呼び出します。これは、適切な引数を渡すことで、署名されていない API をローカルで迅速にテストするのに役立ちます。これは、API/Lambda 関数の開発環境やデバッグに使用されます。

awsmobile cloud-api invoke <apiname> <method> <path> [init]

たとえば sampleCloudApi post メソッドを以下のように呼び出すことができます

awsmobile cloud-api invoke sampleCloudApi post /items '{"body":{"test-key":"test-value"}}'

上記のテストで返される値は以下のようになります

{ success: 'post call succeed!', url: '/items', body: { 'test-key': 'test-value' } }

同様に、sampleCloudApi get メソッドを以下のように呼び出すことができます

awsmobile cloud-api invoke sampleCloudApi get /items

上記のテストで返される値は以下のようになります

{ success: 'get call succeed!', url: '/items' }

delete

awsmobile delete コマンドを使用すると、クラウド上の Mobile Hub プロジェクトが削除されます。このコマンドの実行を確定した場合、チームの作業に変更取り消し不能な影響をもたらすため、特に注意が必要です。このコマンドが実行されると、Mobile Hub プロジェクトは削除され、復旧が不可能になります。

awsmobile delete

help

awsmobile help コマンドをスタンドアロンのコマンドとして使用することもできますし、またはヘルプが必要なコマンド名を引数として渡すこともできます。これにより、そのコマンドで使用できるすべてのオプションを含む、そのコマンドの使用方法の情報が提供されます。

例:

awsmobile help or awsmobile help init

このページの先頭で説明されている --help オプションおよび awsmobile help コマンドは、同じ詳細レベルを提供します。違いは使用方法にあります。