Create big segment store integration
Create a persistent store integration.
If you are using server-side SDKs, segments synced from external tools and larger list-based segments require a persistent store within your infrastructure. LaunchDarkly keeps the persistent store up to date and consults it during flag evaluation.
You can use either Redis or DynamoDB as your persistent store. When you create a persistent store integration, the fields in the config object in the request vary depending on which persistent store you use.
If you are using Redis to create your persistent store integration, you will need to know:
- Your Redis host
- Your Redis port
- Your Redis username
- Your Redis password
- Whether or not LaunchDarkly should connect using TLS
If you are using DynamoDB to create your persistent store integration, you will need to know:
- Your DynamoDB table name. The table must have the following schema:
- Partition key:
namespace(string) - Sort key:
key(string)
- Partition key:
- Your DynamoDB Amazon Web Services (AWS) region.
- Your AWS role Amazon Resource Name (ARN). This is the role that LaunchDarkly will assume to manage your DynamoDB table.
- The External ID you specified when creating your Amazon Resource Name (ARN).
To learn more, read Segment configuration.
Authorization
ApiKey read, writeIn: header
Scope: read, write
Path Parameters
The project key
stringThe environment key
stringThe integration key, either redis or dynamodb
stringRequest Body
application/json
Whether the integration configuration is active. Default value is false.
The global integration settings, as specified by the formVariables in the manifest.json for this integration.
Tags to associate with the integration
Name to identify the integration
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/v2/integration-capabilities/big-segment-store/string/string/string" \ -H "Content-Type: application/json" \ -d '{ "config": { "optional": "example value for optional formVariables property for sample-integration", "required": "example value for required formVariables property for sample-integration" }, "name": "Example persistent store integration", "on": false, "tags": [ "example-tag" ] }'{ "_links": { "self": { "href": "string", "type": "string" }, "parent": { "href": "string", "type": "string" }, "project": { "href": "string", "type": "string" }, "environment": { "href": "string", "type": "string" } }, "_id": "12ab3c4d5ef1a2345bcde67f", "integrationKey": "redis", "projectKey": "default", "environmentKey": "development", "config": { "property1": null, "property2": null }, "on": true, "tags": [], "name": "Development environment configuration", "version": 1, "_access": { "denied": [ { "action": "string", "reason": { "resources": [ "proj/*:env/*;qa_*:/flag/*" ], "notResources": [ "string" ], "actions": [ "*" ], "notActions": [ "string" ], "effect": "allow", "role_name": "string" } } ], "allowed": [ { "action": "string", "reason": { "resources": [ "proj/*:env/*;qa_*:/flag/*" ], "notResources": [ "string" ], "actions": [ "*" ], "notActions": [ "string" ], "effect": "allow", "role_name": "string" } } ] }, "_status": { "available": true, "potentiallyStale": false, "lastSync": "1717263000000", "lastError": "1714584600000", "errors": [ { "statusCode": 0, "message": "string", "timestamp": 0 } ] }}