internal virtual CreateDeliveryStreamResponse CreateDeliveryStream(CreateDeliveryStreamRequest request) { var marshaller = new CreateDeliveryStreamRequestMarshaller(); var unmarshaller = CreateDeliveryStreamResponseUnmarshaller.Instance; return(Invoke <CreateDeliveryStreamRequest, CreateDeliveryStreamResponse>(request, marshaller, unmarshaller)); }
/// <summary> /// Initiates the asynchronous execution of the CreateDeliveryStream operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateDeliveryStream operation.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// <returns>The task object representing the asynchronous operation.</returns> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/CreateDeliveryStream">REST API Reference for CreateDeliveryStream Operation</seealso> public virtual Task <CreateDeliveryStreamResponse> CreateDeliveryStreamAsync(CreateDeliveryStreamRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new CreateDeliveryStreamRequestMarshaller(); var unmarshaller = CreateDeliveryStreamResponseUnmarshaller.Instance; return(InvokeAsync <CreateDeliveryStreamRequest, CreateDeliveryStreamResponse>(request, marshaller, unmarshaller, cancellationToken)); }
/// <summary> /// Initiates the asynchronous execution of the CreateDeliveryStream operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateDeliveryStream operation on AmazonKinesisFirehoseClient.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateDeliveryStream /// operation.</returns> public IAsyncResult BeginCreateDeliveryStream(CreateDeliveryStreamRequest request, AsyncCallback callback, object state) { var marshaller = new CreateDeliveryStreamRequestMarshaller(); var unmarshaller = CreateDeliveryStreamResponseUnmarshaller.Instance; return(BeginInvoke <CreateDeliveryStreamRequest>(request, marshaller, unmarshaller, callback, state)); }
/// <summary> /// Initiates the asynchronous execution of the CreateDeliveryStream operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateDeliveryStream operation.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// <returns>The task object representing the asynchronous operation.</returns> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/CreateDeliveryStream">REST API Reference for CreateDeliveryStream Operation</seealso> public virtual Task <CreateDeliveryStreamResponse> CreateDeliveryStreamAsync(CreateDeliveryStreamRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateDeliveryStreamRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateDeliveryStreamResponseUnmarshaller.Instance; return(InvokeAsync <CreateDeliveryStreamResponse>(request, options, cancellationToken)); }
internal virtual CreateDeliveryStreamResponse CreateDeliveryStream(CreateDeliveryStreamRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateDeliveryStreamRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateDeliveryStreamResponseUnmarshaller.Instance; return(Invoke <CreateDeliveryStreamResponse>(request, options)); }
/// <summary> /// Initiates the asynchronous execution of the CreateDeliveryStream operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateDeliveryStream operation on AmazonKinesisFirehoseClient.</param> /// <param name="callback">An Action delegate that is invoked when the operation completes.</param> /// <param name="options">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/CreateDeliveryStream">REST API Reference for CreateDeliveryStream Operation</seealso> public virtual void CreateDeliveryStreamAsync(CreateDeliveryStreamRequest request, AmazonServiceCallback <CreateDeliveryStreamRequest, CreateDeliveryStreamResponse> callback, AsyncOptions options = null) { options = options == null?new AsyncOptions():options; var marshaller = CreateDeliveryStreamRequestMarshaller.Instance; var unmarshaller = CreateDeliveryStreamResponseUnmarshaller.Instance; Action <AmazonWebServiceRequest, AmazonWebServiceResponse, Exception, AsyncOptions> callbackHelper = null; if (callback != null) { callbackHelper = (AmazonWebServiceRequest req, AmazonWebServiceResponse res, Exception ex, AsyncOptions ao) => { AmazonServiceResult <CreateDeliveryStreamRequest, CreateDeliveryStreamResponse> responseObject = new AmazonServiceResult <CreateDeliveryStreamRequest, CreateDeliveryStreamResponse>((CreateDeliveryStreamRequest)req, (CreateDeliveryStreamResponse)res, ex, ao.State); callback(responseObject); } } ; BeginInvoke <CreateDeliveryStreamRequest>(request, marshaller, unmarshaller, options, callbackHelper); }
/// <summary> /// Kinesis Firehoseへデータを書き込む関数です /// ローカル開発環境として localStack を使用しています /// </summary> /// <param name="input"></param> /// <param name="context"></param> /// <returns></returns> public async Task<string> FunctionHandler(FunctionInput input, ILambdaContext context) { #region ローカル開発用のコード // S3 の作成 var creds = new BasicAWSCredentials("dummy", "dummy"); var s3Client = new AmazonS3Client(creds, new AmazonS3Config { ServiceURL = "http://localhost:4572", UseHttp = true, ForcePathStyle = true, AuthenticationRegion = "us-east-1", }); if (!await AmazonS3Util.DoesS3BucketExistAsync(s3Client, _bucket)) { await s3Client.PutBucketAsync(new PutBucketRequest { BucketName = _bucket, UseClientRegion = true }); } // Kinesis Firehose の作成 var request = new CreateDeliveryStreamRequest { DeliveryStreamName = _deliveryStream, ExtendedS3DestinationConfiguration = new ExtendedS3DestinationConfiguration { BucketARN = $"arn:aws:s3:::{_bucket}", Prefix = "firehose/", RoleARN = "arn:aws:iam::dummy:role/dummy", } }; var client = new AmazonKinesisFirehoseClient(creds, new AmazonKinesisFirehoseConfig { ServiceURL = _serviceURL, }); var response = await client.ListDeliveryStreamsAsync(); if (!response.DeliveryStreamNames.Any(_ => _ == _deliveryStream)) { await client.CreateDeliveryStreamAsync(request); } #endregion var data = JsonConvert.SerializeObject(input); var record = new Record() { Data = new MemoryStream(Encoding.UTF8.GetBytes(data)) }; // Kinesis Firehose に対してデータを書き込む var res = await client.PutRecordAsync(_deliveryStream, record); if (res.HttpStatusCode == HttpStatusCode.OK) { return $"RecordId: {res.RecordId}"; } else { return "Error"; } }