Skip to content
This repository was archived by the owner on Aug 7, 2025. It is now read-only.

Commit f21eea9

Browse files
committed
update S3 and APIGW changes
1 parent d9c2d82 commit f21eea9

File tree

2 files changed

+25
-17
lines changed

2 files changed

+25
-17
lines changed

content/en/references/configuration.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ This section covers configuration options that are specific to certain AWS servi
7575

7676
| Variable | Example Values | Description |
7777
| - | - | - |
78-
| `PROVIDER_OVERRIDE_APIGATEWAY` | `next_gen` | Use [the new API Gateway implementation]({{< ref "user-guide/aws/apigateway#new-api-gateway-implementation" >}}) for both API Gateway v1 and v2, available since LocalStack 3.8. |
78+
| `PROVIDER_OVERRIDE_APIGATEWAY` | `legacy`\|`next_gen` (default)| The [new API Gateway implementation]({{< ref "user-guide/aws/apigateway#new-api-gateway-implementation" >}}) is active by default since LocalStack 4.0. |
7979

8080
### AppSync
8181

@@ -296,10 +296,8 @@ Please consult the [migration guide]({{< ref "user-guide/aws/lambda#migrating-to
296296

297297
| Variable | Example Values | Description |
298298
| - | - | - |
299-
| `S3_DIR` || **Deprecated since 3.0.0** This is only supported for the `legacy_v2` provider. Configure a global parent directory that contains all buckets as sub-directories (`S3_DIR=/path/to/root`) or an individual directory that will get mounted as special bucket names (`S3_DIR=/path/to/root/bucket1:bucket1`). Only available for Localstack Pro.
300299
| `S3_SKIP_SIGNATURE_VALIDATION`| `0` \| `1` (default) | Used to toggle validation of S3 pre-signed URL request signature. Set to `0` to validate. Note that validation can only pass if the `AWS_SECRET_ACCESS_KEY` is set to `test` or if using credentials returned from `STS.AssumeRole` |
301300
| `S3_SKIP_KMS_KEY_VALIDATION` | `0` \| `1` (default) | Used to toggle validation of provided KMS key in S3 operations. |
302-
| `PROVIDER_OVERRIDE_S3` | `legacy_v2` \| `v3` (default) | The new LocalStack-native S3 provider (v3) is active by default since LocalStack 3.0. |
303301

304302
### StepFunctions
305303

@@ -433,6 +431,7 @@ These configurations have already been removed and **won't have any effect** on
433431

434432
| Variable | Removed in | Example Values | Description |
435433
| - | - | - | - |
434+
| `S3_DIR` | 4.0.0 | | `/path/to/root` | This was only supported for the `legacy_v2` provider. Configure a global parent directory that contains all buckets as sub-directories (`S3_DIR=/path/to/root`) or an individual directory that will get mounted as special bucket names (`S3_DIR=/path/to/root/bucket1:bucket1`). Only available for Localstack Pro.
436435
| `<SERVICE>_BACKEND` | 3.0.0 | `http://localhost:7577` | Custom endpoint URL to use for a specific service, where `<SERVICE>` is the uppercase service name. |
437436
| `<SERVICE>_PORT_EXTERNAL` | 3.0.0 | `4567` | Port number to expose a specific service externally . `SQS_PORT_EXTERNAL`, e.g. , is used when returning queue URLs from the SQS service to the client. |
438437
| `ACTIVATE_NEW_POD_CLIENT` | 3.0.0 | `0`\|`1` (default) | Whether to use the new Cloud Pods client leveraging LocalStack container's APIs. |

content/en/user-guide/aws/apigateway/index.md

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -194,14 +194,21 @@ Create a new deployment for the API using the [`CreateDeployment`](https://docs.
194194
{{< command >}}
195195
$ awslocal apigateway create-deployment \
196196
--rest-api-id <REST_API_ID> \
197-
--stage-name test
197+
--stage-name dev
198198
{{< /command >}}
199199

200200
Your API is now ready to be invoked.
201201
You can use [curl](https://curl.se/) or any HTTP REST client to invoke the API endpoint:
202202

203203
{{< command >}}
204-
$ curl -X GET http://localhost:4566/restapis/<REST_API_ID>/test/_user_request_/test
204+
$ curl -X GET http://<REST_API_ID>.execute-api.localhost.localstack.cloud:4566/dev/test
205+
206+
{"message":"Hello World"}
207+
{{< /command >}}
208+
209+
You can also use our [alternative URL format]({{< ref "#alternative-u-r-l-format" >}}) in case of DNS issues:
210+
{{< command >}}
211+
$ curl -X GET http://localhost:4566/_aws/execute-api/<REST_API_ID>/dev/test
205212

206213
{"message":"Hello World"}
207214
{{< /command >}}
@@ -210,9 +217,10 @@ $ curl -X GET http://localhost:4566/restapis/<REST_API_ID>/test/_user_request_/t
210217

211218
{{< callout >}}
212219

213-
Since [3.8.0](https://blog.localstack.cloud/localstack-release-v-3-8-0/#new-api-gateway-provider), LocalStack supports a new API Gateway implementation for both API Gateway v1 (REST API) and v2 (HTTP API).
220+
Since `4.0`, LocalStack uses a new API Gateway implementation for both API Gateway v1 (REST API) and v2 (HTTP API) by default.
221+
222+
It was released in [3.8.0](https://blog.localstack.cloud/localstack-release-v-3-8-0/#new-api-gateway-provider). If you are using LocalStack 4.0 and have been using the new implementation, please remove the [following flag]({{< ref "configuration#api-gateway" >}}) `PROVIDER_OVERRIDE_APIGATEWAY=next_gen` as it is now default.
214223

215-
You can [set the following flag]({{< ref "configuration#api-gateway" >}}) `PROVIDER_OVERRIDE_APIGATEWAY=next_gen` to use the new implementation.
216224
{{< /callout >}}
217225

218226
We're entirely reworked how REST and HTTP APIs are invoked, to closely match the behavior on AWS.
@@ -299,29 +307,30 @@ http://0v1p6q6.execute-api.localhost.localstack.cloud:4566/my/path1
299307

300308
#### Alternative URL format
301309

302-
{{< callout >}}
303-
If you are using the [new API Gateway implementation]({{< ref "#new-api-gateway-implementation" >}}), the `_user_request_` format is deprecated, and you should use the following:
310+
The alternative URL format is an endpoint with the predefined base path `/_aws/execute-api`:
304311

305312
```shell
306313
http://localhost:4566/_aws/execute-api/<apiId>/<stageId>/<path>
307314
```
308315

309-
This new endpoint more closely resembles the recommended URL format, and allows you to use HTTP APIs with a `$default` stage.
310-
{{< /callout >}}
311-
312-
The alternative URL format is an endpoint with the predefined path marker `_user_request_`:
316+
For the example above, the URL would be:
313317

314318
```shell
315-
http://localhost:4566/restapis/<apiId>/<stageId>/_user_request_/<path>
319+
http://localhost:4566/_aws/execute-api/0v1p6q6/local/my/path1
316320
```
317321

318-
For the example above, the URL would be:
322+
This format is sometimes used in case of local DNS issues.
323+
324+
{{< callout >}}
325+
326+
If you are using LocalStack 4.0, the following `_user_request_` format is deprecated, and you should use the format above.
319327

320328
```shell
321-
http://localhost:4566/restapis/0v1p6q6/local/_user_request_/my/path1
329+
http://localhost:4566/restapis/<apiId>/<stageId>/_user_request_/<path>
322330
```
323331

324-
This format is sometimes used in case of local DNS issues.
332+
{{< / callout >}}
333+
325334

326335
### WebSocket APIs (Pro)
327336

0 commit comments

Comments
 (0)