設定可能なパラメータ
GraphQL Transformロジックの大部分の動作は、GraphQL SDL定義のディレクティブに引数を渡すことで設定されます。しかし、CloudFormationテンプレート自体にパラメータを渡すことで設定される他のものがあります。これにより、SDL定義に実装の詳細を多くリークさせることなく、エスケープハッチを提供します。AmplifyプロジェクトのAPIディレクトリのparameters.jsonファイルにこれらのパラメータを追加することで、値を渡すことができます。
AppSyncApiName
生成されたAppSync APIの名前をオーバーライドします
{ "AppSyncApiName": "AppSyncAPI"}CreateAPIKey
CreateAPIKeyは1または0の値を取ります。
これにより、APIキー有効期限の処理など、シナリオにおいてAPIキーをローテーションするメカニズムを提供します。
APIキーをローテーションする必要がある場合は、これら2つのステップに従います
amplify/backend/api/<apiName>/parameters.jsonファイルでCreateAPIKeyを0に設定し、amplify pushを実行することで、既存のAPIキーを削除します。amplify/backend/api/<apiName>/parameters.jsonファイルでCreateAPIKeyを1に設定し、amplify pushを実行することで、新しいAPIキーを作成します。
既存のAPIキーを削除します
{ "CreateAPIKey": 0}新しいAPIキーを作成します
{ "CreateAPIKey": 1}APIKeyExpirationEpoch
APIキーを次のamplify pushから1週間後に有効期限切れにリセットします
{ "APIKeyExpirationEpoch": 0}APIキーを作成しません
{ "APIKeyExpirationEpoch": -1}カスタムAPIキー有効期限日を設定します
{ "APIKeyExpirationEpoch": 1544745428}指定された値は、Epoch以降の秒単位の有効期限日です
DynamoDBBillingMode
APIのDynamoDBの請求モードを設定します。"PROVISIONED"または"PAY_PER_REQUEST"のいずれかです。
{ "DynamoDBBillingMode": "PAY_PER_REQUEST"}DynamoDBModelTableReadIOPS
各@modelテーブルにプロビジョニングされたデフォルトの読み取りIOPSをオーバーライドします
"DynamoDBBillingMode"が"PROVISIONED"に設定されている場合のみ有効です
{ "DynamoDBModelTableReadIOPS": 5}DynamoDBModelTableWriteIOPS
各@modelテーブルにプロビジョニングされたデフォルトの書き込みIOPSをオーバーライドします
"DynamoDBBillingMode"が"PROVISIONED"に設定されている場合のみ有効です
{ "DynamoDBModelTableWriteIOPS": 5}DynamoDBEnablePointInTimeRecovery
すべてのモデルテーブルに対してDynamoDBポイントインタイムリカバリを有効/無効にします
詳細については、https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/PointInTimeRecovery.htmlを参照してください
{ "DynamoDBEnablePointInTimeRecovery": true}ElasticSearchStreamingFunctionName
AWS Lambda検索可能ストリーミング関数の名前をオーバーライドします
{ "ElasticSearchStreamingFunctionName": "CustomFunctionName"}ElasticSearchInstanceCount
@searchableで作成されたOpenSearchドメインに起動されたインスタンスの数をオーバーライドします
{ "ElasticSearchInstanceCount": 1}ElasticSearchInstanceType
@searchableで作成されたOpenSearchドメインに起動されたインスタンスのタイプをオーバーライドします
{ "ElasticSearchInstanceType": "t2.small.elasticsearch"}ElasticSearchEBSVolumeGB
@searchableで作成されたOpenSearchドメイン内の各インスタンスに割り当てられたディスク容量をオーバーライドします
{ "ElasticSearchEBSVolumeGB": 10}ElasticSearchStreamingLambdaRuntime
DynamoDBからOpenSearchにデータをストリーミングするために使用されるストリーミングラムダ関数のランタイムをオーバーライドします
{ "ElasticSearchStreamingLambdaRuntime": "python3.9"}非推奨のランタイムがある場合、インストール済みのAmplify CLIをアップグレードできない場合は、これを使用する場合があります
注:@authディレクティブを使用するには、APIはAmazon Cognitoユーザープールを使用するように設定する必要があります。
type Task @model @auth( rules: [ { allow: groups groups: ["Managers"] operations: [create, update, delete] } { allow: groups, groups: ["Employees"], operations: [read, list] } ] ) { id: ID! title: String! description: String status: String}type PrivateNote @model @auth(rules: [{ allow: owner }]) { id: ID! content: String!}