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

Commit 35f6055

Browse files
authored
S3/APIGW: update provider changes and endpoint (#1548)
1 parent d9c2d82 commit 35f6055

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-url-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,11 @@ $ 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).
223+
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.
214224

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

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

300309
#### Alternative URL format
301310

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:
311+
The alternative URL format is an endpoint with the predefined base path `/_aws/execute-api`:
304312

305313
```shell
306314
http://localhost:4566/_aws/execute-api/<apiId>/<stageId>/<path>
307315
```
308316

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_`:
317+
For the example above, the URL would be:
313318

314319
```shell
315-
http://localhost:4566/restapis/<apiId>/<stageId>/_user_request_/<path>
320+
http://localhost:4566/_aws/execute-api/0v1p6q6/local/my/path1
316321
```
317322

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

320329
```shell
321-
http://localhost:4566/restapis/0v1p6q6/local/_user_request_/my/path1
330+
http://localhost:4566/restapis/<apiId>/<stageId>/_user_request_/<path>
322331
```
323332

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

326335
### WebSocket APIs (Pro)
327336

0 commit comments

Comments
 (0)