我想通过aws java sdk设置AWS API Gateway Rest Api Stage日志记录设置(请参见下面的屏幕截图)。现在,我通过CreateDeploymentRequest创建部署,该部署未公开任何此类配置。关于CreateStageRequest也可以这样说。 UpdateStageRequest似乎提供了一种更新阶段配置的通用方法,但这是否允许设置访问日志/错误日志设置,如果可以的话,我应该使用哪些路径进行设置?
UPD:
阅读aws cli帮助(aws apigateway update-stage help
,请参阅下文)后,我可以使用以下路径更新CloudWatch设置:
/*/*/logging/loglevel
的日志级别/*/*/logging/dataTrace
启用日志记录完整的请求/响应数据/*/*/metrics/enabled
启用“详细CloudWatch指标” 如何启用自定义访问日志?
UPDATE-STAGE() UPDATE-STAGE()
NAME
update-stage -
DESCRIPTION
Changes information about a Stage resource.
See also: AWS API Documentation
See 'aws help' for descriptions of global parameters.
SYNOPSIS
update-stage
--rest-api-id <value>
--stage-name <value>
[--patch-operations <value>]
[--cli-input-json <value>]
[--generate-cli-skeleton <value>]
OPTIONS
--rest-api-id (string)
[Required] The string identifier of the associated RestApi .
--stage-name (string)
[Required] The name of the Stage resource to change information
about.
--patch-operations (list)
A list of update operations to be applied to the specified resource
and in the order specified in this list.
Shorthand Syntax:
op=string,path=string,value=string,from=string ...
JSON Syntax:
[
{
"op": "add"|"remove"|"replace"|"move"|"copy"|"test",
"path": "string",
"value": "string",
"from": "string"
}
...
]
--cli-input-json (string) Performs service operation based on the JSON
string provided. The JSON string follows the format provided by --gen-
erate-cli-skeleton. If other arguments are provided on the command
line, the CLI values will override the JSON-provided values. It is not
possible to pass arbitrary binary values using a JSON-provided value as
the string will be taken literally.
--generate-cli-skeleton (string) Prints a JSON skeleton to standard
output without sending an API request. If provided with no value or the
value input, prints a sample input JSON that can be used as an argument
for --cli-input-json. If provided with the value output, it validates
the command inputs and returns a sample output JSON for that command.
See 'aws help' for descriptions of global parameters.
EXAMPLES
To override the stage settings and disable full request/response log-
ging for a specific resource and method in an API's stage
Command:
aws apigateway update-stage --rest-api-id 1234123412 --stage-name 'dev' --patch-operations op=replace,path=/~1resourceName/GET/logging/dataTrace,value=false
To enable full request/response logging for all resources/methods in an
API's stage
Command:
aws apigateway update-stage --rest-api-id 1234123412 --stage-name 'dev' --patch-operations op=replace,path=/*/*/logging/dataTrace,value=true
OUTPUT
deploymentId -> (string)
The identifier of the Deployment that the stage points to.
clientCertificateId -> (string)
The identifier of a client certificate for an API stage.
stageName -> (string)
The name of the stage is the first path segment in the Uniform
Resource Identifier (URI) of a call to API Gateway.
description -> (string)
The stage's description.
cacheClusterEnabled -> (boolean)
Specifies whether a cache cluster is enabled for the stage.
cacheClusterSize -> (string)
The size of the cache cluster for the stage, if enabled.
cacheClusterStatus -> (string)
The status of the cache cluster for the stage, if enabled.
methodSettings -> (map)
A map that defines the method settings for a Stage resource. Keys
(designated as /{method_setting_key below) are method paths defined
as {resource_path}/{http_method} for an individual method override,
or /\*/\* for overriding all methods in the stage.
key -> (string)
value -> (structure)
Specifies the method setting properties.
metricsEnabled -> (boolean)
Specifies whether Amazon CloudWatch metrics are enabled for
this method. The PATCH path for this setting is /{method_set-
ting_key}/metrics/enabled , and the value is a Boolean.
loggingLevel -> (string)
Specifies the logging level for this method, which affects
the log entries pushed to Amazon CloudWatch Logs. The PATCH
path for this setting is /{method_setting_key}/log-
ging/loglevel , and the available levels are OFF , ERROR ,
and INFO .
dataTraceEnabled -> (boolean)
Specifies whether data trace logging is enabled for this
method, which affects the log entries pushed to Amazon Cloud-
Watch Logs. The PATCH path for this setting is /{method_set-
ting_key}/logging/dataTrace , and the value is a Boolean.
throttlingBurstLimit -> (integer)
Specifies the throttling burst limit. The PATCH path for this
setting is /{method_setting_key}/throttling/burstLimit , and
the value is an integer.
throttlingRateLimit -> (double)
Specifies the throttling rate limit. The PATCH path for this
setting is /{method_setting_key}/throttling/rateLimit , and
the value is a double.
cachingEnabled -> (boolean)
Specifies whether responses should be cached and returned for
requests. A cache cluster must be enabled on the stage for
responses to be cached. The PATCH path for this setting is
/{method_setting_key}/caching/enabled , and the value is a
Boolean.
cacheTtlInSeconds -> (integer)
Specifies the time to live (TTL), in seconds, for cached
responses. The higher the TTL, the longer the response will
be cached. The PATCH path for this setting is /{method_set-
ting_key}/caching/ttlInSeconds , and the value is an integer.
cacheDataEncrypted -> (boolean)
Specifies whether the cached responses are encrypted. The
PATCH path for this setting is /{method_set-
ting_key}/caching/dataEncrypted , and the value is a Boolean.
requireAuthorizationForCacheControl -> (boolean)
Specifies whether authorization is required for a cache
invalidation request. The PATCH path for this setting is
/{method_setting_key}/caching/requireAuthorizationFor-
CacheControl , and the value is a Boolean.
unauthorizedCacheControlHeaderStrategy -> (string)
Specifies how to handle unauthorized requests for cache
invalidation. The PATCH path for this setting is
/{method_setting_key}/caching/unauthorizedCacheControlHeader-
Strategy , and the available values are FAIL_WITH_403 , SUC-
CEED_WITH_RESPONSE_HEADER , SUCCEED_WITHOUT_RESPONSE_HEADER .
variables -> (map)
A map that defines the stage variables for a Stage resource. Vari-
able names can have alphanumeric and underscore characters, and the
values must match [A-Za-z0-9-._~:/?#=,]+ .
key -> (string)
value -> (string)
documentationVersion -> (string)
The version of the associated API documentation.
accessLogSettings -> (structure)
Settings for logging access in this stage.
format -> (string)
A single line format of the access logs of data, as specified by
selected $context variables . The format must include at least
$context.requestId .
destinationArn -> (string)
The ARN of the CloudWatch Logs log group to receive access logs.
canarySettings -> (structure)
Settings for the canary deployment in this stage.
percentTraffic -> (double)
The percent (0-100) of traffic diverted to a canary deployment.
deploymentId -> (string)
The ID of the canary deployment.
stageVariableOverrides -> (map)
Stage variables overridden for a canary release deployment,
including new stage variables introduced in the canary. These
stage variables are represented as a string-to-string map
between stage variable names and their values.
key -> (string)
value -> (string)
useStageCache -> (boolean)
A Boolean flag to indicate whether the canary deployment uses
the stage cache or not.
tracingEnabled -> (boolean)
Specifies whether active tracing with X-ray is enabled for the
Stage .
webAclArn -> (string)
The ARN of the WebAcl associated with the Stage .
tags -> (map)
The collection of tags. Each tag element is associated with a given
resource.
key -> (string)
value -> (string)
createdDate -> (timestamp)
The timestamp when the stage was created.
lastUpdatedDate -> (timestamp)
The timestamp when the stage last updated.
UPDATE-STAGE()
答案 0 :(得分:1)
您可以通过在更新阶段进行设置来配置自定义访问日志记录
accessLogSettings->(结构) 此阶段用于记录访问权限的设置。
format -> (string)
A single line format of the access logs of data, as specified by
selected $context variables . The format must include at least
$context.requestId .
destinationArn -> (string)
The ARN of the CloudWatch Logs log group to receive access logs.