CreateIntermediateTable
Creates an intermediate table in a membership. The intermediate table is owned by the member with the CAN_QUERY ability. To populate the table with results, use PopulateIntermediateTable.
Request Syntax
POST /memberships/membershipIdentifier/intermediateTables HTTP/1.1
Content-type: application/json
{
"description": "string",
"kmsKeyArn": "string",
"name": "string",
"populationAnalysisConfiguration": { ... },
"retentionInDays": number,
"tags": {
"string" : "string"
}
}
URI Request Parameters
The request uses the following URI parameters.
- membershipIdentifier
-
The unique identifier of the membership where the intermediate table is created.
Length Constraints: Fixed length of 36.
Pattern:
[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}Required: Yes
Request Body
The request accepts the following data in JSON format.
- description
-
A description of the intermediate table.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 255.
Pattern:
[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDBFF-\uDC00\uDFFF\t\r\n]*Required: No
- kmsKeyArn
-
The Amazon Resource Name (ARN) of the customer-managed KMS key used to encrypt the intermediate table data.
Type: String
Length Constraints: Minimum length of 20. Maximum length of 2048.
Pattern:
arn:aws:kms:[\w]{2}-[\w]{4,9}-[\d]:[\d]{12}:key/[a-zA-Z0-9-]+Required: No
- name
-
The display name for the intermediate table.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 100.
Pattern:
(?!\s*$)[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDBFF-\uDC00\uDFFF\t]*Required: Yes
- populationAnalysisConfiguration
-
The configuration that defines the analysis used to populate the intermediate table.
Type: PopulationAnalysisConfiguration object
Note: This object is a Union. Only one member of this object can be specified or returned.
Required: Yes
- retentionInDays
-
The number of days to retain populated data versions.
Type: Integer
Valid Range: Minimum value of 1. Maximum value of 365.
Required: No
-
An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.
Type: String to string map
Map Entries: Minimum number of 0 items. Maximum number of 200 items.
Key Length Constraints: Minimum length of 1. Maximum length of 128.
Value Length Constraints: Minimum length of 0. Maximum length of 256.
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"intermediateTable": {
"analysisRuleTypes": [ "string" ],
"arn": "string",
"childResources": [
{
"ownerAccountId": "string",
"resourceId": "string",
"resourceName": "string",
"resourceStatus": "string",
"resourceType": "string"
}
],
"collaborationArn": "string",
"collaborationId": "string",
"createTime": number,
"description": "string",
"id": "string",
"intermediateTableVersion": {
"analysisId": "string",
"analysisType": "string",
"expirationTime": number,
"inheritedConstraints": {
"additionalAnalyses": {
"sources": [
{
"id": "string",
"name": "string",
"sourceAccountId": "string",
"type": "string",
"value": "string"
}
],
"value": "string"
},
"allowedAdditionalAnalyses": {
"sources": [
{
"id": "string",
"name": "string",
"sourceAccountId": "string",
"type": "string",
"value": [ "string" ]
}
],
"value": [ "string" ]
},
"allowedResultReceivers": {
"sources": [
{
"id": "string",
"name": "string",
"sourceAccountId": "string",
"type": "string",
"value": [ "string" ]
}
],
"value": [ "string" ]
},
"disallowedOutputColumns": {
"columnLineage": [
{
"column": "string",
"sourceAccountId": "string",
"sourceColumn": "string",
"sourceId": "string",
"sourceName": "string",
"sourceType": "string"
}
],
"value": [ "string" ]
}
},
"kmsKeyArn": "string",
"parameters": {
"string" : "string"
},
"versionId": "string"
},
"kmsKeyArn": "string",
"membershipArn": "string",
"membershipId": "string",
"name": "string",
"populationAnalysisConfiguration": { ... },
"retentionInDays": number,
"schema": {
"columns": [
{
"name": "string",
"type": "string"
}
]
},
"status": "string",
"statusReason": "string",
"tableDependencies": [
{
"creatorAccountId": "string",
"id": "string",
"name": "string",
"parentType": "string",
"type": "string"
}
],
"updateTime": number
}
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- intermediateTable
-
The intermediate table that was created.
Type: IntermediateTable object
Errors
For information about the errors that are common to all actions, see Common Error Types.
- AccessDeniedException
-
Caller does not have sufficient access to perform this action.
- reason
-
A reason code for the exception.
HTTP Status Code: 403
- ConflictException
-
Updating or deleting a resource can cause an inconsistent state.
- reason
-
A reason code for the exception.
- resourceId
-
The ID of the conflicting resource.
- resourceType
-
The type of the conflicting resource.
HTTP Status Code: 409
- InternalServerException
-
Unexpected error during processing of request.
HTTP Status Code: 500
- ResourceNotFoundException
-
Request references a resource which does not exist.
- resourceId
-
The Id of the missing resource.
- resourceType
-
The type of the missing resource.
HTTP Status Code: 404
- ServiceQuotaExceededException
-
Request denied because service quota has been exceeded.
- quotaName
-
The name of the quota.
- quotaValue
-
The value of the quota.
HTTP Status Code: 402
- ThrottlingException
-
Request was denied due to request throttling.
HTTP Status Code: 429
- ValidationException
-
The input fails to satisfy the specified constraints.
- fieldList
-
Validation errors for specific input parameters.
- reason
-
A reason code for the exception.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: