DescribePipeline SQL Server Example
CREATE PROCEDURE ChilkatSample
AS
BEGIN
DECLARE @hr int
DECLARE @iTmp0 int
DECLARE @sTmp0 nvarchar(max)
-- This example requires the Chilkat API to have been previously unlocked.
-- See Global Unlock Sample for sample code.
DECLARE @rest int
EXEC @hr = sp_OACreate 'Chilkat_9_5_0.Rest', @rest OUT
IF @hr <> 0
BEGIN
PRINT 'Failed to create ActiveX component'
RETURN
END
DECLARE @success int
DECLARE @authAws int
EXEC @hr = sp_OACreate 'Chilkat_9_5_0.AuthAws', @authAws OUT
EXEC sp_OASetProperty @authAws, 'AccessKey', 'AWS_ACCESS_KEY'
EXEC sp_OASetProperty @authAws, 'SecretKey', 'AWS_SECRET_KEY'
-- Don't forget to change the region to your particular region. (Also make the same change in the call to Connect below.)
EXEC sp_OASetProperty @authAws, 'Region', 'us-west-2'
EXEC sp_OASetProperty @authAws, 'ServiceName', 'iotanalytics'
-- SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
EXEC sp_OAMethod @rest, 'SetAuthAws', @success OUT, @authAws
-- URL: https://iotanalytics.us-west-2.amazonaws.com/
-- Use the same region as specified above.
EXEC sp_OAMethod @rest, 'Connect', @success OUT, 'iotanalytics.us-west-2.amazonaws.com', 443, 1, 1
IF @success <> 1
BEGIN
EXEC sp_OAGetProperty @rest, 'ConnectFailReason', @iTmp0 OUT
PRINT 'ConnectFailReason: ' + @iTmp0
EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @rest
EXEC @hr = sp_OADestroy @authAws
RETURN
END
EXEC sp_OAMethod @rest, 'AddHeader', @success OUT, 'Content-Type', 'application/x-amz-json-1.1'
EXEC sp_OAMethod @rest, 'AddHeader', @success OUT, 'X-Amz-Target', 'DescribePipeline'
DECLARE @sbResponseBody int
EXEC @hr = sp_OACreate 'Chilkat_9_5_0.StringBuilder', @sbResponseBody OUT
EXEC sp_OAMethod @rest, 'FullRequestNoBodySb', @success OUT, 'GET', '/pipelines/{pipelineName}', @sbResponseBody
IF @success <> 1
BEGIN
EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @rest
EXEC @hr = sp_OADestroy @authAws
EXEC @hr = sp_OADestroy @sbResponseBody
RETURN
END
DECLARE @respStatusCode int
EXEC sp_OAGetProperty @rest, 'ResponseStatusCode', @respStatusCode OUT
PRINT 'response status code = ' + @respStatusCode
IF @respStatusCode <> 200
BEGIN
PRINT 'Response Header:'
EXEC sp_OAGetProperty @rest, 'ResponseHeader', @sTmp0 OUT
PRINT @sTmp0
PRINT 'Response Body:'
EXEC sp_OAMethod @sbResponseBody, 'GetAsString', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @rest
EXEC @hr = sp_OADestroy @authAws
EXEC @hr = sp_OADestroy @sbResponseBody
RETURN
END
DECLARE @jResp int
EXEC @hr = sp_OACreate 'Chilkat_9_5_0.JsonObject', @jResp OUT
EXEC sp_OAMethod @jResp, 'LoadSb', @success OUT, @sbResponseBody
-- The following code parses the JSON response.
-- A sample JSON response is shown below the sample code.
-- Use this online tool to generate parsing code from sample JSON:
-- Generate Parsing Code from JSON
DECLARE @v_String nvarchar(max)
DECLARE @addAttributesName nvarchar(max)
DECLARE @v_Next nvarchar(max)
DECLARE @ChannelName nvarchar(max)
DECLARE @channelName nvarchar(max)
DECLARE @channelNext nvarchar(max)
DECLARE @DatastoreName nvarchar(max)
DECLARE @datastoreName nvarchar(max)
DECLARE @Attribute nvarchar(max)
DECLARE @deviceRegistryEnrichName nvarchar(max)
DECLARE @deviceRegistryEnrichNext nvarchar(max)
DECLARE @RoleArn nvarchar(max)
DECLARE @ThingName nvarchar(max)
DECLARE @deviceShadowEnrichAttribute nvarchar(max)
DECLARE @deviceShadowEnrichName nvarchar(max)
DECLARE @deviceShadowEnrichNext nvarchar(max)
DECLARE @deviceShadowEnrichRoleArn nvarchar(max)
DECLARE @deviceShadowEnrichThingName nvarchar(max)
DECLARE @Filter nvarchar(max)
DECLARE @filterName nvarchar(max)
DECLARE @filterNext nvarchar(max)
DECLARE @BatchSize int
DECLARE @LambdaName nvarchar(max)
DECLARE @lambdaName nvarchar(max)
DECLARE @lambdaNext nvarchar(max)
DECLARE @mathAttribute nvarchar(max)
DECLARE @Math nvarchar(max)
DECLARE @mathName nvarchar(max)
DECLARE @mathNext nvarchar(max)
DECLARE @removeAttributesName nvarchar(max)
DECLARE @removeAttributesNext nvarchar(max)
DECLARE @selectAttributesName nvarchar(max)
DECLARE @selectAttributesNext nvarchar(max)
DECLARE @j int
DECLARE @count_j int
DECLARE @strVal nvarchar(max)
DECLARE @creationTime int
DECLARE @id nvarchar(max)
DECLARE @status nvarchar(max)
DECLARE @Arn nvarchar(max)
EXEC sp_OAMethod @jResp, 'StringOf', @Arn OUT, 'pipeline.arn'
DECLARE @CreationTime int
EXEC sp_OAMethod @jResp, 'IntOf', @CreationTime OUT, 'pipeline.creationTime'
DECLARE @LastUpdateTime int
EXEC sp_OAMethod @jResp, 'IntOf', @LastUpdateTime OUT, 'pipeline.lastUpdateTime'
DECLARE @Name nvarchar(max)
EXEC sp_OAMethod @jResp, 'StringOf', @Name OUT, 'pipeline.name'
DECLARE @i int
SELECT @i = 0
DECLARE @count_i int
EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_i OUT, 'pipeline.activities'
WHILE @i < @count_i
BEGIN
EXEC sp_OASetProperty @jResp, 'I', @i
EXEC sp_OAMethod @jResp, 'StringOf', @v_String OUT, 'pipeline.activities[i].addAttributes.attributes.string'
EXEC sp_OAMethod @jResp, 'StringOf', @addAttributesName OUT, 'pipeline.activities[i].addAttributes.name'
EXEC sp_OAMethod @jResp, 'StringOf', @v_Next OUT, 'pipeline.activities[i].addAttributes.next'
EXEC sp_OAMethod @jResp, 'StringOf', @ChannelName OUT, 'pipeline.activities[i].channel.channelName'
EXEC sp_OAMethod @jResp, 'StringOf', @channelName OUT, 'pipeline.activities[i].channel.name'
EXEC sp_OAMethod @jResp, 'StringOf', @channelNext OUT, 'pipeline.activities[i].channel.next'
EXEC sp_OAMethod @jResp, 'StringOf', @DatastoreName OUT, 'pipeline.activities[i].datastore.datastoreName'
EXEC sp_OAMethod @jResp, 'StringOf', @datastoreName OUT, 'pipeline.activities[i].datastore.name'
EXEC sp_OAMethod @jResp, 'StringOf', @Attribute OUT, 'pipeline.activities[i].deviceRegistryEnrich.attribute'
EXEC sp_OAMethod @jResp, 'StringOf', @deviceRegistryEnrichName OUT, 'pipeline.activities[i].deviceRegistryEnrich.name'
EXEC sp_OAMethod @jResp, 'StringOf', @deviceRegistryEnrichNext OUT, 'pipeline.activities[i].deviceRegistryEnrich.next'
EXEC sp_OAMethod @jResp, 'StringOf', @RoleArn OUT, 'pipeline.activities[i].deviceRegistryEnrich.roleArn'
EXEC sp_OAMethod @jResp, 'StringOf', @ThingName OUT, 'pipeline.activities[i].deviceRegistryEnrich.thingName'
EXEC sp_OAMethod @jResp, 'StringOf', @deviceShadowEnrichAttribute OUT, 'pipeline.activities[i].deviceShadowEnrich.attribute'
EXEC sp_OAMethod @jResp, 'StringOf', @deviceShadowEnrichName OUT, 'pipeline.activities[i].deviceShadowEnrich.name'
EXEC sp_OAMethod @jResp, 'StringOf', @deviceShadowEnrichNext OUT, 'pipeline.activities[i].deviceShadowEnrich.next'
EXEC sp_OAMethod @jResp, 'StringOf', @deviceShadowEnrichRoleArn OUT, 'pipeline.activities[i].deviceShadowEnrich.roleArn'
EXEC sp_OAMethod @jResp, 'StringOf', @deviceShadowEnrichThingName OUT, 'pipeline.activities[i].deviceShadowEnrich.thingName'
EXEC sp_OAMethod @jResp, 'StringOf', @Filter OUT, 'pipeline.activities[i].filter.filter'
EXEC sp_OAMethod @jResp, 'StringOf', @filterName OUT, 'pipeline.activities[i].filter.name'
EXEC sp_OAMethod @jResp, 'StringOf', @filterNext OUT, 'pipeline.activities[i].filter.next'
EXEC sp_OAMethod @jResp, 'IntOf', @BatchSize OUT, 'pipeline.activities[i].lambda.batchSize'
EXEC sp_OAMethod @jResp, 'StringOf', @LambdaName OUT, 'pipeline.activities[i].lambda.lambdaName'
EXEC sp_OAMethod @jResp, 'StringOf', @lambdaName OUT, 'pipeline.activities[i].lambda.name'
EXEC sp_OAMethod @jResp, 'StringOf', @lambdaNext OUT, 'pipeline.activities[i].lambda.next'
EXEC sp_OAMethod @jResp, 'StringOf', @mathAttribute OUT, 'pipeline.activities[i].math.attribute'
EXEC sp_OAMethod @jResp, 'StringOf', @Math OUT, 'pipeline.activities[i].math.math'
EXEC sp_OAMethod @jResp, 'StringOf', @mathName OUT, 'pipeline.activities[i].math.name'
EXEC sp_OAMethod @jResp, 'StringOf', @mathNext OUT, 'pipeline.activities[i].math.next'
EXEC sp_OAMethod @jResp, 'StringOf', @removeAttributesName OUT, 'pipeline.activities[i].removeAttributes.name'
EXEC sp_OAMethod @jResp, 'StringOf', @removeAttributesNext OUT, 'pipeline.activities[i].removeAttributes.next'
EXEC sp_OAMethod @jResp, 'StringOf', @selectAttributesName OUT, 'pipeline.activities[i].selectAttributes.name'
EXEC sp_OAMethod @jResp, 'StringOf', @selectAttributesNext OUT, 'pipeline.activities[i].selectAttributes.next'
SELECT @j = 0
EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'pipeline.activities[i].removeAttributes.attributes'
WHILE @j < @count_j
BEGIN
EXEC sp_OASetProperty @jResp, 'J', @j
EXEC sp_OAMethod @jResp, 'StringOf', @strVal OUT, 'pipeline.activities[i].removeAttributes.attributes[j]'
SELECT @j = @j + 1
END
SELECT @j = 0
EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'pipeline.activities[i].selectAttributes.attributes'
WHILE @j < @count_j
BEGIN
EXEC sp_OASetProperty @jResp, 'J', @j
EXEC sp_OAMethod @jResp, 'StringOf', @strVal OUT, 'pipeline.activities[i].selectAttributes.attributes[j]'
SELECT @j = @j + 1
END
SELECT @i = @i + 1
END
SELECT @i = 0
EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_i OUT, 'pipeline.reprocessingSummaries'
WHILE @i < @count_i
BEGIN
EXEC sp_OASetProperty @jResp, 'I', @i
EXEC sp_OAMethod @jResp, 'IntOf', @creationTime OUT, 'pipeline.reprocessingSummaries[i].creationTime'
EXEC sp_OAMethod @jResp, 'StringOf', @id OUT, 'pipeline.reprocessingSummaries[i].id'
EXEC sp_OAMethod @jResp, 'StringOf', @status OUT, 'pipeline.reprocessingSummaries[i].status'
SELECT @i = @i + 1
END
-- A sample JSON response body parsed by the above code:
-- {
-- "pipeline": {
-- "activities": [
-- {
-- "addAttributes": {
-- "attributes": {
-- "string": "string"
-- },
-- "name": "string",
-- "next": "string"
-- },
-- "channel": {
-- "channelName": "string",
-- "name": "string",
-- "next": "string"
-- },
-- "datastore": {
-- "datastoreName": "string",
-- "name": "string"
-- },
-- "deviceRegistryEnrich": {
-- "attribute": "string",
-- "name": "string",
-- "next": "string",
-- "roleArn": "string",
-- "thingName": "string"
-- },
-- "deviceShadowEnrich": {
-- "attribute": "string",
-- "name": "string",
-- "next": "string",
-- "roleArn": "string",
-- "thingName": "string"
-- },
-- "filter": {
-- "filter": "string",
-- "name": "string",
-- "next": "string"
-- },
-- "lambda": {
-- "batchSize": number,
-- "lambdaName": "string",
-- "name": "string",
-- "next": "string"
-- },
-- "math": {
-- "attribute": "string",
-- "math": "string",
-- "name": "string",
-- "next": "string"
-- },
-- "removeAttributes": {
-- "attributes": [
-- "string"
-- ],
-- "name": "string",
-- "next": "string"
-- },
-- "selectAttributes": {
-- "attributes": [
-- "string"
-- ],
-- "name": "string",
-- "next": "string"
-- }
-- }
-- ],
-- "arn": "string",
-- "creationTime": number,
-- "lastUpdateTime": number,
-- "name": "string",
-- "reprocessingSummaries": [
-- {
-- "creationTime": number,
-- "id": "string",
-- "status": "string"
-- }
-- ]
-- }
-- }
EXEC @hr = sp_OADestroy @rest
EXEC @hr = sp_OADestroy @authAws
EXEC @hr = sp_OADestroy @sbResponseBody
EXEC @hr = sp_OADestroy @jResp
END
GO